package net.ciklum.icfpc11.controller.runners import net.ciklum.icfpc11.domain.Game import net.ciklum.icfpc11.domain.Player import net.ciklum.icfpc11.parser.Command import net.ciklum.icfpc11.controller.ai.StaticStrategy import static net.ciklum.icfpc11.domain.Card.* import static net.ciklum.icfpc11.parser.Application.LEFT import net.ciklum.icfpc11.controller.ConsolePlayer import net.ciklum.icfpc11.controller.AiPlayer import net.ciklum.icfpc11.controller.Controller /** * blabla * @author vic */ @Typed class GoldfishTester { static List commands = StaticStrategy.COMMANDO42 static void main(String[] args) { ConsolePlayer player = new ConsolePlayer('me') Player goldfish = new Player('goldfish') { @Override Command getNextCommand() { new Command(LEFT, 0, put) } } AiPlayer ai = new AiPlayer('ai') commands = (0..10000).collect { ai.nextCommand } def game = Game.push(player, goldfish) def controller = new Controller(game) commands.each { controller.applyCommand(it) player.respondCommand(it) game.nextTurn() Command c = goldfish.nextCommand controller.applyCommand(c) player.respondCommand(c) game.nextTurn() } println "Player 0" println player.slotsToString() println "player 1 (goldfish)" println goldfish.slotsToString() } }