貪食蛇的程式

2021-06-09 23:17:51 字數 1529 閱讀 8513

無聊,分析了乙個用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 ...

貪食蛇設計

為什麼叫能走蛇 當我剛知道自己要寫一條這樣的蛇時,我的心情是十分複雜的,之所以叫這個名字,是因為這條蛇只有乙個功能,即聽從玩家的命令,在迷宮內四處走動。怎麼寫出能走蛇 那這條靈活 其實很笨拙 的蛇是如何誕生出世的呢?先寫乙個總控偽 出來,採用自頂向下的思想,一步一步解決具體檔案。頭部如下 一點小總結...

簡單的貪食蛇

先分析有哪些物件 蛇 屬性 節點,長度,顏色,運動的方向,生長的標記。方法 構造一條蛇,移動,改變方向。食物 屬性 顏色,位置 橫縱座標 方法 初始化乙個食物,繪製 網格 屬性 行,列,格仔大小,背景的顏色。方法 初始化網格 遊戲 屬性 蛇,食物,網格,蛇的移動速度,視窗,畫布,繪畫物件。方法 初始...