1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114
|
/****************************************************************
**
** Attal : Lords of Doom
**
** fightResultStatus.cpp
** small class for managing result of fight
**
** Version : $Id: fightResultStatus.cpp,v 1.1 2005/12/03 22:20:28 audoux Exp $
**
** Author(s) : Pascal Audoux
**
** Date : 03/12/2005
**
** Licence :
** This program is free software; you can redistribute it and/or modify
** it under the terms of the GNU General Public License as published by
** the Free Software Foundation; either version 2, or (at your option)
** any later version.
**
** This program is distributed in the hope that it will be useful,
** but WITHOUT ANY WARRANTY; without even the implied warranty of
** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
** GNU General Public License for more details.
**
****************************************************************/
#include "fightResultStatus.h"
// generic include files
// include files for QT
// application specific include files
FightResultStatus::FightResultStatus()
{
clear();
}
void FightResultStatus::clear()
{
_attackWin = false;
_defenseWin = false;
_fled = false;
_surrendered = false;
}
void FightResultStatus::setAttackWin()
{
_attackWin = true;
_defenseWin = false;
}
void FightResultStatus::setDefenseWin()
{
_attackWin = false;
_defenseWin = true;
}
void FightResultStatus::setFled( bool state )
{
_fled = state;
}
void FightResultStatus::setSurrendered( bool state )
{
_surrendered = state;
}
bool FightResultStatus::isFightFinished()
{
if( _attackWin || _defenseWin ) {
return true;
} else {
return false;
}
}
void FightResultStatus::fromUChar( unsigned char result )
{
if( ( result & 0x01 ) == 0x01 ) {
_attackWin = true;
}
if( ( result & 0x02 ) == 0x02 ) {
_defenseWin = true;
}
if( ( result & 0x04 ) == 0x04 ) {
_fled = true;
}
if( ( result & 0x08 ) == 0x08 ) {
_surrendered = true;
}
}
unsigned char FightResultStatus::toUChar()
{
unsigned char ret = 0;
if( _attackWin ) {
ret |= 0x01;
}
if( _defenseWin ) {
ret |= 0x02;
}
if( _fled ) {
ret |= 0x04;
}
if( _surrendered ) {
ret |= 0x08;
}
return ret;
}
|