• 大小: 1.64MB
    文件类型: .rar
    金币: 2
    下载: 0 次
    发布日期: 2024-02-02
  • 语言: C/C++
  • 标签: C++  Win32  Game  Car  

资源简介

去年大三电子游戏设计课程设计写的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个文件信息

评论

共有 条评论