此為109學年上學期期末報告,利用學期所學的C++程式語言製作「西洋棋」對戰。作品自期中開始準備,每次的上課內容都與西洋棋專題有所關聯,當中也參與了課後加強班以鞏固程式語言基礎,同時也增進了邏輯、解決問題的能力及多方思考。
進行專題的過程中遇到的困難不少,像是對於遊戲規則不熟因為先前從未下過西洋棋、程式語言的熟練度不足以至於需要花費較多的時間鑽研和發生程式碼錯誤卻又不知道如何處裡等等。從失敗中成長,每一次的失敗都是成長的機會,儘管挫折重重,但透過自行上網、查找書籍或是向同學請教,困難逐步排除,學習習慣變得主動也更有效果。
程式碼
首先,利用if判斷目前已方是白旗if==1或是黑旗if==2
if / else if 用來移動棋子:
if (board[][] ==id ) 若[][]位置上為某棋
srcX= ; (原始位置X值)
srcY= ; (原始位置Y值)
destX= ; (目標位置X值)
destY= ; (目標位置Y值)
已方白棋,判斷目標位置是否有黑棋:
黑棋id為11~16,故id/10為1 else if (board[][] == id && board[0][0] / 10 == 1)
已方黑棋,判斷目標位置是否有白棋:
白棋id為1~6,故id/10為0且/10餘數不等於1 else if (board[][] == id && board[][] / 10 == 0 && board[][] % 10 != 0)