资源简介
去年大三电子游戏设计课程设计写的C++赛车游戏,要毕业了,今天突然翻出来给大家参考一下。本人系PHPer,对于C++称不上熟悉,基本是用面向过程的思想完成了此游戏,让各位见笑了。有兴趣的做朋友的欢迎访问我的博客liuboye.com

代码片段和文件信息
#include “stdafx.h“
#include
#include
#include
#pragma comment(lib “WINMM.LIB“)
#define MAX_LOADSTRING 100
//定义结构体
struct BULLET //bullet结构体代表赛车导弹
{
int xy; //子弹坐标
bool exist; //子弹是否存在
};
struct OBSTACLE{
int xy;
bool exist;
};
struct PRODUCT{
int xy;
int flag; //1代表加子弹 2代表energy 3代表加速 4代表延长时间
bool exist;
};
//全局变量声明
HINSTANCE hInst;
HBITMAP bgcarbulletbulletshowobstacleexplosionroadlifegameovergamewinenergyammotimequickdirectionlightstatusshowplaneplanelifeplaneammoplanetimeplanequick; //存储背景图,赛车图,子弹图,路,生命,弹药,时间,加速,终点
HDC hdcmdcbufdcexplosionDC;
HWND hWnd;
DWORD tPretNow; //前一时刻的时间,当前时刻的时间
int nowXnowY; //nowX,nowY代表赛车坐标
int ocount=0explosionNum=-1explosionLocXexplosionLocY; //滚动背景偏移量,子弹计数器
int cutHeight=0dirHeight=0bcount=0bnum=10lnum=5pnum=0; //cutHeight为滚动背景所要裁剪的区域宽度,bcount记录赛车现有子弹数目,bnum记录当前剩余弹药数目,lnum记录生命值pnum记录生成物数目
int totalTime=30totalLength=43000raceTime=0raceLength=0; //时间,驾驶距离,赛道长
BULLET b[10]; //声明一个“bullet”类型的数组,用来存储赛车发出的子弹
const int obstacleLevel=3;
OBSTACLE o[obstacleLevel];
PRODUCT p[10];
int startNum=0;
bool iStart=false;//是否开始比赛
bool explosionflag=false; //是否爆炸
bool createObstacleFlag=false;//是否创建障碍物
bool speedUp=false; //前移动同时加速
bool speedDown=false; //下移动同时减速
bool speedLeft=false; //左移动
bool speedRight=false;//右移动
bool isMoving = false; //是否在移动
int leftBorder=140;//左边界
int rightBorder=410;//左边界
int upBorder=300;//上边界
int downBorder=400;//下边界
int velocity=0; //速度
int accSpeed=1; //加速度
int maxVelocity=70; //最大速度,直接影响游戏的操作难度
int minVelocity=-20; //最小速度
int slideVelocity=5; //左右滑动速度
int convertRate=4; //速度画面换算比率
int sleepTime=50; //暂停时间
int lifeFlag=0;
int bulletFlag=0;
bool planeLifeFlag=false;
bool planeLifeNum=0;
bool planeAmmoFlag=false;
bool planeAmmoNum=0;
bool planeTimeFlag=false;
bool planeTimeNum=0;
bool planeQuickFlag=false;
bool planeQuickNum=0;
//全局函数声明
ATOM MyRegisterClass(HINSTANCE hInstance);
BOOL InitInstance(HINSTANCE int);
LRESULT CALLBACK WndProc(HWND UINT WPARAM LPARAM);
void MyPaint(HDC hdc);
bool checkHit(intintintintintintintint);
bool isCollide(RECT RECT);
void move();
void playMusic(int);
void setCutHeight(int value);
void setObstaclePos();
void setRaceLength();
void stopCar();
VOID CALLBACK startGame(HWND UINT UINT DWORD);
VOID CALLBACK checkExplosion(HWND UINT UINT DWORD);
VOID CALLBACK createObstacle(HWND UINT UINT DWORD);
VOID CALLBACK myTimer(HWND UINT UINT DWORD); //计时
VOID CALLBACK recoverVelocity(HWND UINT UINT DWORD); //恢复最大速度
VOID CALLBACK recoverAmmo(HWND UINT UINT DWORD);
VOID CALLBACK recoverTime(HWND UINT UINT DWORD);
VOID CALLBACK recoverLife(HWND UINT UINT DWORD);
VOID CALLBACK recoverQuick(HWND UINT UINT DWORD);
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 26513 2014-03-07 14:17 crazycar\crazycar.cpp
文件 4192 2013-07-11 16:40 crazycar\crazycar.dsp
文件 522 2013-07-09 21:37 crazycar\crazycar.dsw
文件 326 2013-07-09 19:30 crazycar\crazycar.h
文件 66560 2013-07-18 19:51 crazycar\crazycar.ncb
文件 52736 2013-07-18 19:51 crazycar\crazycar.opt
文件 1162 2013-07-15 09:46 crazycar\crazycar.plg
文件 192566 2013-07-15 09:46 crazycar\Debug\crazycar.exe
文件 352316 2013-07-15 09:46 crazycar\Debug\crazycar.ilk
文件 64023 2013-07-15 09:46 crazycar\Debug\crazycar.obj
文件 1876368 2013-07-11 16:40 crazycar\Debug\crazycar.pch
文件 599040 2013-07-15 09:46 crazycar\Debug\crazycar.pdb
文件 5576 2013-07-10 22:03 crazycar\Debug\res\ammo.bmp
文件 1259768 2013-07-09 20:11 crazycar\Debug\res\bg.bmp
文件 7656 2013-07-14 15:30 crazycar\Debug\res\blueObs.bmp
文件 1496 2013-07-09 19:57 crazycar\Debug\res\bullet.bmp
文件 1014 2013-07-11 21:42 crazycar\Debug\res\bulletshow.bmp
文件 7656 2013-07-13 22:39 crazycar\Debug\res\car.bmp
文件 36054 2013-07-11 16:03 crazycar\Debug\res\direction.bmp
文件 5576 2013-07-10 19:48 crazycar\Debug\res\energy.bmp
文件 351848 2012-06-04 09:19 crazycar\Debug\res\explosion.bmp
文件 307512 2003-04-09 21:10 crazycar\Debug\res\gameover.bmp
文件 230454 2013-07-14 21:26 crazycar\Debug\res\gamewin.bmp
文件 774 2013-07-11 22:02 crazycar\Debug\res\life.bmp
文件 9656 2013-07-14 16:26 crazycar\Debug\res\obstacle.bmp
文件 87096 2013-07-14 19:25 crazycar\Debug\res\plane.bmp
文件 14456 2013-07-14 20:10 crazycar\Debug\res\planeammo.bmp
文件 14456 2013-07-14 19:42 crazycar\Debug\res\planelife.bmp
文件 14456 2013-07-14 20:07 crazycar\Debug\res\planequick.bmp
文件 14456 2013-07-14 20:04 crazycar\Debug\res\planetime.bmp
............此处省略58个文件信息
相关资源
- 国际象棋的qt源代码
- C++中头文件与源文件的作用详解
- C++多线程网络编程Socket
- VC++ 多线程文件读写操作
- 利用C++哈希表的方法实现电话号码查
- 移木块游戏,可以自编自玩,vc6.0编写
- C++纯文字DOS超小RPG游戏
- VC++MFC小游戏实例教程(实例)+MFC类库
- 连铸温度场计算程序(C++)
- 6自由度机器人运动学正反解C++程序
- Em算法(使用C++编写)
- libstdc++-4.4.7-4.el6.i686.rpm
- VC++实现CMD命令执行与获得返回信息
- 白话C++(全)
- C++标准库第1、2
- 大数类c++大数类
- C++语言编写串口调试助手
- c++素数筛选法
- C++ mqtt 用法
- 商品库存管理系统 C++ MFC
- c++ 多功能计算器
- C++17 In Detail
- 嵌入式QtC++编程课件
- 颜色识别形状识别STM103嵌入式代码
- c++ 邮件多附件群发
- c++ 透明代理(hookproxy)
- mfc 调用redis
- FTP客户端源码(c++)
- c++ 画图(14Qt-XPS)
- c++多边形交并差运算
评论
共有 条评论