Class: GamesAndRpgParadise::GUI::Gtk::Nibbles

Inherits:
Gtk::Window
  • Object
show all
Includes:
Gtk::BaseModuleAndAppModule
Defined in:
lib/games_and_rpg_paradise/gui/gtk3/nibbles/nibbles.rb

Constant Summary collapse

NAMESPACE =
#

NAMESPACE

#
inspect
DOT_SIZE =
#

DOT_SIZE

#
::GamesAndRpgParadise::Nibbles::DOT_SIZE
ALL_DOTS =
#

ALL_DOTS

The ALL_DOTS constant defines the maximum number of possible dots on the Board.

#
::GamesAndRpgParadise::Nibbles::WIDTH_OF_THE_BOARD * ::GamesAndRpgParadise::Nibbles::HEIGHT / (DOT_SIZE * DOT_SIZE)
TITLE =
#

TITLE

#
'Nibbles'
RAND_POS =
#

RAND_POS

The RAND_POS constant is used to calculate a random position of the apple.

#
26
DELAY =
#

DELAY

The DELAY constant determines the speed of the game.

#
100
LENGTH_OF_THE_SNAKE =
#

LENGTH_OF_THE_SNAKE

#
4

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeNibbles

#

initialize

#


101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
# File 'lib/games_and_rpg_paradise/gui/gtk3/nibbles/nibbles.rb', line 101

def initialize
  super()
  reset
  set_title(TITLE)
  signal_connect(:destroy) { ::Gtk.main_quit }
  signal_connect(:key_press_event) { |widget, event|
    on_key_down(widget, event) # Delegate all key-press-events into this method.
  }
  set_default_size(
    ::GamesAndRpgParadise::Nibbles::WIDTH_OF_THE_BOARD,
    ::GamesAndRpgParadise::Nibbles::HEIGHT
  )
  set_window_position :center
  enable_simple_exit
  run
end

Class Method Details

.runObject

#

GamesAndRpgParadise::GUI::Gtk::Nibbles.run

#


161
162
163
164
# File 'lib/games_and_rpg_paradise/gui/gtk3/nibbles/nibbles.rb', line 161

def self.run
  GamesAndRpgParadise::GUI::Gtk::Nibbles.new
  ::Gtk.main
end

.x_coordinate?Boolean

#

GamesAndRpgParadise::GUI::Gtk::Nibbles.x_coordinate?

#

Returns:

  • (Boolean)


87
88
89
# File 'lib/games_and_rpg_paradise/gui/gtk3/nibbles/nibbles.rb', line 87

def self.x_coordinate?
  @x
end

.y_coordinate?Boolean

#

GamesAndRpgParadise::GUI::Gtk::Nibbles.y_coordinate?

#

Returns:

  • (Boolean)


94
95
96
# File 'lib/games_and_rpg_paradise/gui/gtk3/nibbles/nibbles.rb', line 94

def self.y_coordinate?
  @y
end

Instance Method Details

#connect_skeletonObject

#

connect_skeleton

#


146
147
148
# File 'lib/games_and_rpg_paradise/gui/gtk3/nibbles/nibbles.rb', line 146

def connect_skeleton
  add(@board)
end

#on_key_down(widget, event) ⇒ Object

#

on_key_down

This method will delegate the on-key-down event to class NibblesBoard.

#


138
139
140
141
# File 'lib/games_and_rpg_paradise/gui/gtk3/nibbles/nibbles.rb', line 138

def on_key_down(widget, event) 
  # key = event.keyval
  @board.on_key_down(event)
end

#resetObject

#

reset

#


121
122
123
124
125
126
127
128
129
130
# File 'lib/games_and_rpg_paradise/gui/gtk3/nibbles/nibbles.rb', line 121

def reset
  # ======================================================================= #
  # === @configuration
  # ======================================================================= #
  @configuration = [true, __dir__, NAMESPACE]
  # ======================================================================= #
  # === @board
  # ======================================================================= #
  @board = NibblesBoard.new
end

#runObject

#

run

#


153
154
155
156
# File 'lib/games_and_rpg_paradise/gui/gtk3/nibbles/nibbles.rb', line 153

def run
  connect_skeleton
  show_all
end