资源简介
利用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 < snake.n; 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个文件信息
相关资源
- C++ 验证码识别--源码
- The C++ Standard Library中文版
- VC++《精通GDI+编程》PDF电子书
- C++结合Qt库编写的背单词软件源代码
- Numerical.Recipes.C++数值算法 第二版中文
- c++串口读写源代码
- c++写的泡泡堂的小游戏,可以单机或
- 经典c++代码大全
- MFC PDF教程全套
- C++编写基于TCP/IP的Modbus网络通讯工具
- 精通Visual C++数字图像处理技术与工程
- 21天学通C++第四版中文版
- C++设计新思维简体中文版清晰
- GPS伪距差分程序C++
- VC++6.0从入门到精通
- mfc编程共85个
- C#封装C++DLL并调用
- 数据结构C++版第二版--王红梅所有课件
- 正运动控制器入门程序例程vc++6.0版
- Exceptional C++中文版 绝对清晰带目录
- MFC销售管理SaleSystem.rar
- c++车牌识别
- VS2017C++windows桌面应用程序项目OpenCV及
- C++ 画直线、三角形、矩形、直线
- c++程序设计-刘振安书籍含PPT
- 数据结构(C++语言版) 第三版完整版
- C++ Primer Plus中文版第六版
- vscode c/c++扩展(cpptools v0.22.1)离线安
- c++ word\\excel\\ppt转pdf .rar
- Algorithms in C++ Parts 1-4 (3rd Edition)
评论
共有 条评论