無聊,分析了乙個用c語言寫的貪食蛇的程式。
寫的非常簡練,就是函式的名字起得不是很好。
#include #include #define kuan 20 //地圖的大小
int iz[kuan][kuan]; //地圖
struct _jiedian //蛇的結點位置,使用鍊錶結構來儲存蛇身上各結點的位置
;point ptshiwu; //食物的位置
struct _she
she; //蛇的結構體
//初始化函式,用來初始化蛇的位置和移動方向
//以及隨機產生食物的位置
void chushihua() //在main中呼叫
void pr() //在move中呼叫,pr是print的縮寫,用來畫圖的
iz[p->pt.y][p->pt.x]=1; //標記蛇頭的新位置
she.shewei->pnext=p; //加入蛇的尾部
she.shewei=p; //作為新的蛇尾
iz[ptshiwu.y][ptshiwu.x]=1; //食物的位置變成了蛇的身體
ptshiwu.x=rand()%kuan; //生成新的食物位置
ptshiwu.y=rand()%kuan;
iz[ptshiwu.y][ptshiwu.x]=2; //在地圖上標記食物的位置
}//蛇的移動
//這裡的蛇頭其實是鍊錶的頭部,實際是蛇的尾部,鍊錶是從蛇的尾部指向蛇頭部的
void move() //在main中呼叫
she.shewei->pnext=she.shetou; //將新走的一步結點加入鍊錶尾部
she.shewei=she.shetou; //產生新的鍊錶尾部
if(she.shetou->pnext!=null)
she.shetou=she.shetou->pnext; //重新指回鍊錶頭部
p1->pnext=null; //鍊錶尾的指標清空
if(iz[she.shewei->pt.y][she.shewei->pt.x]==0) //地圖上新增蛇鍊錶尾的位置,也就是新走的一步產生的蛇的身體
iz[she.shewei->pt.y][she.shewei->pt.x]=1;
shechishi(); //蛇吃食物
pr(); //列印地圖
}void main()
}
貪食蛇程式
define n 200 include include include define left 0x4b00 define right 0x4d00 define down 0x5000 define up 0x4800 define esc 0x011b int i,key int score ...
貪食蛇設計
為什麼叫能走蛇 當我剛知道自己要寫一條這樣的蛇時,我的心情是十分複雜的,之所以叫這個名字,是因為這條蛇只有乙個功能,即聽從玩家的命令,在迷宮內四處走動。怎麼寫出能走蛇 那這條靈活 其實很笨拙 的蛇是如何誕生出世的呢?先寫乙個總控偽 出來,採用自頂向下的思想,一步一步解決具體檔案。頭部如下 一點小總結...
簡單的貪食蛇
先分析有哪些物件 蛇 屬性 節點,長度,顏色,運動的方向,生長的標記。方法 構造一條蛇,移動,改變方向。食物 屬性 顏色,位置 橫縱座標 方法 初始化乙個食物,繪製 網格 屬性 行,列,格仔大小,背景的顏色。方法 初始化網格 遊戲 屬性 蛇,食物,網格,蛇的移動速度,視窗,畫布,繪畫物件。方法 初始...