(1)資料設計
遊戲地圖的寬和高,以及蛇的最大長度
食物在地圖上x和y上的顯示
蛇的長度,蛇得每一節的座標儲存,蛇的移動速度
蛇是否變化,蛇的初始移動方向(2)模組化設計
void drawmap();//繪製遊戲地圖
void keydown();//按鍵處理
voidcreatefood();//產生食物
void gotoxy(int x,int y);//cmd移動輔助函式
int snakestaus();//蛇狀態(3)具體實現
1.輔助函式:void gotoxy(int x,int y);//cmd移動輔助函式
2.地圖設計: void drawmap();//繪製遊戲地圖//
// cmd移動輔助函式
void gotoxy(int x, int y)
4.食物設計:voidcreatefood();//產生食物// 繪製遊戲地圖
void drawmap()
//沒變化
if (!changeflag)
//後面的節數處理:往前移動
for (int i = mysnake.len - 1; i > 0; i--)
//有按鍵處理
switch (key)
gotoxy(mysnake.x[0], mysnake.y[0]);
printf("■");
changeflag = 0;
gotoxy(mapheight + 2, 0);
}
5.終止遊戲: int snakestaus();//蛇狀態// 產生食物
void createfood() //產生食物
}//食物座標要為偶數並且不能再蛇身上
if (flag&&food.x % 2 == 0)
}gotoxy(food.x, food.y);
printf("⊙");
mysnake.len++;
changeflag = 1;
}}
完整**int snakestaus() //蛇狀態
} printf("\ngameover");
system("pause");
return 0;
}
#define _crt_secure_no_warnings 1
#include #include #include #include #include //⊙ ■
///// 地圖的長和寬
#define mapheight 25
#define mapwidth 60
#define snakesize 50
///// 資料設計
int changeflag = 0;//蛇變形標記
int key = 'w';
struct food
food;
struct snake
mysnake; //mysnake[0] 蛇頭
/// 模組化設計
void drawmap(); //繪製遊戲地圖
void createfood(); //產生食物
void keydown(); //按鍵處理
int snakestaus(); //蛇狀態
void gotoxy(int x, int y); //cmd移動輔助函式
int main()
} printf("\ngameover");
system("pause");
return 0;}//
// cmd移動輔助函式
void gotoxy(int x, int y)
// 繪製遊戲地圖
void drawmap()
//有按鍵處理
switch (key)
gotoxy(mysnake.x[0], mysnake.y[0]);
printf("■");
changeflag = 0;
gotoxy(mapheight + 2, 0);
}int snakestaus() //蛇狀態
C語言貪吃蛇小遊戲
整個 都是c語言,其中呼叫少部分庫函式,不如實現螢幕座標列印的函式,貪吃蛇遊戲 的核心在於蛇身體座標的更新,實現細節請看 注釋,include stdafx.h 如果是vc環境的話加上該標頭檔案 include include include include include define turnu...
C 貪吃蛇小遊戲
自學了幾天c 嘗試寫了乙個貪吃蛇小遊戲,比較詳細地做了注釋,實現 1 貪吃蛇基本功能 2 長按加速 3 計分板 xaml 及介面 namespace 貪吃蛇 新食物生成 public void newfoodgenerate 計時器每乙個計時週期內的時間處理程式 void timer tick ob...
C 貪吃蛇小遊戲
1.有許多值得新手學習的地方 2.不看就吃虧了噢 3.如果沒有值得學習的地方,我就倒立洗頭!include include include include include 方向鍵的ascll值 上72,左75,右77,下80 背景顏色的 0 黑色 1藍色 2 綠色 3湖藍色 4紅色 5紫色 6黃色 ...