C語言乙個簡單的貪吃蛇程式

2021-08-09 07:19:38 字數 1971 閱讀 5564

這是很早以前寫的.好像還是有問題,"食物"的出現有可能跟牆壁重疊,懶得改啦

#include

#include

#include

#include

#include

using namespace std;

const int hall=20;

const int level=300;

const char t='#';

char hall[hall][hall]=;//牆壁

bool ifgameover(int,int);

void gameover();

class snake//蛇結構

*phead,*ptail; //蛇頭蛇尾

int snake::get_x()

int snake::get_y()

void snake::change(int a,int b)

int snake::add_head(int a,int b)

}void snake::delete_tail()

void snake::draw(int a)

class food//食物

;void food::getfood()

hall[x][y]='$';

}int food::getfood_x()

int food::getfood_y()

food::food()

class start//初始化

;void start::draw()

cout

}void start::draw1()

class moving

;void moving::change_point(int n,char a) //n==0沒有按鍵 n==1有按鍵輸入

else gameover();

break;

case 's':

if(phead->add_head(phead->get_x()+1,phead->get_y())==1){}

else gameover();

break;

case 'a':

if(phead->add_head(phead->get_x(),phead->get_y()-1)==1){}

else gameover();

break;

case 'd':

if(phead->add_head(phead->get_x(),phead->get_y()+1)==1){}

else gameover();

break;

}ptail->delete_tail();

}if(n==1)

else

gameover();

}else if(a=='s' && point!='w')

else

gameover();

}else if(a=='a' && point!='d')

else

gameover();

}else if(a=='d' && point!='a')

else

gameover();

}else

change_point(0,1);

}if(n==2)

else if(a=='s' && point!='w')

else if(a=='a' && point!='d')

else if(a=='d' && point!='a')

else}}

}bool moving::over()

void gameover()

bool ifgameover(int a,int b)

int main()

if(kbhit()==0)

else

t.draw();

if(r.over()==0)

sleep(level);}}

c語言寫了乙個貪吃蛇

很簡單的 可能存在一些bug 大牛不要嘲笑 include stdafx.h include include head.h include include int x 1,y 1,m 0 m為蛇的長度 n為食物個數 int nx 1,ny 1,n 0 int chengji 0 void 遊戲開始 ...

C 簡單貪吃蛇

一定要自己定義set level view score 等函式,main 函式中主要運用了函式指標來縮短 其中忽略了必要的 include標頭檔案和using指示 如 using namespace std 請自行補充。我的想法是有 兩個線性表 和乙個字串 一 定義第乙個線性表的 片段如下 int ...

C 貪吃蛇程式

方向控制表 dirdirect dir 行進方向 可轉的方向0上 左右1下左右 2左上下3 右上下 include include include include include include include using namespace std int s 12,d 12,hard 3 dir...