ScummVM API documentation
nim.h
1
/* ScummVM - Graphic Adventure Engine
2
*
3
* ScummVM is the legal property of its developers, whose names
4
* are too numerous to list here. Please refer to the COPYRIGHT
5
* file distributed with this source distribution.
6
*
7
* This program is free software: you can redistribute it and/or modify
8
* it under the terms of the GNU General Public License as published by
9
* the Free Software Foundation, either version 3 of the License, or
10
* (at your option) any later version.
11
*
12
* This program is distributed in the hope that it will be useful,
13
* but WITHOUT ANY WARRANTY; without even the implied warranty of
14
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15
* GNU General Public License for more details.
16
*
17
* You should have received a copy of the GNU General Public License
18
* along with this program. If not, see <http://www.gnu.org/licenses/>.
19
*
20
*/
21
22
/*
23
* This code is based on the original source code of Lord Avalot d'Argent version 1.3.
24
* Copyright (c) 1994-1995 Mike, Mark and Thomas Thurman.
25
*/
26
27
#ifndef AVALANCHE_NIM_H
28
#define AVALANCHE_NIM_H
29
30
namespace
Avalanche {
31
32
class
Nim
{
33
public
:
34
Nim
(
AvalancheEngine
*vm);
35
void
resetVariables();
36
void
synchronize(
Common::Serializer
&sz);
37
void
playNim();
38
39
private
:
40
AvalancheEngine
*_vm;
41
42
static
const
char
*
const
kNames[2];
43
44
byte
_old[3];
45
byte
_stones[3];
46
byte
_turns;
47
bool
_dogfoodsTurn;
48
byte
_stonesLeft;
49
bool
_clicked;
50
int8 _row;
51
byte
_number;
52
bool
_squeak;
53
byte
_playedNim;
// How many times you've played Nim.
54
55
// Inner variables for dogFood(), find() and findAp().
56
bool
_inAp[3];
57
bool
_lmo;
// Let Me Out!
58
byte
_r[3];
59
60
void
chalk(
int
x,
int
y,
Common::String
text);
61
void
setup();
62
void
board();
63
void
startMove();
64
void
showChanges();
65
void
blip();
66
void
findNextUp();
// Inner function for checkInput().
67
void
findNextDown();
// Same as above.
68
bool
checkInput();
// It returns TRUE if the player confirmed his selection of stones either by pressing RETURN or by clicking on a stone.
69
void
takeSome();
70
void
endOfGame();
71
bool
find(
byte
x);
// This gives TRUE if there's a pile with x stones in.
72
void
findAp(
byte
start,
byte
stepSize);
73
void
dogFood();
// AI procedure to play the game.
74
};
75
76
}
// End of namespace Avalanche
77
78
#endif
// AVALANCHE_NIM_H
Avalanche::AvalancheEngine
Definition:
avalanche.h:78
Avalanche::Nim
Definition:
nim.h:32
Common::Serializer
Definition:
serializer.h:80
Common::String
Definition:
str.h:59
engines
avalanche
nim.h
Generated on Sat Oct 24 2026 09:15:33 for ScummVM API documentation by
1.9.4