貪吃蛇其實就是實現以下幾步——
1:蛇的運動(通過「畫頭擦尾」來達到蛇移動的視覺效果)
2:生成食物
3:蛇吃食物(實現「畫頭不擦尾」)
4:遊戲結束判斷(也就是蛇除了食物,其餘東西都不能碰)
#include
#include
#include
#include
#include
#define width 60
#define hight 25
#define snakesize 200
//蛇身的最長長度
int key=72;
//初始化蛇的運動方向,向上
int changeflag=1;
//用來標識是否生成食物,1表示蛇還沒吃到食物,0表示吃到食物
int speed=0;
//時間延遲
struct
snake;
struct
food;
void
gotoxy
(int x,
int y)
//呼叫windows的api函式,可以在控制台的指定位置直接操作,這裡可暫時不用深究
//■○
void
drawmap()
}}//列印蛇頭
snake.len=3;
snake.x[0]
=width/2;
snake.y[0]
=hight/2;
gotoxy
(snake.x[0]
,snake.y[0]
);printf
("■");
//列印蛇身
for(
int i=
1;i)//初始化食物的位置
food.x=20;
food.y=20;
gotoxy
(food.x,food.y)
;printf
("○");
}/**控制台按鍵所代表的數字
*「↑」:72
*「↓」:80
*「←」:75
*「→」:77
*/void
snake_move()
//按鍵處理函式
if(changeflag==1)
//還沒吃到食物,把尾巴擦掉
for(
int i=snake.len-
1;i>
0;i--)if
(history_key==
72&&key==
80) key=72;
if(history_key==
80&&key==
72) key=80;
if(history_key==
75&&key==
77) key=75;
if(history_key==
77&&key==
75) key=77;
switch
(key)
gotoxy
(snake.x[0]
,snake.y[0]
);printf
("■");
gotoxy(0
,0);
changeflag=1;
}void
creatfood()
if(food.x%2==
0)break
;//符合要求,退出迴圈
}gotoxy
(food.x,food.y)
;printf
("○");
}}bool gameover()
return true;
}int
main()
return0;
}
貪吃蛇C語言原始碼 c
include include include include include 方向鍵的ascll值 上72,左75,右77,下80 背景顏色的 0 黑色 1藍色 2 綠色 3湖藍色 4紅色 5紫色 6黃色 7白色 8灰色 9淡藍色 改變當前游標方塊的背景顏色和字型顏色 void backgroun...
打造C語言版貪吃蛇(上)
學了程式設計後難免會有些手癢,於是飢渴難耐的我瞄上了小學的經典記憶 貪吃蛇。下面我就遊戲的設計來逐步講解我打造c語言版貪吃蛇的過程。這是乙個系列的文章,共三篇,第一篇講遊戲的主體設計,第二篇就設計的細節及具體實現給出講解,第三篇給出簡易遊戲ai的設計。遊戲中用到了windows的庫,只保證能在win...
貪吃蛇原始碼
去年五一寫的乙個貪吃蛇遊戲,在tc3下執行成功,過幾天加點注釋 大家先湊和看吧.hoho.include include include include include include define vk esc 0x11b define vk up 0x4800 define vk down 0x...