QTfrontend/hedgehogerWidget.cpp
author displacer
Sat, 16 Sep 2006 17:24:41 +0000
changeset 150 d9e8a336195c
parent 147 52a3c431db8a
child 153 dc10da2a73f9
permissions -rw-r--r--
team hedgehogs number improved
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
133
c79cb5e5b24a - Multiplayer game start button
unc0rr
parents: 132
diff changeset
     1
#include "hedgehogerWidget.h"
c79cb5e5b24a - Multiplayer game start button
unc0rr
parents: 132
diff changeset
     2
c79cb5e5b24a - Multiplayer game start button
unc0rr
parents: 132
diff changeset
     3
#include <QMouseEvent>
c79cb5e5b24a - Multiplayer game start button
unc0rr
parents: 132
diff changeset
     4
#include <QPainter>
c79cb5e5b24a - Multiplayer game start button
unc0rr
parents: 132
diff changeset
     5
150
d9e8a336195c team hedgehogs number improved
displacer
parents: 147
diff changeset
     6
#include "frameTeam.h"
147
52a3c431db8a maximum number of teams and hedgehogs
displacer
parents: 140
diff changeset
     7
133
c79cb5e5b24a - Multiplayer game start button
unc0rr
parents: 132
diff changeset
     8
CHedgehogerWidget::CHedgehogerWidget(QWidget * parent) :
150
d9e8a336195c team hedgehogs number improved
displacer
parents: 147
diff changeset
     9
  QWidget(parent)
133
c79cb5e5b24a - Multiplayer game start button
unc0rr
parents: 132
diff changeset
    10
{
150
d9e8a336195c team hedgehogs number improved
displacer
parents: 147
diff changeset
    11
  if(parent) {
d9e8a336195c team hedgehogs number improved
displacer
parents: 147
diff changeset
    12
    pOurFrameTeams=dynamic_cast<FrameTeams*>(parent->parentWidget());
d9e8a336195c team hedgehogs number improved
displacer
parents: 147
diff changeset
    13
  }
d9e8a336195c team hedgehogs number improved
displacer
parents: 147
diff changeset
    14
  if(pOurFrameTeams->overallHedgehogs+4>pOurFrameTeams->maxHedgehogsPerGame) {
d9e8a336195c team hedgehogs number improved
displacer
parents: 147
diff changeset
    15
    numHedgehogs=pOurFrameTeams->maxHedgehogsPerGame-pOurFrameTeams->overallHedgehogs;
d9e8a336195c team hedgehogs number improved
displacer
parents: 147
diff changeset
    16
  } else numHedgehogs=4;
d9e8a336195c team hedgehogs number improved
displacer
parents: 147
diff changeset
    17
  pOurFrameTeams->overallHedgehogs+=numHedgehogs;
147
52a3c431db8a maximum number of teams and hedgehogs
displacer
parents: 140
diff changeset
    18
}
52a3c431db8a maximum number of teams and hedgehogs
displacer
parents: 140
diff changeset
    19
52a3c431db8a maximum number of teams and hedgehogs
displacer
parents: 140
diff changeset
    20
CHedgehogerWidget::~CHedgehogerWidget()
52a3c431db8a maximum number of teams and hedgehogs
displacer
parents: 140
diff changeset
    21
{
150
d9e8a336195c team hedgehogs number improved
displacer
parents: 147
diff changeset
    22
  pOurFrameTeams->overallHedgehogs-=numHedgehogs;
133
c79cb5e5b24a - Multiplayer game start button
unc0rr
parents: 132
diff changeset
    23
}
c79cb5e5b24a - Multiplayer game start button
unc0rr
parents: 132
diff changeset
    24
c79cb5e5b24a - Multiplayer game start button
unc0rr
parents: 132
diff changeset
    25
