class ConnectNGame::EchoMoves

The EchoMoves echoes moves when possible.

Public Class Methods

new(name = "Echo") click to toggle source

Build the player

Calls superclass method ConnectNGame::Player::new
# File lib/connect_n_game/players/echo.rb, line 9
def initialize(name = "Echo")
  super(name, "Really unoriginal.", :silicon)
end

Public Instance Methods

losers_comments() click to toggle source

The agony of defeat

# File lib/connect_n_game/players/echo.rb, line 38
def losers_comments
  "#{name} says 'Yes! I came in second!'"
end
make_move(game, _piece) click to toggle source

Make a move. This bot parrots the previous move when it can, and moves randomly when it cannot.
Parameters

  • game - the game being played.

  • _piece - the piece to be played, 1 or 2. (Not used here)


Returns

  • A move, 1 .. rack.width

# File lib/connect_n_game/players/echo.rb, line 20
def make_move(game, _piece)
  channel = game.last_move

  unless channel && !game.rack.channel_full?(channel)
    begin
      channel = rand(1..(game.rack.width))
    end while game.rack.channel_full?(channel)
  end

  channel
end
winners_comments() click to toggle source

The thrill of victory.

# File lib/connect_n_game/players/echo.rb, line 33
def winners_comments
  "#{name} says 'How did this happen?'"
end