資源簡介
利用VS2013平臺 c++語言寫的貪吃蛇小游戲。源碼手打,經過測試可以直接運行。用VS打開項目sln文件即可。
代碼片段和文件信息
#include“snake.h“
//聲明函數
void?InitSnake();
void?drawsnake();
void?movesnake();
void?changesnakech();
void?coorfood();
void?drawfood();
void?eatfood();
//主函數
int?main()
{
?InitSnake();
?
?//setbkcolor(GREEN);
?//cleardevice();
?while?(1)
?{
?while?(!kbhit())
?{
?if?(food.flag?==?0)
?{
?coorfood();
?}
?cleardevice();
?drawfood();
?movesnake();
?drawsnake();
?eatfood();
?Sleep(100);
?}
?changesnakech();
?};
return?0;
}
//初始化界面
void?InitSnake()
{
//初始化隨即種子
srand((unsigned?int)time(NULL));
//初始化界面
initgraph(640?480);
//初始化音樂
mciSendString(L“OPEN?BGM.MP3?alias?BGM“000);
mciSendString(L“Play?BGM“?0?0?0);
//初始化蛇
snake.n?=?2;
snake.ch?=?right;
snake.szb[0].x?=?10;
snake.szb[0].y?=?0;
snake.szb[1].x?=?0;
snake.szb[1].y?=?0;
}
//繪制蛇
void?drawsnake()//10為蛇粗細
{
setlinecolor(RED);
setfillcolor(YELLOW);
//遍歷數組,尋找數組中每一個元素的值
for(int?i?=?0;?i? {
fillrectangle(snake.szb[i].x?snake.szb[i].y?
snake.szb[i].x?+?10?snake.szb[i].y?+?10);
}
}
//蛇移動
void?movesnake()
{
for?(int?i?=?snake.n?-?1;?i?>?0;?i--)
{
snake.szb[i].x?=?snake.szb[i?-?1].x;
snake.szb[i].y?=?snake.szb[i?-?1].y;
}
//如果?右?x+=10;
//?左?x-=10;?上?y-=10;?下?y+=10;
switch?(snake.ch)
{
case?up:
snake.szb[0].y?-=?10;
break;
case?down:
snake.szb[0].y?+=?10;
break;
case?left:
snake.szb[0].x?-=?10;
break;
case?right:
snake.szb[0].x?+=?10;
break;
}
}
//鍵入蛇的移動方向
void?changesnakech()
{
int?move?=?getch();
switch?(move)
{
case?up:
if?(snake.ch!=down)
snake.ch?=?up;
break;
case?left:
if?(snake.ch?!=?right)
snake.ch?=?left;
break;
case?right:
if?(snake.ch?!=?left)
snake.ch?=?right;
break;
case?down:
if?(snake.ch?!=?up)
snake.ch?=?down;
break;
}
}
//計算食物位置
void?coorfood()
{
food.fzb.x?=?rand()?%?64*10;
food.fzb.y?=?rand()?%?48*10;
food.flag?=?1;
}
//繪制食物
void?drawfood()
{
fillroundrect(food.fzb.x?food.fzb.y?food.fzb.x+10?food.fzb.y+101010);
}
//吃食物
void?eatfood()
{
if?(snake.szb[0].x?==?food.fzb.x&&snake.szb[0].y?==?food.fzb.y)
{
snake.n++;
food.flag?=?0;
}
}
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件?????104960??2018-06-11?16:28??貪吃蛇\Debug\貪吃蛇.exe
?????文件?????698948??2018-06-11?16:28??貪吃蛇\Debug\貪吃蛇.ilk
?????文件?????797696??2018-06-11?16:28??貪吃蛇\Debug\貪吃蛇.pdb
?????文件????8558813??2017-06-09?14:51??貪吃蛇\貪吃蛇\BGM.mp3
?????文件?????527360??2018-06-11?16:28??貪吃蛇\貪吃蛇\Debug\vc120.idb
?????文件?????167936??2018-06-11?16:28??貪吃蛇\貪吃蛇\Debug\vc120.pdb
?????文件???????1963??2018-06-11?16:28??貪吃蛇\貪吃蛇\Debug\貪吃蛇.log
?????文件??????37397??2018-06-11?16:28??貪吃蛇\貪吃蛇\Debug\貪吃蛇.obj
?????文件????????518??2018-06-11?16:28??貪吃蛇\貪吃蛇\Debug\貪吃蛇.tlog\cl.command.1.tlog
?????文件??????20216??2018-06-11?16:28??貪吃蛇\貪吃蛇\Debug\貪吃蛇.tlog\CL.read.1.tlog
?????文件????????240??2018-06-11?16:28??貪吃蛇\貪吃蛇\Debug\貪吃蛇.tlog\CL.write.1.tlog
?????文件????????914??2018-06-11?16:28??貪吃蛇\貪吃蛇\Debug\貪吃蛇.tlog\li
?????文件???????2580??2018-06-11?16:28??貪吃蛇\貪吃蛇\Debug\貪吃蛇.tlog\li
?????文件????????220??2018-06-11?16:28??貪吃蛇\貪吃蛇\Debug\貪吃蛇.tlog\li
?????文件????????150??2018-06-11?16:28??貪吃蛇\貪吃蛇\Debug\貪吃蛇.tlog\貪吃蛇.lastbuildstate
?????文件????????438??2018-06-11?10:44??貪吃蛇\貪吃蛇\snake.h
?????文件???????2361??2018-06-11?16:28??貪吃蛇\貪吃蛇\貪吃蛇.cpp
?????文件???????4093??2018-06-10?21:41??貪吃蛇\貪吃蛇\貪吃蛇.vcxproj
?????文件???????1068??2018-06-10?21:41??貪吃蛇\貪吃蛇\貪吃蛇.vcxproj.filters
?????文件???29818880??2018-09-04?11:00??貪吃蛇\貪吃蛇.sdf
?????文件????????973??2018-06-10?20:21??貪吃蛇\貪吃蛇.sln
????..A..H.?????20480??2018-09-04?11:00??貪吃蛇\貪吃蛇.v12.suo
?????目錄??????????0??2018-06-11?16:28??貪吃蛇\貪吃蛇\Debug\貪吃蛇.tlog
?????目錄??????????0??2018-06-11?16:28??貪吃蛇\貪吃蛇\Debug
?????目錄??????????0??2018-06-11?16:23??貪吃蛇\Debug
?????目錄??????????0??2018-06-11?16:28??貪吃蛇\貪吃蛇
?????目錄??????????0??2018-09-04?11:00??貪吃蛇
-----------?---------??----------?-----??----
?????????????40768204????????????????????27
............此處省略0個文件信息
評論
共有 條評論