void CHedgehogerWidget::mousePressEvent ( QMouseEvent * event )
c79cb5e5b24a - Multiplayer game start button
unc0rr
parents: 132
diff changeset
    26
{
c79cb5e5b24a - Multiplayer game start button
unc0rr
parents: 132
diff changeset
    27
  if(event->button()==Qt::LeftButton) {
c79cb5e5b24a - Multiplayer game start button
unc0rr
parents: 132
diff changeset
    28
    event->accept();
150
d9e8a336195c team hedgehogs number improved
displacer
parents: 147
diff changeset
    29
    if(numHedgehogs < 8 && pOurFrameTeams->overallHedgehogs<18) {
147
52a3c431db8a maximum number of teams and hedgehogs
displacer
parents: 140
diff changeset
    30
      numHedgehogs++;
150
d9e8a336195c team hedgehogs number improved
displacer
parents: 147
diff changeset
    31
      pOurFrameTeams->overallHedgehogs++;
147
52a3c431db8a maximum number of teams and hedgehogs
displacer
parents: 140
diff changeset
    32
    }
133
c79cb5e5b24a - Multiplayer game start button
unc0rr
parents: 132
diff changeset
    33
  } else if (event->button()==Qt::RightButton) {
c79cb5e5b24a - Multiplayer game start button
unc0rr
parents: 132
diff changeset
    34
    event->accept();
147
52a3c431db8a maximum number of teams and hedgehogs
displacer
parents: 140
diff changeset
    35
    if(numHedgehogs > 3) {
52a3c431db8a maximum number of teams and hedgehogs
displacer
parents: 140
diff changeset
    36
      numHedgehogs--;
150
d9e8a336195c team hedgehogs number improved
displacer
parents: 147
diff changeset
    37
      pOurFrameTeams->overallHedgehogs--;
147
52a3c431db8a maximum number of teams and hedgehogs
displacer
parents: 140
diff changeset
    38
    }
133
c79cb5e5b24a - Multiplayer game start button
unc0rr
parents: 132
diff changeset
    39
  } else {
c79cb5e5b24a - Multiplayer game start button
unc0rr
parents: 132
diff changeset
    40
    event->ignore();
c79cb5e5b24a - Multiplayer game start button
unc0rr
parents: 132
diff changeset
    41
    return;
c79cb5e5b24a - Multiplayer game start button
unc0rr
parents: 132
diff changeset
    42
  }
c79cb5e5b24a - Multiplayer game start button
unc0rr
parents: 132
diff changeset
    43
  repaint();
c79cb5e5b24a - Multiplayer game start button
unc0rr
parents: 132
diff changeset
    44
}
c79cb5e5b24a - Multiplayer game start button
unc0rr
parents: 132
diff changeset
    45
c79cb5e5b24a - Multiplayer game start button
unc0rr
parents: 132
diff changeset
    46
void CHedgehogerWidget::paintEvent(QPaintEvent* event)
c79cb5e5b24a - Multiplayer game start button
unc0rr
parents: 132
diff changeset
    47
{
c79cb5e5b24a - Multiplayer game start button
unc0rr
parents: 132
diff changeset
    48
  QImage image(":/res/hh25x25.png");
c79cb5e5b24a - Multiplayer game start button
unc0rr
parents: 132
diff changeset
    49
c79cb5e5b24a - Multiplayer game start button
unc0rr
parents: 132
diff changeset
    50
  QPainter painter(this);
c79cb5e5b24a - Multiplayer game start button
unc0rr
parents: 132
diff changeset
    51
140
50ccde437ea1 teams and hedgedogs num selection added to HWgame
displacer
parents: 134
diff changeset
    52
  for(int i=0; i<numHedgehogs; i++) {
133
c79cb5e5b24a - Multiplayer game start button
unc0rr
parents: 132
diff changeset
    53
    QRect target(11 * i, i % 2, 25, 25);
c79cb5e5b24a - Multiplayer game start button
unc0rr
parents: 132
diff changeset
    54
    painter.drawImage(target, image);
c79cb5e5b24a - Multiplayer game start button
unc0rr
parents: 132
diff changeset
    55
  }
c79cb5e5b24a - Multiplayer game start button
unc0rr
parents: 132
diff changeset
    56
}
140
50ccde437ea1 teams and hedgedogs num selection added to HWgame
displacer
parents: 134
diff changeset
    57
50ccde437ea1 teams and hedgedogs num selection added to HWgame
displacer
parents: 134
diff changeset
    58
unsigned char CHedgehogerWidget::getHedgehogsNum()
50ccde437ea1 teams and hedgedogs num selection added to HWgame
displacer
parents: 134
diff changeset
    59
{
50ccde437ea1 teams and hedgedogs num selection added to HWgame
displacer
parents: 134
diff changeset
    60
  return numHedgehogs;
50ccde437ea1 teams and hedgedogs num selection added to HWgame
displacer
parents: 134
diff changeset
    61
}