代码拉取完成,页面将自动刷新
#include "dialog_gamemain.h"
#include "ui_dialog_gamemain.h"
#include <QPainter>
#include <QKeyEvent>
#include <QMessageBox>
Dialog_GameMain::Dialog_GameMain(QString Nme,QWidget *parent) :
QDialog(parent),
ui(new Ui::Dialog_GameMain)
{
ui->setupUi(this);
setWindowTitle("DOOOOOOODOJUMP");
resize(gamesystem.width,gamesystem.height);
Username=Nme;//得到用户名
gamesystem.GameInit(Username);
gamesystem.Gamestart();
TimerId = startTimer(1);
key_left = 0;
key_right = 0;
key_up = 0;
key_down = 0;
key_Space = 0;
}
Dialog_GameMain::~Dialog_GameMain()
{
delete ui;
}
void Dialog_GameMain::paintEvent(QPaintEvent*){
QPainter painter(this); //使用
gamesystem.GameShow(&painter);
if(pattern_number==1){
QPainter painter1(this);
GamesystemMode1.GameShow(&painter1);
}
}
void Dialog_GameMain::setnumber(int t){
//黄启旭
pattern_number=t;
if(pattern_number==1){
resize(gamesystem.width*3,gamesystem.height);
GamesystemMode1.setLocalX(600);
GamesystemMode1.GameInit();
GamesystemMode1.Gamestart();
GamesystemMode1.setmode(2);
gamesystem.AutoHelpShow = 0;
gamesystem.setmode(2);
}
if(pattern_number==0){
//mode 1 单人 mode 2 双人//???
gamesystem.setmode(1);
}
};
void Dialog_GameMain::timerEvent(QTimerEvent* e){
//黄启旭
switch(pattern_number){
case 0://开发
if (e->timerId()==TimerId){
if(key_left){
gamesystem.playerlist[0].AddXY(-0.3,0);
}
if(key_right){
gamesystem.playerlist[0].AddXY(0.3,0);
}
if(key_up){
gamesystem.ShootBullet();
}
if(key_down){
gamesystem.AutoHelpShow = !gamesystem.AutoHelpShow;
}
if(key_Space){
gamesystem.paused = !gamesystem.paused;
}
}
break;
case 1://双人//人机
if(e->timerId()==TimerId){
if(key_left){
gamesystem.playerlist[0].AddXY(-0.3,0);
}
if(key_right){
gamesystem.playerlist[0].AddXY(0.3,0);
}
if(key_up){
gamesystem.ShootBullet();
}
if(key_down){
gamesystem.AutoHelpShow = !gamesystem.AutoHelpShow;
}
if(key_Space){
gamesystem.paused = !gamesystem.paused;
GamesystemMode1.paused = !GamesystemMode1.paused;
}
GamesystemMode1.AutoMove();
}
break;
case 2://只有机器
if (e->timerId()==TimerId){
gamesystem.AutoMove();
}
}
if(pattern_number!=1){
gamesystem.marks[0] +=1;
if(!gamesystem.paused){gamesystem.GameUpdate();}
ui->label_Mark->setText(QString::number(gamesystem.playerlist[0].ry));
ui->GameTime->setText(QString::number(gamesystem.paused));
if(gamesystem.endgame){
this->close();
this->destroyed();
}
}
else{
gamesystem.marks[0] +=1;
if(!gamesystem.paused){gamesystem.GameUpdate();}
GamesystemMode1.marks[0] +=1;
if(!GamesystemMode1.paused){GamesystemMode1.GameUpdate();}
QString qstr="人类玩家: ";
qstr=QString::number(gamesystem.LocalH);
QString qstr1="机器玩家: ";
qstr1=QString::number(GamesystemMode1.LocalH);
ui->label_Mark->setText(qstr);
ui->GameTime->setText(qstr1);
//ui->GameTime->setText(QString::number(gamesystem.paused));
//ui->label_Mark->setText(QString::number(GamesystemMode1.playerlist[0].ry));
if(gamesystem.LocalH-GamesystemMode1.LocalH>=200)
GamesystemMode1.endgame=1;
else if(GamesystemMode1.LocalH>10000)gamesystem.endgame=1;
if(GamesystemMode1.endgame&&!gamesystem.endgame){
QMessageBox::information(0,"","人类胜利");
this->close();
this->destroyed();
}
if(gamesystem.endgame&&!GamesystemMode1.endgame){
QMessageBox::information(0,"","机器人胜利");
this->close();
this->destroyed();
}
}
update();
}
//----
void Dialog_GameMain::keyPressEvent(QKeyEvent *event){
if(event->key()==Qt::Key_D){
key_right=true;
}
if(event->key()==Qt::Key_A){
key_left=true;
}
if(event->key()==Qt::Key_W){
key_up=true;
}
if(event->key()==Qt::Key_S){
key_down=true;
}
if(event->key()==Qt::Key_Space){
key_Space=true;
}
}
void Dialog_GameMain::keyReleaseEvent(QKeyEvent* event){
if(event->key()==Qt::Key_D){
key_right=false;
}
if(event->key()==Qt::Key_A){
key_left=false;
}
if(event->key()==Qt::Key_W){
key_up=false;
}
if(event->key()==Qt::Key_S){
key_down=false;
}
if(event->key()==Qt::Key_Space){
key_Space=false;
}
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。