3D五子棋 學生:何承祐 學號:602415011
Outline 遊戲介紹 遊戲方法 程式流程 程式說明 Feature Work 心得 Demo
遊戲方法 1.以opengl的座標位置,繪製出棋盤 2.中心的紅框可任意的在棋盤座 標範圍內移動,做為下黑白棋 的依據。 3.藉由紅框下過的黑白棋分別紀 錄位置,根據這些資訊來判斷 五子連線。 4.本project提供重新開始、悔棋 、視角調整的功能,並判斷有 黑白棋先後順續下棋之分。 0 31 62 93 124 155 186 217 248 279 310 341 373 403 403 372 341 310 279 248 217 186 155 124 93 62 31
程式流程 此行是button 紅框移動 (上下左右) 確認下棋且紀錄 判斷連線 返回開始 在View1的選單上可任意調整視角 開始 繪製棋盤 重新開始 清除下棋 所有紀錄 悔棋 清除黑白棋 上一步紀錄 此行是button
程式說明(1) 確認下棋並記錄下棋次數
程式說明(2) 視角調整
程式說明(3) 判斷重新開始與繪製紅框
程式說明(4) 判斷五子連線
程式說明(5) 按鈕事件 下黑棋 下白棋 控制紅框下棋位置 悔棋 重新開始 調整視角位置 下拉選單view1才能使用此功能 視角選擇 離開
Future Work 1.悔棋功能部分,還無法清除判斷五子連線的記錄,這地方比較可惜的部分,如果能解決這個問題,五子棋的功能就是完整的功能。 2.將來有可能加入打光的部分,使五子棋整體感覺更有立體的效果。
心得 以前有寫過五子棋、貪食蛇相關的程式,不過它是以Verilog C寫出來的,而且與我現在做的五子棋使用opengl是不一樣的程式方法,不同的是, Verilog 使用的是掃瞄棋盤方式來進行,比較耗時,必須針對每個座標判斷是否有下,但是opengl採用的是每下一步棋,程式多執行一個迴圈,效率與速度在短時間內可以呈現,在這個地方碰到許多困難,但換個方式重新再想的時候,就能解決問題。 藉由期末專題作業,與之前學過的東西與現在學的opengl和FLTK的操作介面,才完成此作業,感謝老師上課教導opengl的所有課程、計算機攝影、影像處理與電腦視覺這些方面的領域收穫特別多。
Demo