1 <?xml version=
"1.0" encoding=
"iso-8859-1"?>
3 PUBLIC
"-//W3C//DTD XHTML 1.0 Transitional//EN"
4 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
6 <html xmlns=
"http://www.w3.org/1999/xhtml" xml:
lang=
"en" lang=
"en">
8 <title>Class: Game
</title>
9 <meta http-equiv=
"Content-Type" content=
"text/html; charset=iso-8859-1" />
10 <meta http-equiv=
"Content-Script-Type" content=
"text/javascript" />
11 <link rel=
"stylesheet" href=
".././rdoc-style.css" type=
"text/css" media=
"screen" />
12 <script type=
"text/javascript">
15 function popupCode( url ) {
16 window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=
150,width=
400")
19 function toggleCode( id ) {
20 if ( document.getElementById )
21 elem = document.getElementById( id );
22 else if ( document.all )
23 elem = eval( "document.all." + id );
27 elemStyle = elem.style;
29 if ( elemStyle.display != "block" ) {
30 elemStyle.display = "block"
32 elemStyle.display = "none"
38 // Make codeblocks hidden by default
39 document.writeln( "
<style type=\
"text/css\">div.method-source-code { display: none }
</style>" )
49 <div id="classHeader
">
50 <table class="header-table
">
51 <tr class="top-aligned-row
">
52 <td><strong>Class</strong></td>
53 <td class="class-name-in-header
">Game</td>
55 <tr class="top-aligned-row
">
56 <td><strong>In:</strong></td>
58 <a href="../files/lib/libttc_rb.html
">
65 <tr class="top-aligned-row
">
66 <td><strong>Parent:</strong></td>
73 <!-- banner header -->
75 <div id="bodyContent
">
79 <div id="contextContent
">
81 <div id="description
">
83 A game of Trap the Cap. It keeps a history of all previous states.
91 <div id="method-list
">
92 <h3 class="section-bar
">Methods</h3>
94 <div class="name-list
">
95 <a href="#M000037
">apply_move!</a>
96 <a href="#M000039
">apply_moves!</a>
97 <a href="#M000042
">build_state_string</a>
98 <a href="#M000036
">new</a>
99 <a href="#M000040
">next_player!</a>
100 <a href="#M000041
">possible_moves</a>
101 <a href="#M000046
">read_game</a>
102 <a href="#M000043
">show_state</a>
103 <a href="#M000044
">to_s</a>
104 <a href="#M000045
">to_str</a>
105 <a href="#M000038
">undo_move!</a>
120 <div id="attribute-list
">
121 <h3 class="section-bar
">Attributes</h3>
123 <div class="name-list
">
125 <tr class="top-aligned-row context-row
">
126 <td class="context-item-name
">board</td>
127 <td class="context-item-value
"> [R] </td>
128 <td class="context-item-desc
"></td>
130 <tr class="top-aligned-row context-row
">
131 <td class="context-item-name
">current_player</td>
132 <td class="context-item-value
"> [R] </td>
133 <td class="context-item-desc
"></td>
135 <tr class="top-aligned-row context-row
">
136 <td class="context-item-name
">history</td>
137 <td class="context-item-value
"> [R] </td>
138 <td class="context-item-desc
"></td>
140 <tr class="top-aligned-row context-row
">
141 <td class="context-item-name
">pieces</td>
142 <td class="context-item-value
"> [R] </td>
143 <td class="context-item-desc
"></td>
145 <tr class="top-aligned-row context-row
">
146 <td class="context-item-name
">players</td>
147 <td class="context-item-value
"> [R] </td>
148 <td class="context-item-desc
"></td>
156 <!-- if method_list -->
158 <h3 class="section-bar
">Public Class methods</h3>
160 <div id="method-M000036
" class="method-detail
">
161 <a name="M000036
"></a>
163 <div class="method-heading
">
164 <a href="Game.src/M000036.html
" target="Code
" class="method-signature
"
165 onclick="popupCode('Game.src/M000036.html');return false;
">
166 <span class="method-name
">new</span><span class="method-args
">(players = 6, spokes = 6, spoke_length = 6, arc_length = 6, pieces_each = 6)</span>
170 <div class="method-description
">
172 Create a <a href="Game.html#M000036
">new</a> game
177 <div id="method-M000046
" class="method-detail
">
178 <a name="M000046
"></a>
180 <div class="method-heading
">
181 <a href="Game.src/M000046.html
" target="Code
" class="method-signature
"
182 onclick="popupCode('Game.src/M000046.html');return false;
">
183 <span class="method-name
">read_game</span><span class="method-args
">(gamelines)</span>
187 <div class="method-description
">
189 Given a set of lines from an input file, turn them into a <a
190 href="Game.html
">Game</a> object and a set of <a href="Move.html
">Move</a>
191 objects. Note the multiple return values. Class method
196 <h3 class="section-bar
">Public Instance methods</h3>
198 <div id="method-M000037
" class="method-detail
">
199 <a name="M000037
"></a>
201 <div class="method-heading
">
202 <a href="Game.src/M000037.html
" target="Code
" class="method-signature
"
203 onclick="popupCode('Game.src/M000037.html');return false;
">
204 <span class="method-name
">apply_move!</span><span class="method-args
">(move, player = @current_player)</span>
208 <div class="method-description
">
210 Apply a single move to a game.
215 <div id="method-M000039
" class="method-detail
">
216 <a name="M000039
"></a>
218 <div class="method-heading
">
219 <a href="Game.src/M000039.html
" target="Code
" class="method-signature
"
220 onclick="popupCode('Game.src/M000039.html');return false;
">
221 <span class="method-name
">apply_moves!</span><span class="method-args
">(moves)</span>
225 <div class="method-description
">
227 Apply a list of moves in order
232 <div id="method-M000042
" class="method-detail
">
233 <a name="M000042
"></a>
235 <div class="method-heading
">
236 <a href="Game.src/M000042.html
" target="Code
" class="method-signature
"
237 onclick="popupCode('Game.src/M000042.html');return false;
">
238 <span class="method-name
">build_state_string</span><span class="method-args
">()</span>
242 <div class="method-description
">
246 <div id="method-M000040
" class="method-detail
">
247 <a name="M000040
"></a>
249 <div class="method-heading
">
250 <a href="Game.src/M000040.html
" target="Code
" class="method-signature
"
251 onclick="popupCode('Game.src/M000040.html');return false;
">
252 <span class="method-name
">next_player!</span><span class="method-args
">()</span>
256 <div class="method-description
">
258 Set the current player to be the next player
263 <div id="method-M000041
" class="method-detail
">
264 <a name="M000041
"></a>
266 <div class="method-heading
">
267 <a href="Game.src/M000041.html
" target="Code
" class="method-signature
"
268 onclick="popupCode('Game.src/M000041.html');return false;
">
269 <span class="method-name
">possible_moves</span><span class="method-args
">(die_result, player = @current_player)</span>
273 <div class="method-description
">
275 Return an array of all possible moves from this state, given the die roll
276 and the active player
281 <div id="method-M000043
" class="method-detail
">
282 <a name="M000043
"></a>
284 <div class="method-heading
">
285 <a href="Game.src/M000043.html
" target="Code
" class="method-signature
"
286 onclick="popupCode('Game.src/M000043.html');return false;
">
287 <span class="method-name
">show_state</span><span class="method-args
">()</span>
291 <div class="method-description
">
293 Show the state of the board
298 <div id="method-M000044
" class="method-detail
">
299 <a name="M000044
"></a>
301 <div class="method-heading
">
302 <a href="Game.src/M000044.html
" target="Code
" class="method-signature
"
303 onclick="popupCode('Game.src/M000044.html');return false;
">
304 <span class="method-name
">to_s</span><span class="method-args
">()</span>
308 <div class="method-description
">
312 <div id="method-M000045
" class="method-detail
">
313 <a name="M000045
"></a>
315 <div class="method-heading
">
316 <a href="Game.src/M000045.html
" target="Code
" class="method-signature
"
317 onclick="popupCode('Game.src/M000045.html');return false;
">
318 <span class="method-name
">to_str</span><span class="method-args
">()</span>
322 <div class="method-description
">
326 <div id="method-M000038
" class="method-detail
">
327 <a name="M000038
"></a>
329 <div class="method-heading
">
330 <a href="Game.src/M000038.html
" target="Code
" class="method-signature
"
331 onclick="popupCode('Game.src/M000038.html');return false;
">
332 <span class="method-name
">undo_move!</span><span class="method-args
">()</span>
336 <div class="method-description
">
350 <div id="validator-badges
">
351 <p><small><a href="http://validator.w3.org/check/referer
">[Validate]</a></small></p>