C語言實現桌面貪吃蛇

2021-10-12 10:23:03 字數 2428 閱讀 6394

本篇寫的是桌面貪吃蛇小遊戲,大家自己看吧,感謝大家的支援,謝謝!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...