• 大小: 21.76MB
    文件类型: .7z
    金币: 2
    下载: 0 次
    发布日期: 2024-02-05
  • 语言: C/C++
  • 标签: vs  

资源简介

学习课程资源,不是很好的资源,为学生们提供一点小参考

资源截图

代码片段和文件信息

// GamePlay.cpp : 实现文件
//

#include “stdafx.h“
#include “TankWard.h“
#include “GamePlay.h“
#include “afxdialogex.h“
#include “math.h“
#include  
#include “Select.h“
#pragma comment( lib “Winmm.lib“ )  
#include


// CGamePlay 对话框

IMPLEMENT_DYNAMIC(CGamePlay CDialogEx)

CGamePlay::CGamePlay(CWnd* pParent /*=NULL*/)
: CDialogEx(CGamePlay::IDD pParent)
 m_score(0)
{

}

CGamePlay::~CGamePlay()
{
}

void CGamePlay::DoDataExchange(CDataExchange* pDX)
{
CDialogEx::DoDataExchange(pDX);
DDX_Text(pDX IDC_EDIT_SCORE m_score);
DDV_MinMaxInt(pDX m_score 0 10000);
}


BEGIN_MESSAGE_MAP(CGamePlay CDialogEx)
ON_WM_MOUSEWHEEL()
ON_WM_LBUTTONDOWN()
ON_WM_ERASEBKGND()
ON_BN_CLICKED(IDC_BUTTON_LOADGAME &CGamePlay::OnBnClickedButtonloadgame)
ON_BN_CLICKED(IDC_BUTTON_GAMESTART &CGamePlay::OnBnClickedButtonGamestart)
ON_WM_TIMER()
END_MESSAGE_MAP()


// CGamePlay 消息处理程序


BOOL CGamePlay::OnInitDialog()
{
CDialogEx::OnInitDialog();

// TODO:  在此添加额外的初始化
int i;
gamePause=false;
gamePauseNum=0;
TankLive = 3;
bNum = 50;
ready=false;
pw=this->GetDlgItem(IDC_STA_TANKM);
pdc=pw->GetDC();
CRect rect1rect2;
pw->GetClientRect(rect1);
wh=rect1.Height();
ww=rect1.Width();
this->ClientToScreen(rect1);
pw->GetWindowRect(rect2);
xz=rect2.left-rect1.left;
yz=rect2.top-rect1.top;
np=0;
jd2=0;
mode=-1;
cp.x=0;
cp.y=0;
ca=0;
rnum=0;
save_point=false;
SPEED = 10;
m_score = 0;
FighterSpeed=100; BombSpeed = 50; bombNumAll=3; 
//设定各个模型的比例缩放系数
sx[1][0]=0.2;//飞机比例因子
sx[1][1]=0.2;
sx[2][0]=0.5;//炮比例因子
sx[2][1]=0.5;
sx[3][0]=0.5;//战车比例因子
sx[3][1]=0.5;
sx[4][0]=0.3;//炮弹比例因子
sx[4][1]=0.3;
sx[5][0]=0.3;//爆炸比例因子
sx[5][1]=0.3;
sx[100][0]=0.3;//炸弹比例因子
sx[100][1]=0.3;
//sx[7][0]=0.3;//爆炸比例因子
//sx[7][1]=0.3;
bmp[0].LoadBitmapA(IDB_BMP_BG);
bmp[1].LoadBitmapA(IDB_BMP_PLANE);
bmp[2].LoadBitmapA(IDB_BMP_GUN);
bmp[3].LoadBitmapA(IDB_BMP_TANK);
bmp[4].LoadBitmapA(IDB_BMP_SHELL);
bmp[5].LoadBitmapA(IDB_BMP_EXP);
bmp[6].LoadBitmapA(IDB_BMP_BOMB);
//bkmap.LoadBitmapA(IDB_BITMAP3);
for(i=0;i<10;i++){
Rnum[i]=0;
dn[i] = 0;
dx[i][0]=0;
dx[i][1]=0;
Sdata[i][0]=0;
Sdata[i][1]=0;
Sdata[i][2]=0;

timer_fighter[i]=3;
timer_shell[i]=false;
setUp = false; //判断向上移动是否停止
setDown = false;
setLeft = false;
setRight = false;
}
for (i = 0; i < 300; i++) {
timer_bomb[i] = false;
db[i] = 0;
Bdata[i][0] = 0;
Bdata[i][1] = 0;
}
return TRUE;  // return TRUE unless you set the focus to a control
// 异常: OCX 属性页应返回 FALSE
}


BOOL CGamePlay::PreTranslateMessage(MSG* pMsg)
{
// TODO: 在此添加专用代码和/或调用基类

if (pMsg->message == WM_KEYDOWN && pMsg->wParam == ‘W‘)
{
setUp = true;
TankCenter.y = TankCenter.y - SPEED;
GunCenter.y = GunCenter.y - SPEED;
ShellCenter.y = ShellCenter.y - SPEED;
if ((TankCenter.y - 100) < 0) {
TankCenter.y = TankCenter.y + SP

评论

共有 条评论