「醜陋」的貪吃蛇

2021-08-13 23:46:21 字數 926 閱讀 6742

貪吃蛇作為初學語言的程式設計師來說是,個不錯的練手專案,不過還是需要一定的基礎的,而作為乙個從沒寫過專案的小白來說,寫這個貪吃蛇可謂難於上青天。

首先,是**塊與塊之間的聯絡:

void game_begin()}}

很多時候,是知道這個程式需要什麼函式去實現功能的,比如生成食物,生成地圖,蛇的移動及資料記錄等等,然後當這麼多函式都寫出來的時候,我發現我沒能有效的結合這麼多函式,嘗試了好多次才終於結合為乙個整體。

其次,是蛇吃到食物後長度的變化問題:

我第一次嘗試的時候,蛇吃到食物後記錄的長度是會+1但要在下一次移動的時候才會顯示,那麼,怎麼才能改進這步驟呢?

void check_snake()

}void snake_move()

switch(direct)

check_snake();

reset_map();

}

如第乙個**片能看到的,我是用snake_move->check_snake->sholew_map 調整了函式的順序來使長度的變化能馬上顯示出來

,而為了去得到這個資料,我在一開始的資料儲存的時候就額外的輸出len+1個元素,如果吃到食物,第len+1個元素就輸出x否則輸出空格。

在編寫過程中我還遇到如何更新蛇的資料,一開始我設想用迴圈從i=0到i=len-1,但發現不行,必須如下才能實現:

void snake_move()

做完種種步驟,基本上蛇就能動了,因為我最初想法只是為了做個貪吃蛇,所以我是用了在玩家不輸入的情況下蛇自動移動,所以還是挺好玩的。感覺做的不錯,只用了144行,下次繼續努力。

貪吃蛇遊戲

貪吃蛇遊戲 結構化程式設計 c語言程式設計 重要的的是結構化的程式設計思想 include include include include include include define field width 300 就做20個格仔的 define field height 300 define f...

貪吃蛇(改進)

該程式分成3個檔案 第乙個檔案 fang.cs using system using system.collections.generic using system.text using system.windows.forms using system.drawing namespace snak...

貪吃蛇遊戲

include include include include include 使用當前時間做種子 enum dir 列舉型別enum dir 圍牆 class fencef 定義物件 畫框框 void fence initfence 顯示框框 void fence outputf int snak...