Exemple #1
0
    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)
Exemple #2
0
    def __init__(self):
        self.updating = False
        self.board_width = 400
        self.board_height = 500

        self.startingpos_x = 0
        self.startingpos_y = -self.board_height / 2 + 50
        self.targetpos_x = 0
        self.targetpos_y = self.board_height / 2 - 50

        self.pool_size = 200

        self.iteration_max = 1000
        self.iteration_counter = 0
        self.movement_speed = 1

        self.generation = 0
        self.max_fitness = 0
        self.fitness_array = []

        target = Target(self.targetpos_x, self.targetpos_y)
        self.board = Board(self.board_width, self.board_height, target)
        self.pool = [
            Dot(self.startingpos_x, self.startingpos_y)
            for i in range(self.pool_size)
        ]

        for dot in self.pool:
            dot.generate_first_generation(self.iteration_max)
Exemple #3
0
def main():
    screen.fill(GREY)

    running = True
    # board_panel.draw_board(screen)

    while running:
        global board
        for event in pygame.event.get():
            if event.type == pygame.QUIT:
                running = False

            board_panel.get_event(event, board)
            title_bar.get_event(event, board)

        #global board

        # reset_board(title_bar, board)
        if title_bar.is_reset_board is True:
            print("Hello")
            new_row = board.rows
            new_col = board.columns
            board = Board(new_row, new_col)
            # board.reset_bitboard()
        board_panel.draw_board(screen)
        title_bar.draw(screen)
        pygame.display.update()
Exemple #4
0
    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)
Exemple #5
0
    def testBoard(self):
        p1 = Point(0, 1)
        p2 = Point(0, 2)
        p3 = Point(0, 3)
        s = Ship(p1, p2, p3, "player")
        b = Board()
        b.aS(s)

        p1 = Point(1, 1)
        p2 = Point(1, 2)
        p3 = Point(1, 3)
        s = Ship(p1, p2, p3, "player")
        b.aS(s)

        p1 = Point(3, 1)
        p2 = Point(3, 2)
        p3 = Point(3, 3)
        s = Ship(p1, p2, p3, "player")
        b.aS(s)
        with self.assertRaises(Exception):
            b.aS(s)
Exemple #6
0
def init_game(controller, player, screen):
    bo = Board()
    if player == 0:
        globals.file_name = 'player_first'
    else:
        globals.file_name = 'AI_first'
    controller.set_board(bo)
    if player is 0:
        globals.state = State.player
        bo.valid_matrix = valid.get_valid_list(bo.matrix, black)
    else:
        globals.state = State.AI
        print(globals.file_name)
        globals.player_color = white
        globals.AI_color = black
        bo.valid_matrix.clear()
        controller.AI_play()
    screen.delete(ALL)
    screen.bind("<Button-1>",
                handler_adaptor(on_canvas_click, controller=controller))
    screen.pack()
    screen.repaint(bo)
Exemple #7
0
 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)
Exemple #8
0
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()
Exemple #9
0
 def testBoard(self):
     b = Board()
     self.assertEquals(b.getFromPosition(0, 0), 0)
     b.setOnPosition(0, 0, 1)
     self.assertEquals(b.getFromPosition(0, 0), 1)
     b.makeMove(Point(1, 2))
     self.assertEquals(b.getFromPosition(1, 2), 4)
     p = Plane(Point(1, 2), 'S', 'Player')
     with self.assertRaises(Exception):
         b.addPlane(p)
     p = Plane(Point(2, 2), 'S', 'Player')
     b.addPlane(p)
Exemple #10
0
def reset_board(title_bar, board):
    if title_bar.is_reset_board is True:
        new_board = Board(board.rows, board.columns)
        return new_board
    return board
Exemple #11
0
import pygame
import os

from Attributes.game_attributes import reset_board
from Engine.GUI import Button, reveal, BoardPanel, TilePanel, TitleBar, hit
from Model.board import Board

BLACK = (0, 0, 0)
WHITE = (200, 200, 200)
GREY = (165, 165, 165)

TILE_SIZE = 25

board = None

board = Board()

WINDOW_HEIGHT = board.rows * 25
WINDOW_WIDTH = board.columns * 25

pygame.init()
screen = pygame.display.set_mode((WINDOW_WIDTH, WINDOW_HEIGHT + 50))
os.environ['SDL_VIDEO_CENTERED'] = '100'

board_panel = BoardPanel(board, WINDOW_WIDTH, WINDOW_HEIGHT)
title_bar = TitleBar(board_panel, command=hit)


def main():
    screen.fill(GREY)
Exemple #12
0
from Model.board import Board
from Attributes.game_attributes import reveal

board = Board(9, 9)

print("XRAY")
board.print_board_xray()

print()
print()

reveal(board, board.bitboard[4][4])

board.print_board()

print()
print()