40285003 / E Java遊戲設計 (二年級) 週一 123 管410 (上課時間: 101, 102, 103; 即 08:20~11:10) 請注意: 學校規定必須點名! 08:29之後才到記曠課1小時; 09:29之後才到記曠課2小時; 10:29之後才到記曠課3小時 | ||||||||||||||||
2016/11/14 第10週練習 遊戲一定要用到的重要概念: 執行緒 Thread thread 怎麼念 ? Rope 粗繩、纜繩 rope 怎麼念 ? Process 行程、過程、步驟 process 怎麼念 ? OS 作業系統、操作系統 OS 怎麼念 ? Operating System 作業系統、操作系統 Operating System 怎麼念 ? 今日練習的重點: * 增加飛來飛去的飛碟(要用到 Thread)! (0) 點這抓week210.jar (含有原始檔案)以便練習修改 (1)修改套件(Package)名稱與類別(Class)名稱, 並找到 "2012" 改為 "2016": 把剛抓的week210.jar 解壓縮後, 會看到目錄 mgsyy; 開啟Eclipse, 建立新專案, 把 mgsyy 目錄拖拉到專案的 src 目錄, 立即可以測試看看, 確定專案是正確可以執行的! 請把 package mgsyy 改為 package mgd10; 表示第10週, 且本系名稱簡寫已改為 MGD; 類別名稱 Tgg210 請改用 Prog10 (注意 Rename 時出現小窗中的四個選項都要打勾)! 還有, 執行起來畫面左上角的 2012 必須改為 2016 才可準備抓畫面! 今天要繳交的第一張圖片就是你用 Eclipse 完成package與 class 修改時的畫面(要讓我看到改正的程式碼)! (2)畫面要有你的學號與姓名, 把你中文姓名放在學號下方: 這次改為都放在右下角上來一些些, 且要分兩列, 姓名在學號下方 ! (這需要用到 getHeight( ) 與 getWidth( ) 函數取得畫面高與寬) (3)這次按鈕對調不用做 :-) 但期末考還要再考上面某按鈕與下面某按鈕對調, 建議自己多練練習並看懂 ! (4)按 J 會讓一些小三往上跳也不必做了 ! (但建議有空就多多研究一下, 我們就是用"Thread 執行緒"實現這功能的 !!) (因為, 不但可讓你對Thread 執行緒更了解, 還有, 期末考要變化一下再考喔 !) (5)數字時鐘改底色要做, 任意顏色你決定, 但數字要清楚看得見 !! 這很簡單, 一定要做, 不然會扣分 :-( 再次提醒: 數字時鐘是一個獨立的元件!) (6)把版本改為 2.10, 並新增一個按鈕 "我該得幾分"(對啦,期中考做過的, 但期末考還要再考!!) 點了該按鈕則畫面當然要顯示你該有的分數, 且該按鈕變成 "知道啦!", 點了該 "知道啦!" 之後, 該按鈕的字變回 "我該得幾分", 且畫面回到遊戲畫面 ! 如果你自認現在已經比期中考時更懂一些, 可以要求更高分, 但請在這次簽到文章一開始寫兩三句簡單理由 ! 這項還不會做的請點這之前給過的的提示! 這步驟做好之後, 執行並玩大約 35 秒, 點按 "我該得幾分", 抓下畫面, 這是今天要繳交的第 2 張畫面 ! 然後, 點按已經變成 "知道啦!" 的按鈕, 立即抓下畫面, 這是今天要繳交的第 3 張畫面 ! (7)新增加入會在螢幕上左右跑來跑去的 "飛碟", 這是 Thread(執行緒) 這重要概念的應用 ! 任何要"同時"做的事情就必須使用 Thread 執行緒 來做; 還有, 該 Thread 通常只負責物件在記憶體內部運作; 把畫面畫出來的工作通常仍由負責使用者介面的 UI thread 來做 !! 這很簡單, 在把記憶體內資料更新之後, 只要叫用 repaint( ) 使其跳入 update( )轉跳 paint( ) 裡面去把圖畫到螢幕即可!! 詳細的做法稍後給提示 ! 做好這步驟之後, 再次執行遊戲, 玩到明顯看到一些 "飛碟" 時用 ALT_PrintScr 抓下畫面, 這是今天要繳交的第 4 張畫面 ! (8)準備繳交資料! 改好之後(不論改多少)記得要做出可執行.jar檔(注意要含有.java原始碼!), (Hint: 除了用 CMD 命令窗方法之外, 也可以先在 Eclipse 匯出可執行的 .jar 檔, 然後把專案內那些.java檔都拖拉複製到硬碟然後利用 7-Zip併入可執行的.jar檔案) (不過我還是建議用開 CMD 命令窗, 然後用 cd, javac, jar 等命令直接做的方法比較實在 :-) 還有, 請把該壓縮檔案命名為 你學號P10.jar 注意裡面要有改好的原始碼, 當然也要可以執行, 也可以當作 Applet 搭配網頁 ! 如果要上傳到 https:// 的網站 (例如 sites.google.com), 則要記得簽署(sign), 還不知道如何用 jarsigner 簽署的請看之前說明 ! (往下捲有打好 keytool 與 jarsigner 命令可以複製貼上使用) 記得要繳交專案壓縮檔 你學號P10.jar檔案以及抓下的至少四張畫面, 除了要夾檔在簽到文章 ,也要在簽到文章內由上而下看得到 ! (9a)加分;有做這加分題的請在簽到區一開始寫幾句話邀功 ! 複製並修改你的 .html 檔案(原來的.java檔其實就是 HTML檔案), 在你 HTML 網頁內, 前面一開始要用 <Applet ... >指向你上傳的 .jar 檔案, 然後當然還要把 .html 檔案夾檔到你這週的簽到文章! 請注意, Applet 是沒辦法在簽到文章內顯示的, 必須獨立寫一個 HTML 檔案才可以 !! 再次提醒, 這項加分題以後在期末考一定要做, 期末考時如果沒用 HTML 指向 .jar 檔當作 Applet, 則實作題分數減半 ! (9b)也是加分;有做這加分題的, 也是請在簽到區一開始寫幾句話邀功 ! 稍微修改所給的執行緒控管飛碟的程式碼中某些參數, 使得畫面中容許最多58個飛碟(原先18個), 產生飛碟的機會也要增多(原先 15%), 移動速度要變快(建議 0.08 秒, 原先 0.28秒), 出現的範圍要擴大(原先 88, 建議改 588); 然後啟動之後玩到出現圖像式的小三(開始玩是文字模式), 抓下畫面, 並須夾檔顯示, 要在簽到文章看得見! 有做加分題的, 記得在簽到文章一開始要寫幾句話邀功 !! 點這抓week210.jar (含有原始檔案)以便練習修改 (10)複習: 關於用 CMD 命令窗做 打包可執行的 .jar 檔與簽章可以參考以下兩圖片: ** 假設 package mgsyy ** 製作印章 gggyyy keytool -genkey -alias gggyyy ** 打包到 week210.jar中: jar cvfe week210.jar 啟動類別名 mgsyy ( 我的 啟動類別名 是 mgsyy.Tgg210 ) ** 用印章 gggyyy 簽署 jarsigner week210.jar gggyyy 點這抓week210.jar (含有原始檔案)以便練習修改 |