diff options
| author | Amir Rajan <[email protected]> | 2021-12-10 00:09:48 -0600 |
|---|---|---|
| committer | Amir Rajan <[email protected]> | 2021-12-10 00:09:48 -0600 |
| commit | eaa29e72939f5edf61735ccbb73c36ee89369f65 (patch) | |
| tree | c310fac2e39bd799bf7fc1f73d35c12bcc5187b7 /samples/05_mouse/01_mouse_click/app | |
| parent | 33dfdde9ae03e3218b4796f3595d3b727f626587 (diff) | |
| download | dragonruby-game-toolkit-contrib-eaa29e72939f5edf61735ccbb73c36ee89369f65.tar.gz dragonruby-game-toolkit-contrib-eaa29e72939f5edf61735ccbb73c36ee89369f65.zip | |
Synced with DragonRuby Game Toolkit v3.2.
Diffstat (limited to 'samples/05_mouse/01_mouse_click/app')
| -rw-r--r-- | samples/05_mouse/01_mouse_click/app/main.rb | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/samples/05_mouse/01_mouse_click/app/main.rb b/samples/05_mouse/01_mouse_click/app/main.rb index 8969a6e..e37a753 100644 --- a/samples/05_mouse/01_mouse_click/app/main.rb +++ b/samples/05_mouse/01_mouse_click/app/main.rb @@ -49,12 +49,23 @@ class TicTacToe # Starts the game with player x's turn and creates an array (to_a) for space combinations. # Calls methods necessary for the game to run properly. def tick - state.current_turn ||= :x - state.space_combinations = [-1, 0, 1].product([-1, 0, 1]).to_a + init_new_game render_board input_board end + def init_new_game + state.current_turn ||= :x + state.space_combinations ||= [-1, 0, 1].product([-1, 0, 1]).to_a + + state.spaces ||= {} + + state.space_combinations.each do |x, y| + state.spaces[x] ||= {} + state.spaces[x][y] ||= state.new_entity(:space) + end + end + # Uses borders to create grid squares for the game's board. Also outputs the game pieces using labels. def render_board square_size = 80 @@ -130,6 +141,7 @@ class TicTacToe def input_restart_game return unless state.game_over gtk.reset + init_new_game end # Checks if x or o won the game. |
