編譯環境是vs2017
#include #include #include #include #define high 15 // 遊戲畫面尺寸
#define width 35
#define enemynum 5 // 敵機個數
// 全域性變數
int fond_x, fond_y; // 食物 :-2
int movedirection; // 蛇身的移動2345
int position_x, position_y; // 飛機位置
int enemy_x[enemynum], enemy_y[enemynum]; // 敵機位置
int canvas[high][width] = ; // 二維陣列儲存遊戲畫布中對應的元素
// 0為空格0,-1為邊框#,-2為食物f,1為蛇頭@,大於1的正數為蛇身*
int score; // 得分
int bulletwidth; // 子彈寬度
int enemymovespeed; // 敵機移動速度
void gotoxy(int x, int y) //游標移動到(x,y)位置
void hidecursor() // 用於隱藏游標
; // 第二個值為0表示隱藏游標
setconsolecursorinfo(getstdhandle(std_output_handle), &cursor_info);
}void startup() // 資料初始化
for (j = 0; j < width; j++)
//初始化蛇頭和蛇身
canvas[high/2][width/2] = 1;//蛇頭
for (i = 1; i < 8; i++)
score = 0;
bulletwidth = 0;
enemymovespeed = 20;
movedirection = 3; //向右
//食物隨機位置
fond_x = rand() % (high - 5);
fond_y = rand() % (width - 5);
canvas[fond_x][fond_y] = -2; //畫布中 -2 為食物
}void movesnakebydirection()
//記錄舊蛇頭的位置
if (canvas[i][j] == 2)
}} }
if (movedirection == 1)
if (movedirection == 2)
if (movedirection == 3)
if (movedirection == 4)
//判斷小蛇蛇頭是否吃到食物
if (canvas[new_head_i][new_head_j] == -2)
else
// 判斷小蛇蛇頭撞到了邊框會死亡和撞到了自己的身體,遊戲失敗
if (canvas[new_head_i][new_head_j] > 1 || canvas[new_head_i][new_head_j] == -1)
else }
void show() // 顯示畫面
printf("\n");
} printf("得分:%d\n", score);
sleep(100);
}void updatewithoutinput() // 與使用者輸入無關的更新
void updatewithinput() // 與使用者輸入有關的更新
else if (input == 'd')
else if (input == 'w')
else if (input == 's')
}}int main()
return 0;
}
**中寫明了詳細的注釋,貼一張效果圖給你們看看
上述**中,還沒有新增吃食物得分,計分.可以自己自行新增效果.
用python pygame寫貪吃蛇小遊戲
因為python語法簡單好上手,前兩天在想能不能用python寫個小遊戲出來,就上網搜了一下發現了pygame這個寫2d遊戲的庫。了解了兩天再參考了一些資料就開始寫貪吃蛇這個小遊戲。畢竟最開始的練手專案好像都是這個emmmmpython推薦廖雪峰的python3教程,pygame推薦目光部落格的py...
純C 貪吃蛇低配版小遊戲 VS2017
include include include include include include using namespace std 定義全域性變數 int length 4 int speed 1 int map 20 20 int headx,heady 蛇頭座標 int score 0 ch...
貪吃蛇小遊戲
1 doctype html 2 html 3 head 4 title snake title 5head 6 body style text align center margih 100px background color aaaaaa 7 canvas id canv width 400 ...