這遊戲前一段時間傳的很火,前幾天早上實在太無聊了,就決定把這遊戲自己也寫乙個。
前後寫了乙個多小時吧,大概300行左右,沒什麼複雜演算法,不過實在懶得去優化了,但估計優化完能控制在200行以下,有興趣的朋友可以自己優化一下。
說明:我一開始玩的是ios app版的trhees,後來才玩的2048,兩者在滑動的規則上有些區別,本人這個版本是這兩者的結合。
最後,祝試玩愉快!
介面醜陋,求不笑。
以下是源**:
複製** **如下:
/*by reason*/
#include
#include
#include
#include
#include
#include //為了讀取方向鍵
#include
using namespace std;
//srand( (unsigned)time( null ) ); //隨機數種子 不能用在這裡
int pane[4][4]; //棋盤
int n=1; //2的n次方
void showpane() //顯示棋盤
} }}void newgame() //開始遊戲
int if2n(int x) //判斷x是否是2的n次方
} return flag;
}int upmove() //上移
} return flag;
}int downmove() //下移
} return flag;
}int leftmove() //左移
} return flag;
}int rightmove() //右移
} return flag;
}int testup() //能否上移測試
} return flag;
}int testdown() //測試能否下移
} return flag;
}int testleft() //測試能否左移
} return flag;
}int testright() //測試能否右移
} return flag;
}int panemax() //棋盤最大數
int ifwin() //判斷是否勝利
return flag;
}int ifgameover() //判斷是否遊戲結束
return flag;
}void addnewnumberup() //上移後新增新數
}void addnewnumberdown() //下移後新增新數
}void addnewnumberleft() //左移後新增新數
}void addnewnumberright() //右移後新增新數
}int getdirection() //讀取方向
} while (ret == 0);
return ret;
}int main() //主函式
break;
case 4:
if(testdown()==1)
break;
case 1:
if(testleft()==1)
break;
case 3:
if(testright()==1)
break;
default:
break;} }
cout>makesure;
while(makesure!=1&&makesure!=0)fruhaolysg
}cout
return 0;
}
本文標題: c++ 實現2048遊戲示例
本文位址:
C 實現2048小遊戲
1 define crt secure no warnings 去掉編譯器內部擴增問題 2 include3 include4 include5 include 6 include7 include8 include 9 include10 include11 include12 using nam...
C 自實現2048小遊戲
include include using namespace std const int n 5 地圖為4 4 int map n n 存圖 inline void generate rand 在隨機位置產生2或4 map x y rand 2?2 4 inline void build star...
C語言 2048遊戲
二維陣列 include include include inttest int a 4 if a i j 2048 if b 1 if t 0 宣告乙個 區域性變數 如果沒有初始化 區域性變數的值不確定 所以陣列a裡面的元素 也是不確定的值 陣列的初始化 intmain void int i 0,...