壹直以來c++編程開發都是很少使用在遊戲開發項目中的,所以今天我們就壹起來了解壹下,當使用c++編程技術開發的話,都有哪些方法是可以實現的。
二維數組遍歷,C++基本數據類型,string類,控制結構,函數。
本方法不涉及指針以及面向對象思想,所以可作為剛入門C++的新人的壹個小project。
實現思路
1.背景
遊戲的背景即壹個4*4的二維數組,通過每次運動中二維數組中值的變化以及數字的位置的變化,完成該遊戲。
2.隨機數字及位置
遊戲的開始階段需要隨機出兩個數字,之後每次移動都需要在空白處隨機出壹個新的數字(2/4)。
先隨機得到壹個空白處(即二維數組等於0),在算法方面做了優化,先由系統隨意選擇50次,若沒能找到空白處,則手動找到壹個位置,可壹定程度地加快位置隨機的速度。
在0~1之間任意取值,如果小於0.5即隨機得到2,反之隨機得到4,確定出現2和4的可能性相同。
3.運動算法
四個方向上的運動大致相同,只不過在臨界處有細微區別,下面以向左移動進行解釋。
對每個物體進行判斷,在第row排,IT培訓發現從col1到col2的範圍內是否有障礙物。
C++版本意在復習基本遊戲算法,熟悉C++語法,並沒有在細節方面考慮,比如沒有添加遊戲結束的判定等。