Week12
確定完要使用貪食蛇作為主題,在網路上找了一推資料
最後找到一個之前有人做過的貪食蛇程式碼作為主體
https://github.com/paper/processing-snake/blob/master/snake/snake.pde
他寫出
1.執行程式就直接開始遊戲
2.劃出蛇、食物
3.吃到紅點蛇會加長並分數會增加
4.蛇碰到自己身體會死掉
5.蛇碰到邊緣會死掉
6.進入死亡介面有你這場的分數和歷史上最高的分數
7.進入死亡介面按R重新開始新的一局
我就先以第一點改進
執行程式後不是直接開始遊戲,而是進入開始遊戲的介面,讓玩家去按方向鍵來開始遊戲
我就先去問ChatGPT,他就跟我說先新增一個布林值gameStared來判斷遊戲是否開始
void draw()
{
...
image(img,0,0);
rectMode(CENTER);
if (!start.isPlaying()) {
start.play();//這是音樂
}
void keyPressed() {
if (!gameStarted) {
gameStarted = true; // 遊戲開始
// 初始化遊戲狀態,生成蛇和食物等
}
if (start.isPlaying() ) {
start.stop();//這是音樂
}
}
第三點
食物:我之後為了調整難度,吃到食物後,增加幀率來增加蛇的速度,來改變遊戲的難度
但是我覺得畫面上太單調了,所以增加了一些障礙物,只要蛇一吃到一個食物就增加一個障礙物,之後我有覺得應該隨著時間增加難度,所以我以獲得多少score來增加吃到一個食物,增加不只一個障礙物。
// 如果蛇吃了食物
if( snakeHeadX == foodX && snakeHeadY == foodY ){
...
frameRate(frame+(score/5));
}
我還有在遊戲開始後的介面增加現在所獲得的分數和難易度顯示
難易度是以一次增加幾個的障礙物來計算
沒有留言:
張貼留言