Class: Logic

Inherits:
Object
  • Object
show all
Defined in:
lib/games_paradise/flappy_bird/ruby2d/logic.rb,
lib/games_paradise/flappy_bird/ruby2d/logic/bird.rb,
lib/games_paradise/flappy_bird/ruby2d/logic/game.rb,
lib/games_paradise/flappy_bird/ruby2d/logic/pipe.rb,
lib/games_paradise/flappy_bird/ruby2d/logic/ground.rb,
lib/games_paradise/flappy_bird/ruby2d/logic/scenario.rb,
lib/games_paradise/flappy_bird/ruby2d/logic/base_logic.rb

Overview

#

require ‘games_paradise/flappy_bird/ruby2d/game.rb’

#

Defined Under Namespace

Classes: BaseLogic, Bird, Game, Ground, GroundManager, Pipe, PipeManager, Scenario

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeLogic

Returns a new instance of Logic.



34
35
36
# File 'lib/games_paradise/flappy_bird/ruby2d/logic.rb', line 34

def initialize
  @objects = {}
end

Instance Attribute Details

#objectsObject (readonly)

Returns the value of attribute objects.



7
8
9
# File 'lib/games_paradise/flappy_bird/ruby2d/logic.rb', line 7

def objects
  @objects
end

Class Method Details

.collision?(char, objects) ⇒ Boolean

Returns:

  • (Boolean)


14
15
16
17
18
19
# File 'lib/games_paradise/flappy_bird/ruby2d/logic.rb', line 14

def collision?(char, objects)
  Array(objects).any? do |object|
    horizontal_overlap(char, object) &&
      vertical_overlap(char, object)
  end
end

.reset!(*objects) ⇒ Object



10
11
12
# File 'lib/games_paradise/flappy_bird/ruby2d/logic.rb', line 10

def reset!(*objects)
  objects.map(&:reset!)
end

Instance Method Details

#[](key) ⇒ Object



42
43
44
# File 'lib/games_paradise/flappy_bird/ruby2d/logic.rb', line 42

def [](key)
  @objects[key]
end

#add(key, logic) ⇒ Object



38
39
40
# File 'lib/games_paradise/flappy_bird/ruby2d/logic.rb', line 38

def add(key, logic)
  @objects[key] = logic
end