本篇寫的是桌面貪吃蛇小遊戲,大家自己看吧,感謝大家的支援,謝謝!o(∩_∩)o~~
//注意需要先把: 專案屬性->配置屬性->鏈結器->系統->子系統改為視窗!
#define _crt_secure_no_warnings
#include
#include
#include
#include
#include
"shlobj.h"
#include
#include
#define size 100
//圖示大小預設為100
hwnd deskpot;
//桌面控制代碼
int icount =0;
//圖示個數
int screenx;
//獲取螢幕的解析度(寬)
int screeny;
//獲取螢幕的解析度(高)
int eatcount =0;
//計數(已經吃到的圖示)
int index =0;
int speed =
500;
//初始速度
typedef
struct snake //蛇結構體
snake;
snake* head;
//蛇頭
snake* snaketemp;
//臨時的
point food;
//食物位置
char
*getdesktoppath()
;//返回桌面路徑
void
initialization()
;//初始化變數
void
startgame()
;//開始遊戲
int winapi winmain
(hinstance hinstance, hinstance hprevinstance, lpstr lpcmdline,
int nshowcmd)
void
initialization()
//初始化變數}}
for(
int i =
0; i < icount; i++
)return;}
char
*getdesktoppath()
//返回桌面路徑
pshellmalloc->
release()
;}return szdir;
}void
startgame()
//開始遊戲if(
getasynckeystate
(vk_space)
)//按空格鍵暫停}if
(head->x == food.x && head->y == food.y)
snaketemp->next = temp;
snaketemp = head;
snaketemp->x +
= snakemove.x * size;
snaketemp->y +
= snakemove.y * size;
while
(snaketemp !=
null
) label2:
food.x =
rand()
%(screenx / size)
* size;
food.y =
rand()
%(screeny / size)
* size;
if(head->x == food.x && head->y == food.y)
//如果食物的座標和蛇頭的初始位置相同則重新產生
goto label2;
sendmessagea
(deskpot, lvm_setitemposition, index +1,
(food.y <<16)
+ food.x)
;//列印食物
}else
if(head->x > screenx || head->x<
0|| head->y>screeny || head->y <0)
snaketemp = head->next;
while
(snaketemp !=
null
) snaketemp = snaketemp->next;}}
sleep
(speed);}
return
;}
遊戲介面如圖:
失敗介面如圖:
C語言實現貪吃蛇
貪吃蛇是我們耳熟能詳的遊戲,遊戲思路很簡單,我們操縱一條蛇在螢幕上游走尋找食物,當吃到食物時蛇就會變長,當蛇頭碰到牆壁或者自己的身體時,此時蛇就會死亡,而遊戲也就結束了。那麼我們設計遊戲的時候,需要注意三點 1 及時重新整理蛇的位置 2 蛇吃到食物時,蛇的身體會變長,同時及時重新整理新的食物 3 蛇...
貪吃蛇 C語言實現
首先 必備知識棧 由於是用c實現,c的基礎就不廢話了 1.鍊錶相關知識的熟練使用 2.動態記憶體的簡單使用與釋放方法 3.隨機數的生成與儲存 4.監聽鍵盤函式的使用 5.window.h中基本的控制台函式 6.時間函式的簡單應用 其次 下面是實現的具體 有詳細的注釋解釋 pragma comment...
C語言實現貪吃蛇
include include include include include define up w define down s define left a define right d define quit q 函式宣告 void welcome 開始介面 void chose 選擇難度 vo...