资源简介
去年大三电子游戏设计课程设计写的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个文件信息
相关资源
- 游戏开发 c语言 程序设计 飞机大战
- 网络游戏脱机外挂(辅助)C++源码(
- VC++数字图像处理典型算法及实现
- 《面向对象的程序设计语言——C++》
- 银行账户管理系统C++
- VC++酒店客房管理系统 MFC
- 雷霆战机 c++源码
- Win32多线程程序设计--详细书签版
- 车站计算机联锁vc++6.0程序代码
- MFC游戏——看看你能坚持几秒
- C++ 超市进销存管理系统源码
- 外挂 源码 c++ vc 冒险岛
- 企业人事管理系统c++实现
- 一个C语言编译器源码
- 地铁计费系统C++实现dijkstra算法
- VC++编程的第一个MFC工程Hello World
- 通用弹道仿真计算程序(简版)V1.0
- 经典书籍《C++ Primer Plus 第6版 》 中文
- C++语言实现一些基本算法(两点距离
- C++编写的类似水果忍者的切水果的效
- C++实现的蓝牙应用程序框架-BlueSolei
- C++编写ATM机模拟程序
- 数据结构算法与应用--C++语言描述 书
- c++ 飞机订票系统设计及分析包含源代
- 学校信息管理系统(C++版[原创])
- 谭浩强《C++面向对象程序设计》实验
- 高质量程序设计指南:C++/C语言第
- C++ Primer习题集 第5版.高清版
- C++上机题+期末考试题+答案
- C++开发KTV点歌系统
评论
共有 条评论