File: fightResultStatus.cpp

package info (click to toggle)
attal 1.0~rc2-2
  • links: PTS, VCS
  • area: main
  • in suites: jessie, jessie-kfreebsd, squeeze, wheezy
  • size: 4,348 kB
  • ctags: 7,428
  • sloc: cpp: 55,101; sh: 267; ansic: 100; makefile: 54
file content (114 lines) | stat: -rw-r--r-- 2,173 bytes parent folder | download | duplicates (2)
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;
}