貪吃蛇原始碼(C語言版)

2021-10-18 03:53:24 字數 1913 閱讀 3366

貪吃蛇其實就是實現以下幾步——

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...