def test(self): b = Board() a = Ai(b) g = Game(b, a) g.makeMove(0, 0, "o") g.makeMove(0, 1, "o") g.makeMove(0, 2, "o") g.makeMove(0, 3, "o") g.makeMove(0, 4, "o") self.assertEqual(g.gg(), True) b = Board() a = Ai(b) g = Game(b, a) g.makeMove(0, 0, "o") g.makeMove(1, 0, "o") g.makeMove(2, 0, "o") g.makeMove(3, 0, "o") g.makeMove(4, 0, "o") self.assertEqual(g.gg(), True) b = Board() a = Ai(b) g = Game(b, a) g.makeMove(0, 0, "o") g.makeMove(1, 1, "o") g.makeMove(2, 2, "o") g.makeMove(3, 3, "o") g.makeMove(4, 4, "o") self.assertEqual(g.gg(), True) b = Board() a = Ai(b) g = Game(b, a) g.makeMove(0, 5, "o") g.makeMove(1, 4, "o") g.makeMove(2, 3, "o") g.makeMove(3, 2, "o") g.makeMove(4, 1, "o") self.assertEqual(g.gg(), True) b = Board() a = Ai(b) g = Game(b, a) g.makeMove(0, 5, "o") g.makeMove(1, 4, "o") g.makeMove(5, 3, "o") g.makeMove(3, 2, "o") g.makeMove(4, 1, "o") self.assertEqual(g.gg(), False)
def _play(self): self.frame_2 = Frame(self.main_window) self.frame_2.pack() try: self._rows = int(self.row_entr.get()) self._columns = int(self.col_entr.get()) if self._rows < 2 or self._rows > 20 or self._columns < 2 or self._columns > 20: raise GameException("This size of the board is not allowed!") self.frame_1.pack_forget() self.frame_play.pack_forget() self._game = Game([self._rows, self._columns]) self.buttons = [] count = 0 for row in range(self._rows): for col in range(self._columns): self.buttons.append(Button(self.frame_2,text = " ",\ width = 3, height = 1, bg = "thistle2",\ command = lambda col = col,row = row : self._move(row,col) )) self.buttons[count].grid(column=col, row=row) count += 1 except Exception as e: messagebox.showerror("Error!", str(e))
def testGame(self): b1 = Board() g = Game(b1) p1 = Point(0, 1) p2 = Point(0, 2) p3 = Point(0, 3) g.adS((p1, p2, p3)) p1 = Point(1, 1) p2 = Point(1, 2) p3 = Point(1, 3) g.adS((p1, p2, p3)) p1 = Point(3, 1) p2 = Point(3, 2) p3 = Point(3, 3) g.adS((p1, p2, p3)) with self.assertRaises(Exception): g.adS((p1, p2, p3)) g.chooseAi() while g.isWon() == False: g.makeMA() self.assertEqual(g.isWon(), True)
def __init__(self, numberOfPlayers, names): """ Initialize the Game Controller """ self.game = Game(numberOfPlayers, names) screen = GameScreen(self.game) ConsoleController.__init__(self, screen, commands={ENDL: self.nextMessage})
def buildGame(self, lobby): """ Build the Game """ players = self.getGamePlayers(lobby) return Game(players, mainDeck=self.mainDeck, kickDeck=self.kickDeck, weaknessDeck=self.weaknessDeck, superVillainDeck=self.loadSupervillainDeck( number=self.numberOfVillains))
def __init__(self, gen_size=100, threshold=10): self.games = [ Game(fps=100, caption='Game ' + str(x)) for x in range(gen_size) ] self.curr_gen = [ AIPlayer(x, [10, 10], random=True) for x in self.games ] self.gen_size = gen_size self.threshold = threshold
def setUp(self): unittest.TestCase.setUp(self) self.__rows = 4 self.__columns = 5 self.__10board = Board(10, 10) self.__board = Board(self.__rows, self.__columns) self.__game = Game([self.__rows, self.__columns]) self.__sq1 = Square(1, 1) self.__sq2 = Square(2, 2) self.__sq34 = Square(3, 4) self.__sq45 = Square(4, 5)
def testGame(self): b = Board() a = Ai() g = Game(b, a) self.assertEquals(g.getAiPlaneCount(), 0) g.addPlane(0, 2, 'S') g.addPlane(0, 7, 'S') g.addPlane(4, 6, 'S') self.assertEquals(g.getFromPosition(0, 2), 2) g.chooseAiPlanes() self.assertEquals(g.getAiPlaneCount(), 3) while g.isGameWon() == False: g.makeAiMove() self.assertEquals(g.wonPlayer(), False)
def game_main(version, generation, num_iter=1000): from Game.game import Game version_path = "Game/Version%d" % version generation_path = version_path + "/Generation%d" % generation try: if not os.path.exists(version_path): os.makedirs(version_path) if not os.path.exists(generation_path): os.makedirs(generation_path) except OSError: print("Failed to create directory") exit(-1) game = Game(False, version, generation, filepath=generation_path) game.run_with_encode(num_iter)
def start(self): player_move = True while True: try: rows = int(input("Number of rows for the board: ")) columns = int(input("Number of columns for the board: ")) if rows < 2 or rows > 20 or columns < 2 or columns > 20: raise GameException( "The number of rows and columns must be between 2 and 20!" ) self.__game = Game([rows, columns]) break except Exception as e: print(str(e)) b = self.__game.board while b.won() == False: try: if player_move: print(b) move = self._get_move() self.__game.human_move(move) else: self.__game.computer_move() player_move = not player_move except Exception as e: print(str(e)) print("Game over!") print(b) if player_move == True: print("Computer wins!") else: print("Player wins!")
async def _start_game(self, player_one, player_two): game = Game(player_one, player_two) player_one.state = PlayerState.IN_GAME player_two.state = PlayerState.IN_GAME player_one.game = game player_two.game = game if game.players_turn is player_one: player_one_msg = Messages.game_start(player_two.name, True) await self._send(player_one.socket, player_one_msg) player_two_msg = Messages.game_start(player_one.name, False) await self._send(player_two.socket, player_two_msg) else: player_one_msg = Messages.game_start(player_two.name, False) await self._send(player_one.socket, player_one_msg) player_two_msg = Messages.game_start(player_one.name, True) await self._send(player_two.socket, player_two_msg)
def view_update(self, data): if "full" == data: # 방 조인 가능성 print("풀방입니다") self.room = False elif "pos" == data: self.room = True elif "room_Info" in data: for num in range(3): if not len(data["room_Info"][str(num)]): # 방이 비어 있을 경우 self.view.room_listWidget.item(num).setText("빈방") elif len(data["room_Info"][str(num)]) == 2: # 2명 self.view.room_listWidget.item(num).setText( data["room_Info"][str(num)][0] + " vs " + data["room_Info"][str(num)][1]) else: # 1명 self.view.room_listWidget.item(num).setText(data["room_Info"][str(num)][0]) elif "white_black" in data: whit_black = data["white_black"] # 방접속 유저 self.view.id_left.setText(whit_black["white"]) self.view.id_right.setText(whit_black["black"]) elif "ready" in data: print(data["ready"]) elif "gamestart" in data: print("겜시작") a = data["gamestart"] print(a, "print a") print(self.view.user_id) a = data["gamestart"] color = a[self.view.user_id + str("님")] print(color) self.game = Game(color, 836, 836) # self.game.mouse_loop_init() self.game.mouse_loop(self.view.flask_connect, self.que)
def play_test(tester_player, trained, num_games): AI = AIPlayer(2, 3, trained.model_network) AI.otherPlayer = tester_player test_players = [tester_player, AI] test_match = Game(test_players, boardsize) wins = 0 start = time() matches = num_games invalid = 0 for i in range(matches): result = test_match.play() if result == 1: invalid += 1 else: wins += int(AI.score >= tester_player.score) test_match.reset() if matches == 500: print("invalids: ", invalid) print("win rate: ", wins / matches) print("playing time: ", time() - start) return wins, invalid
from Game.game import Game if __name__ == "__main__": game_instance = Game() game_instance.run()
def load_current_game(): print() print("---- Loading Save File ----") game = Game() game.load_game()
def play_new_game(): print() print("---- Starting New Game ----") game = Game() game.start_game()
from Game.game import Game if __name__ == "__main__": game1 = Game()
################# ''' ''' ####################### import pygame as PY from Engine.ace_engine import AceEngine from Game.game import Game PY.init() clock = PY.time.Clock() FPS = 30 G = Game(PY) AE = AceEngine.new(PY, G) def start(): while True: AE.get_input() AE.update() AE.render() clock.tick(FPS)
from Players.randomPlayer import RandomPlayer from Players.greedyPlayer import GreedyPlayer from Players.humanPlayer import HumanPlayer from Players.AIPlayer import AIPlayer from Game.game import Game HIDDEN = 100 boardsize = 3 #players = [RandomPlayer(1, boardsize), AIPlayer(3, 3, HIDDEN)] players = [RandomPlayer(1, boardsize), GreedyPlayer(3, boardsize)] g = Game(players, boardsize) g.play()
import curses, time, sys from Game.game import Game if len(sys.argv) <= 1: print('Host address is required as an argument [ip:port]') sys.exit() else: ip, port = sys.argv[1].split(":") s = curses.initscr() curses.curs_set(0) curses.noecho() game = Game(ip, int(port)) game.connect() while game.game == {}: time.sleep(0.2) game.draw() while True: try: key = game.window.getch() if key == 27: # Quit if esc break if key == 87 or key == 119: # w/W, Move game.move(0) elif key == 68 or key == 100: # d/D
from Server.server import Server from Ui.ui import Ui s = curses.initscr() uiState = -1 uiError = '' while True: ui = Ui(uiState, uiError) uiState = ui.state uiError = '' if ui.ip: # If connectin to a game try: game = Game(ui.ip[0], int(ui.ip[1])) game.connect() windowSize = s.getmaxyx() if windowSize[0] < game.size[0] or windowSize[1] < game.size[1]: uiError = f' Sorry, your terminal window has to be at least {game.size[1]}x{game.size[0]}. ' uiState = -1 else: game.start() break except: uiError = ' Error: Connection refused ' uiState = -1
from Model.ship import Ship from Model.board import Board from Model.ship import Point from Game.game import Game from ui.ui import UI if __name__ == '__main__': b = Board() g = Game(b) u = UI(g) u.start()
def BuildGame(mainDeck=[]): """ Build a Card for testing purposes """ return Game([BuildPlayer()], mainDeck=Deck(items=mainDeck), superVillainDeck=BuildSuperVillainDeck())
from Game.game import Game PRISONER_DILEMMA = { "players": (("A", "testify", "refuse"), ("B", "testify", "refuse")), "matrix": (((-5, -5), (-10, 0)), ((0, -10), (-1, -1))) } g = Game(PRISONER_DILEMMA) print "Dominant strategy for A: %s" % g.dominant_strategy("A") print "Dominant strategy for B: %s" % g.dominant_strategy("B") print "Equilibrium Points: %s" % str(g.equilibrium()) CONSOLE_GAME = { "players": (("A", "blu", "dvd"), ("B", "blu", "dvd")), "matrix": (((9, 9), (-4, -1)), ((-3, -1), (5, 5))) } g = Game(CONSOLE_GAME) print "Dominant strategy for A: %s" % g.dominant_strategy("A") print "Dominant strategy for B: %s" % g.dominant_strategy("B") print "Equilibrium Points: %s" % str(g.equilibrium())
from Model.board import Board from Model.ai import Ai from Game.game import Game from ui.ui import UI if __name__ == '__main__': b = Board() a = Ai(b) g = Game(b, a) u = UI(g) u.start()
from Game.game import Game # if __name__ == "__main__": 의 조건문 뒤의 코드는, 해당 조건문이 있는 파일에서만 실행되고, 다른 파일에 import 했을 시 실행되지 않는다. if __name__ == "__main__": # ##### Man Vs AI ##### # color = "White" # 항상 White 가 선공!! game = Game(color, "AI", 836, 836) game.ai_loop()
def ai_vs(self): # ##### Man Vs AI ##### # color = "White" # 항상 White 가 선공!! game = Game(color, "AI", 836, 836) game.ai_loop() return
t = TransProb(OBSERVATIONS) t.report() print "\n=== Homework 6.2 ===" CHAIN = ("A", 1.0, {True: 0.9, False: 0.5}) c = MarkovChain(CHAIN) print "stationary distribution: P(A) = %.4f" % c.stationary_distribution(True) print "stationary distribution: P(B) = %.4f" % c.stationary_distribution(False) print "\n=== Homework 6.3 ===" MODEL = ("A", 0.5, {True: 0.5, False: 0.5}, "X", {True: 0.1, False: 0.8}) m = MarkovModel(MODEL) m.p({"A0": True}, {"X0": True}) m.p({"A1": True}, {"X0": True}) m.p({"A1": True}, {"X0": True, "X1": True}) print "\n=== Homework 6.11 ===" from Game.game import Game HW6_11 = { "players": (("B", "d", "e", "f"), ("A", "a", "b", "c")), "matrix": ( ((3, 3), (5, 0), (2, 1)), ((2, 4), (7, 8), (4, 6)), ((7, 5), (8, 5), (5, 3)), ) } g = Game(HW6_11) print "Dominant strategy for A: %s" % g.dominant_strategy("A") print "Dominant strategy for B: %s" % g.dominant_strategy("B") print "Equilibrium Points: %s" % str(g.equilibrium())