基于WIN32高级变成实现简单贪吃蛇游戏.docVIP

  • 9
  • 0
  • 约7.29千字
  • 约 15页
  • 2022-09-12 发布于山东
  • 举报

基于WIN32高级变成实现简单贪吃蛇游戏.doc

实验 1 一、实验项目名称 基于WIN32高级变成实现简单贪吃蛇游戏 二、实验目的 熟练掌握C、C++、Win32编程语言的基本知识,能利用C、C++、Win32编程语言编写简单的程序。 三、实验设备与环境 计算机,Visual Studio 2017 四、实验内容 1. 初始化蛇和食物。蛇有3节身体,方向向右,位于窗口的左上角。食物在窗口中心。 2. 利用键盘上的方向键(上下左右)控制蛇的移动方向。 3.蛇吃食物。蛇的身体+1,并在随机位置生成新的食物。 4.碰墙检测、碰身体检测。当蛇头碰墙或碰自己身体,游戏结束。 5.选择适当的时间间隔控制蛇的移动速度。 五、源程序 // SnakeWin32.cpp : 定义应用程序的入口点。 #include framework.h #include SnakeWin32.h #includeiostream #include conio.h #include time.h #includewindows.h #includestdlib.h #define MAX_LOADSTRING 100 using namespace std; enum DIRECTION { UP, DOWN, LEFT, RIGHT }; //方向枚举 POINT Snake[256] = { 0 }; POINT Food; int flag = 0; int SnakeNum = 0; DIRECTION Dir; RECT rect; // 全局变量: HINSTANCE hInst; // 当前实例 WCHAR szTitle[MAX_LOADSTRING]; // 标题栏文本 WCHAR szWindowClass[MAX_LOADSTRING]; // 主窗口类名 // 此代码模块中包含的函数的前向声明: ATOM MyRegisterClass(HINSTANCE hInstance); BOOL InitInstance(HINSTANCE, int); LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM); //窗口函数说明 INT_PTR CALLBACK About(HWND, UINT, WPARAM, LPARAM); void SnakeMove(DIRECTION Dir); void SnakeEatFood(); void CreatFood(); int RandomNum(int NumA, int NumB); int GameOver(HWND hWnd); // ————————————————开————始————主————函————数———————————————— int APIENTRY wWinMain(_In_ HINSTANCE hInstance, //程序当前实例句柄 _In_opt_ HINSTANCE hPrevInstance, //应用程序其它实例句柄 _In_ LPWSTR lpCmdLine, //指向程序命令行参数的指针 _In_ int nCmdShow) //应用程序开始执行时窗口显示方式的整数值标识 { UNREFERENCED_PARAMETER(hPrevInstance); UNREFERENCED_PARAMETER(lpCmdLine); //对蛇进行初始化:起始长度,起始点坐标,起始方向 for (int i = 0; i 3; i++) { Snake[0].x = 2; Snake[0].y = 0; Snake[1].x = 1; Snake[1].y = 0; Snake[2].x = 0; Snake[2].y = 0; } SnakeNum = 3; Dir = DOWN; Food.x = 15; Food.y = 16; flag = 1; // 初始化全局字符串 LoadStringW(hInstance, IDS_APP_TITLE, szTitle, MAX_LOADSTRING); LoadStringW(hInstance, IDC_SNAKEWIN32, szWindowClass, MAX_LOADSTRING); MyRegisterClass(hIns

文档评论(0)

1亿VIP精品文档

相关文档