class LocalChessClient

Public Class Methods

new() click to toggle source
# File lib/local_chess_client.rb, line 11
def initialize
  @board = Board.new
  @turn_by_turn_playback = []
  @board.display_board

  start
end

Public Instance Methods

start() click to toggle source
# File lib/local_chess_client.rb, line 19
def start
  # Gameplay
  loop do
    if @board.checkmate
      puts "\nTurn by Turn Playback : #{@turn_by_turn_playback}\n"
      exit
    end

    print "\nPiece to Move [#{@board.player_turn.capitalize}]: "
    from = gets.chomp.upcase

    begin
      print "Valid destinations: #{@board.valid_destinations(from).join(", ")}"

      print "\nLocation: "
      to = gets.chomp.upcase
      @board.move(from, to)

    rescue Exception => e
      puts "Invalid selection #{e if !ENV["DEV"].nil?}"
    else
      @turn_by_turn_playback << [from, to]
    end
  end
end