控制台版貪吃蛇

2021-06-18 17:37:34 字數 2225 閱讀 1664

#include

#include

#include

#include

#include

//地圖大小

#define map_size

20//全域性螢幕輸出快取區控制代碼

handle g_houtput;

//地圖屬性

struct mapnode_s

;nodetype_e type;

};//全域性地圖資料

mapnode_s g_map[map_size][map_size];

//蛇屬性

struct snake_s

;struct snakenode

;dir_e

dir;

snakenode

*head;

snakenode

*tail;

bool

isdie;

inteat;

};//全域性蛇變數

snake_s

g_snake;

//蛇移動

void move();

//清空蛇

void deletesnake();

//蛇移動

void move();

//全域性初始化

void allinit();

//全域性解除安裝

void alluninit();

//設定游標位置函式

void pos(short x, short y);

//地圖初始化

void initmap();

//列印地圖

void printall();

//遊戲迴圈

void gameloop();

//重新整理乙個食物

void randpushfood();

int main()

void allinit()

void alluninit()

void pos(short x, short y)

void initmap()

randpushfood();

}void printall()

else if(g_map[i][j].type == mapnode_s::food)

else if(g_map[i][j].type == mapnode_s::snake)

else if(g_map[i][j].type == mapnode_s::nothing)

}std::printf("\n");

}pos(0, map_size);

std::printf("吃了:%d\n", g_snake.eat);

}void gameloop()

sleep(500);

printall();}}

void deletesnake()

}void move()

//判斷死亡

if(it.y < 0 || it.y >= map_size || it.x < 0 || it.x >= map_size || g_map[it.y][it.x].type == mapnode_s::wall || g_map[it.y][it.x].type == mapnode_s::snake)

//判斷是否是食物

else if(g_map[it.y][it.x].type == mapnode_s::food)

//普通移動

else

it2 = g_snake.tail;

while(true)

else

it2 = it2->last;

}g_map[it.y][it.x].type = mapnode_s::snake;

g_snake.head->x = it.x;

g_snake.head->y = it.y;}}

void randpushfood()

;randnode_s p[map_size * map_size];

int z = 0;

for(i = 0; i < map_size ; ++i)

for(j = 0; j < map_size ; ++j)

if(g_map[i][j].type == mapnode_s::nothing)

if(z == 0)

assert(!"qnmlgb");

else

}

貪吃蛇 控制台

本文把遊戲區域就行編號,第一行從0到width 1,到height 1 到 width height 1 二維陣列 並用trace len 陣列儲存snake移動的軌跡 儲存的是數值,數值就能表現出所在的行和列 trace 0 始終為snake的頭部 根據display 函式繪圖,延時,在繪圖,達到...

C 控制台貪吃蛇

軟體實訓作品,現放出個人源 供需要的同學參考 int startx 8 x起點 const int starty 4 y起點 const int rangex 60 x範圍 const int rangey 20 y範圍 const int endx startx rangex x終點 const ...

C 控制台貪吃蛇

大二下的遊戲程式設計第乙個小作業,以此篇記錄一下,感謝李仕老師的循循善誘和同學們的熱情討論。include include include using namespace std define leftborder 3 define topborder 3 bool gameover,died 遊戲...