Sha256: aea7adef6273892573315b21d95f9f8f8caa0649ee4fea31865f60ac39493eb7
Contents?: true
Size: 1.15 KB
Versions: 5
Compression:
Stored size: 1.15 KB
Contents
# encoding: UTF-8 require 'software_challenge_client' # This is an example of a client playing the game using the software challenge # gem. class Client < ClientInterface include Logging attr_accessor :gamestate def initialize(log_level) logger.level = log_level logger.info 'Einfacher Spieler wurde erstellt.' end # gets called, when it's your turn def move_requested logger.info "Spielstand: #{gamestate.points_for_player(gamestate.current_player)} - #{gamestate.points_for_player(gamestate.other_player)}" logger.debug "Board: #{gamestate.board.to_s}" move = best_move logger.debug "Zug gefunden: #{move}" unless move.nil? move end def best_move #gamestate.board.add_field(Field.new(5, 0)) logger.debug "Berechne zuege fuer Board #{gamestate.board.to_s}" logger.debug "Felder" gamestate.board.field_list.each do |f| if !f.empty? logger.debug "Feld (#{f.x}, #{f.y}) #{f.obstructed ? 'OO' : f.pieces.last.to_s}" end end possible_moves = GameRuleLogic.possible_moves(gamestate) logger.debug "#{possible_moves.size} moegliche Zuege gefunden" possible_moves.sample end end
Version data entries
5 entries across 5 versions & 1 rubygems