void replayDevice::paintEvent(QPaintEvent *e) { QPainter painter(this); //»±³¾° painter.drawPixmap(0,0,600,600,QPixmap(":/image/humanai_back.png")); //»¼õËÙÇøÓò for(int i = 0;i<=gameStatus.mapInfo.slowDownAreaNumber-1;i++) { painter.drawPixmap(toProCo(gameStatus.mapInfo.slowDownArea[i]).rx()-double(DS14::RADIUS_OF_SLOWDOWNAREA)/4,toProCo(gameStatus.mapInfo.slowDownArea[i]).ry()-double(DS14::RADIUS_OF_SLOWDOWNAREA)/4,double(2*DS14::RADIUS_OF_SLOWDOWNAREA)/4,double(2*DS14::RADIUS_OF_SLOWDOWNAREA)/4,QPixmap(":/image/slow.png")); } //»±¬Õ¨ÇøÓò for(int i = 0;i<=5;i++) { if(gameStatus.missileArea[i].real) { painter.drawPixmap(toProCo(gameStatus.missileArea[i].centerPosition).rx()-double(gameStatus.missileArea[i].radius)/4,toProCo(gameStatus.missileArea[i].centerPosition).ry()-double(gameStatus.missileArea[i].radius)/4,double(gameStatus.missileArea[i].radius*2)/4,double(gameStatus.missileArea[i].radius*2)/4,QPixmap(":/image/missilearea.png")); } } //»»ùµØ painter.drawPixmap(toProCo(gameStatus.mapInfo.AIBases[0]).rx()-double(DS14::BASE_RADIUS)/4,toProCo(gameStatus.mapInfo.AIBases[0]).ry()-double(DS14::BASE_RADIUS)/4,double(DS14::BASE_RADIUS*2)/4,double(DS14::BASE_RADIUS*2)/4,QPixmap(":/image/base1.png")); painter.drawPixmap(toProCo(gameStatus.mapInfo.AIBases[1]).rx()-double(DS14::BASE_RADIUS)/4,toProCo(gameStatus.mapInfo.AIBases[1]).ry()-double(DS14::BASE_RADIUS)/4,double(DS14::BASE_RADIUS*2)/4,double(DS14::BASE_RADIUS*2)/4,QPixmap(":/image/base2.png")); //»³öÉúµã for(int i = 0;i<3;i++) { painter.drawPixmap(toProCo(gameStatus.mapInfo.AIHeroBirthPlace[0][i]).rx()-double(DS14::HERO_RADIUS)/4,toProCo(gameStatus.mapInfo.AIHeroBirthPlace[0][i]).ry()-double(DS14::HERO_RADIUS)/4,double(2*DS14::HERO_RADIUS)/4,double(2*DS14::HERO_RADIUS)/4,QPixmap(":/image/birthPoint1.png")); } for(int i = 0;i<3;i++) { painter.drawPixmap(toProCo(gameStatus.mapInfo.AIHeroBirthPlace[1][i]).rx()-double(DS14::HERO_RADIUS)/4,toProCo(gameStatus.mapInfo.AIHeroBirthPlace[1][i]).ry()-double(DS14::HERO_RADIUS)/4,double(2*DS14::HERO_RADIUS)/4,double(2*DS14::HERO_RADIUS)/4,QPixmap(":/image/birthPoint2.png")); } //»Â·ÕÏ for(int i = 0;i<=gameStatus.mapInfo.roadBlockNumber-1;i++) { painter.drawPixmap(toProCo(gameStatus.mapInfo.roadBlock[i]).rx()-double(DS14::RADIUS_OF_ROADBLOCK)/4,toProCo(gameStatus.mapInfo.roadBlock[i]).ry()-double(DS14::RADIUS_OF_ROADBLOCK)/4,double(2*DS14::RADIUS_OF_ROADBLOCK)/4,double(2*DS14::RADIUS_OF_ROADBLOCK)/4,QPixmap(":/image/stuck.png")); } //±ê¼ÇÑ¡ÔñµÄÓ¢ÐÛ if (humanSide == 2) painter.drawPixmap(toProCo(gameStatus.AI2HeroInfo[heroChoosen].heroPosition).rx()-double(DS14::HERO_RADIUS)/4-2,toProCo(gameStatus.AI2HeroInfo[heroChoosen].heroPosition).ry()-double(DS14::HERO_RADIUS)/4-2,double(2*DS14::HERO_RADIUS)/4+4,double(2*DS14::HERO_RADIUS)/4+4,QPixmap(":/image/select.png")); else painter.drawPixmap(toProCo(gameStatus.AI1HeroInfo[heroChoosen].heroPosition).rx()-double(DS14::HERO_RADIUS)/4-2,toProCo(gameStatus.AI1HeroInfo[heroChoosen].heroPosition).ry()-double(DS14::HERO_RADIUS)/4-2,double(2*DS14::HERO_RADIUS)/4+4,double(2*DS14::HERO_RADIUS)/4+4,QPixmap(":/image/select.png")); //»µØͼÉÏÃæµÄÓ¢ÐÛ for(int i = 1;i<=6;i++) { if(i<=3) { if (gameStatus.AI1HeroInfo[i-1].hasSword) painter.drawPixmap(toProCo(gameStatus.AI1HeroInfo[i-1].heroPosition).rx()-double(DS14::HERO_RADIUS)/4,toProCo(gameStatus.AI1HeroInfo[i-1].heroPosition).ry()-double(DS14::HERO_RADIUS)/4,double(2*DS14::HERO_RADIUS)/4,double(2*DS14::HERO_RADIUS)/4,QPixmap(":/image/hero1s.png")); else painter.drawPixmap(toProCo(gameStatus.AI1HeroInfo[i-1].heroPosition).rx()-double(DS14::HERO_RADIUS)/4,toProCo(gameStatus.AI1HeroInfo[i-1].heroPosition).ry()-double(DS14::HERO_RADIUS)/4,double(2*DS14::HERO_RADIUS)/4,double(2*DS14::HERO_RADIUS)/4,QPixmap(":/image/hero1.png")); } else { if (gameStatus.AI2HeroInfo[i-4].hasSword) painter.drawPixmap(toProCo(gameStatus.AI2HeroInfo[i-4].heroPosition).rx()-double(DS14::HERO_RADIUS)/4,toProCo(gameStatus.AI2HeroInfo[i-4].heroPosition).ry()-double(DS14::HERO_RADIUS)/4,double(2*DS14::HERO_RADIUS)/4,double(2*DS14::HERO_RADIUS)/4,QPixmap(":/image/hero2s.png")); else painter.drawPixmap(toProCo(gameStatus.AI2HeroInfo[i-4].heroPosition).rx()-double(DS14::HERO_RADIUS)/4,toProCo(gameStatus.AI2HeroInfo[i-4].heroPosition).ry()-double(DS14::HERO_RADIUS)/4,double(2*DS14::HERO_RADIUS)/4,double(2*DS14::HERO_RADIUS)/4,QPixmap(":/image/hero2.png")); } } //»°ü×Ó for(int i = 0;i<gameStatus.swordInfo.groundNumber;i++) { painter.drawPixmap(toProCo(gameStatus.swordInfo.groundSwords[i]).rx()-double(DS14::SWORD_RADIUS)/4,toProCo(gameStatus.swordInfo.groundSwords[i]).ry()-double(DS14::SWORD_RADIUS)/4,double(2*DS14::SWORD_RADIUS)/4,double(2*DS14::SWORD_RADIUS)/4,QPixmap(":/image/jian.png")); } if(!gameStatus.swordInfo.CentreSwordCD) { DS14::Coordinate center; center.x = 0; center.y = 0; painter.drawPixmap(toProCo(center).rx()-double(DS14::SWORD_RADIUS)/4,toProCo(center).ry()-double(DS14::SWORD_RADIUS)/4,double(DS14::SWORD_RADIUS)*2/4,double(DS14::SWORD_RADIUS*2/4),QPixmap(":/image/jian.png")); } }
void replayDevice::paintEvent(QPaintEvent *e) { QPainter * painter = new QPainter(this); //»±³¾° painter->drawPixmap(0,0,600,600,QPixmap(":/images/background.png")); //»¼õËÙÇøÓò for(int i = 0;i<=gameStatus.mapInfo.slowDownAreaNumber-1;i++) { painter->drawPixmap(toProCo(gameStatus.mapInfo.slowDownArea[i]).rx()-double(DS14::RADIUS_OF_SLOWDOWNAREA)/4,toProCo(gameStatus.mapInfo.slowDownArea[i]).ry()-double(DS14::RADIUS_OF_SLOWDOWNAREA)/4,double(2*DS14::RADIUS_OF_SLOWDOWNAREA)/4,double(2*DS14::RADIUS_OF_SLOWDOWNAREA)/4,QPixmap(":/images/slow.png")); } //»±¬Õ¨ÇøÓò for(int i = 0;i<=5;i++) { if(gameStatus.missleArea[i].real) { painter->drawPixmap(toProCo(gameStatus.missleArea[i].centerPosition).rx()-double(gameStatus.missleArea[i].radius)/4,toProCo(gameStatus.missleArea[i].centerPosition).ry()-double(gameStatus.missleArea[i].radius)/4,double(gameStatus.missleArea[i].radius*2)/4,double(gameStatus.missleArea[i].radius*2)/4,QPixmap(":/images/missilearea.png")); } } //»»ùµØ painter->drawPixmap(toProCo(gameStatus.mapInfo.AIBases[0]).rx()-double(DS14::BASE_RADIUS)/4,toProCo(gameStatus.mapInfo.AIBases[0]).ry()-double(DS14::BASE_RADIUS)/4,double(DS14::BASE_RADIUS*2)/4,double(DS14::BASE_RADIUS*2)/4,QPixmap(":/images/base1.png")); painter->drawPixmap(toProCo(gameStatus.mapInfo.AIBases[1]).rx()-double(DS14::BASE_RADIUS)/4,toProCo(gameStatus.mapInfo.AIBases[1]).ry()-double(DS14::BASE_RADIUS)/4,double(DS14::BASE_RADIUS*2)/4,double(DS14::BASE_RADIUS*2)/4,QPixmap(":/images/base2.png")); //»³öÉúµã for(int i = 0;i<3;i++) { painter->drawPixmap(toProCo(gameStatus.mapInfo.AIHeroBirthPlace[0][i]).rx()-double(DS14::HERO_RADIUS)/4,toProCo(gameStatus.mapInfo.AIHeroBirthPlace[0][i]).ry()-double(DS14::HERO_RADIUS)/4,double(2*DS14::HERO_RADIUS)/4,double(2*DS14::HERO_RADIUS)/4,QPixmap(":/images/birthPoint1.png")); painter->drawPixmap(toProCo(gameStatus.mapInfo.AIHeroBirthPlace[1][i]).rx()-double(DS14::HERO_RADIUS)/4,toProCo(gameStatus.mapInfo.AIHeroBirthPlace[1][i]).ry()-double(DS14::HERO_RADIUS)/4,double(2*DS14::HERO_RADIUS)/4,double(2*DS14::HERO_RADIUS)/4,QPixmap(":/images/birthPoint2.png")); } //»Â·ÕÏ for(int i = 0;i<=gameStatus.mapInfo.roadBlockNumber-1;i++) { painter->drawPixmap(toProCo(gameStatus.mapInfo.roadBlock[i]).rx()-double(DS14::RADIUS_OF_ROADBLOCK)/4,toProCo(gameStatus.mapInfo.roadBlock[i]).ry()-double(DS14::RADIUS_OF_ROADBLOCK)/4,double(2*DS14::RADIUS_OF_ROADBLOCK)/4,double(2*DS14::RADIUS_OF_ROADBLOCK)/4,QPixmap(":/images/stuck.png")); } //»µØͼÉÏÃæµÄÓ¢ÐÛ for(int i = 1;i<=6;i++) { if(i<=3) { if (gameStatus.AI1HeroInfo[i-1].hasPot) painter->drawPixmap(toProCo(gameStatus.AI1HeroInfo[i-1].heroPosition).rx()-double(DS14::HERO_RADIUS)/4,toProCo(gameStatus.AI1HeroInfo[i-1].heroPosition).ry()-double(DS14::HERO_RADIUS)/4,double(2*DS14::HERO_RADIUS)/4,double(2*DS14::HERO_RADIUS)/4,QPixmap(":/images/hero1s.png")); else painter->drawPixmap(toProCo(gameStatus.AI1HeroInfo[i-1].heroPosition).rx()-double(DS14::HERO_RADIUS)/4,toProCo(gameStatus.AI1HeroInfo[i-1].heroPosition).ry()-double(DS14::HERO_RADIUS)/4,double(2*DS14::HERO_RADIUS)/4,double(2*DS14::HERO_RADIUS)/4,QPixmap(":/images/hero1.png")); } else { if (gameStatus.AI2HeroInfo[i-4].hasPot) painter->drawPixmap(toProCo(gameStatus.AI2HeroInfo[i-4].heroPosition).rx()-double(DS14::HERO_RADIUS)/4,toProCo(gameStatus.AI2HeroInfo[i-4].heroPosition).ry()-double(DS14::HERO_RADIUS)/4,double(2*DS14::HERO_RADIUS)/4,double(2*DS14::HERO_RADIUS)/4,QPixmap(":/images/hero2s.png")); else painter->drawPixmap(toProCo(gameStatus.AI2HeroInfo[i-4].heroPosition).rx()-double(DS14::HERO_RADIUS)/4,toProCo(gameStatus.AI2HeroInfo[i-4].heroPosition).ry()-double(DS14::HERO_RADIUS)/4,double(2*DS14::HERO_RADIUS)/4,double(2*DS14::HERO_RADIUS)/4,QPixmap(":/images/hero2.png")); } } //»°ü×Ó for(int i = 0;i<gameStatus.potInfo.groundNumber;i++) { painter->drawPixmap(toProCo(gameStatus.potInfo.groundPots[i]).rx()-double(DS14::POT_RADIUS)/4,toProCo(gameStatus.potInfo.groundPots[i]).ry()-double(DS14::POT_RADIUS)/4,double(2*DS14::POT_RADIUS)/4,double(2*DS14::POT_RADIUS)/4,QPixmap(":/images/jian.png")); } if(!gameStatus.potInfo.QingFenCD) { DS14::Coordinate center; center.x = 0; center.y = 0; painter->drawPixmap(toProCo(center).rx()-double(DS14::POT_RADIUS)/4,toProCo(center).ry()-double(DS14::POT_RADIUS)/4,double(DS14::POT_RADIUS)*2/4,double(DS14::POT_RADIUS*2/4),QPixmap(":/images/jian.png")); } }