Beispiel #1
0
def main(argv):
    loading_width = 50
    scores = []
    start = time.time()
    for i in range(FLAGS.n_games):
        controller = GameController(gameplayMode=FLAGS.mode,
                                    optimizer=FLAGS.opt,
                                    depth=FLAGS.depth,
                                    display_board=FLAGS.display_board)
        grid = controller.run(moveDelay=FLAGS.move_delay)
        scores.append(max(grid))

    end = time.time() - start

    print('Highest score: {}'.format(0 if len(scores) == 0 else max(scores)))
    d = {}
    for i in scores:
        if i in d:
            d[i] += 1
        else:
            d[i] = 1
    for i in sorted(list(d)):
        print('{}: {}'.format(i, d[i] / len(scores)))
    print('Average time per game: {} seconds'.format(
        end / (1 if FLAGS.n_games == 0 else FLAGS.n_games)))
 def setUp(self):
     self.controller = GameController()
     self.controller.show()
     self.xybh = [
         (130, 180, 75, 23), (210, 180, 75, 23), (290, 180, 75, 23),
         (370, 180, 75, 23), (450, 180, 75, 23), (130, 150, 75, 23),
         (210, 150, 75, 23), (290, 150, 75, 23), (370, 150, 75, 23),
         (450, 150, 75, 23), (130, 120, 75, 23), (210, 120, 75, 23),
         (290, 120, 75, 23), (370, 120, 75, 23), (450, 120, 75, 23)
     ]
Beispiel #3
0
def main():
    gamecon = GameController()
    gamecon.player1.key = 5
    gamecon.player2.key = 6
    for i in range(2):
        for j in range(3):
            filename = "sample_input/p{0}d{1}.json".format(i + 1, j + 1)
            with open(filename) as f:
                data = json.load(f)
            gamecon.deploy_minions(data)
    gamecon.execute_game()
    print("win:{}".format(gamecon.game.win))
Beispiel #4
0
    def __init__(self, show_graphics: bool = True):

        self.running: bool = True

        self.game = GameController(self)
        RunController.game = self.game

        self.gph = Graphics(self, self.game.map, self.game.player)
        RunController.gph = self.gph

        self.game_events: list = []
        self.show_graphics: bool = show_graphics
        self.graphics_events: deque = deque([])
Beispiel #5
0
def current_room_test():
    gc = GameController()
    gc.goc.add_room('gameobjects/room/template.rm')
    # Start server on GC
    for id, lf in gc.goc.lifeforms.items():
        print(lf.current_room)

    s = multiprocessing.Process(target=gc.run, name="Run", args=())
    s.start()
    time.sleep(2)
    c = client.GameClient()
    c.login()
    c.send('evaluate', 'gameobjects[{0}].current_room'.format(c.id))
    s.terminate()
    s.join()
Beispiel #6
0
def play_game():

    game = GameController()
    game.prep_player()

    while game.ask_play():

        game.ask_player_bet()
        game.prep_dealer()
        game.hand_to_player()
        game.hand_to_dealer()

        # we may have a winner right with the initial cards
        initial_outcome = game.check_initial_hands()
        if initial_outcome != 'game goes on':
            game.process_blackjack(initial_outcome)
            game.collect_used_cards()
            continue

        game.do_player_turn()
        # if player busts, dealer wins and does not even
        # have to show his hidden card
        player_status = game.check_player()
        if player_status == 'player_busted':
            game.handle_game_outcome('dealer')
            game.collect_used_cards()
            continue

        game.do_dealer_turn()
        dealer_status = game.check_dealer()
        if dealer_status == 'dealer_busted':
            game.handle_game_outcome('player')
            game.collect_used_cards()
            continue

        # neither dealer nor player busted so
        # let's find the winner based on totals
        outcome = game.find_winner()
        game.handle_game_outcome(outcome)
        game.collect_used_cards()

    # player answered 'no' to the play again question
    print("\nYou go home with $" + str(game.player.bankroll))
    print("Thanks for playing!")
Beispiel #7
0
def main():
    resolution = (1200, 800)
    max_fps = 50
    default_backcolor = (0, 0, 0)
    pygame.init()

    screen = pygame.display.set_mode(resolution)
    clock = pygame.time.Clock()

    filename = os.path.normpath("assets/images/stars.jpg")
    image = pygame.image.load(filename)
    background_image = image.subsurface((0,0), (resolution[0], resolution[1])).copy()
    background_image.convert()
    background_image.set_alpha(127)

    main_event_queue = EventQueue()
    clock = pygame.time.Clock()
    context_data = { "clock": clock,
                     "resolution": resolution,
                     "screen": screen,
                    }
    game_context = GameContext(context_data)
    game_controller = GameController(main_event_queue, game_context)
    loop = True
    clock.tick(max_fps)
    clock.tick(max_fps)

    # intro module
    sigla.intro_title(screen, game_context)
    pygame.time.wait(500)
    sigla.fade_to_black(resolution, screen)
    sigla.personaggi_entrano_in_scena(screen, game_context)
    sigla.fade_to_black(resolution, screen)

    while loop:
        loop = main_event_queue.handle_events()
        background_change, background, screen_elements = game_controller.update()
        screen.fill(default_backcolor)
        screen.blit(background_image, (0,0))
        screen_elements.draw(screen)
        pygame.display.flip()
        clock.tick(max_fps)
Beispiel #8
0
def ai_gambits():
    print('-------------------------')
    print('Parse simple precondition: stat HP>10')
    gc = GameController()
    go, id = gc.goc.add_gameobject('gameobjects/regression/dummy.lfm')
    print(go.ai)
    print(go.aic.data)
    aic = go.aic
    r = aic.check_condition(['stat', 'HP<10'], go)
    print(r)
    assert r is False
    r = aic.check_condition(['stat', 'MND>20'], go)
    print(r)
    assert r is True
    r = aic.check_condition(['stat', 'MP>100'], go)
    print(r)
    assert r is False
    r = aic.check_condition(['stat', 'MAXHP>11'], go)
    print(r)
    assert r is True
    r = aic.check_condition(['stat', 'SPD<20'], go)
    print(r)
    assert r is True
Beispiel #9
0
 def setUp(self):
     self.controller = GameController()
     self.controller.show()
from flask import Flask, request, session, escape, jsonify
import json
from gamecontroller import GameController

# declare variable

# main body of the game
game = GameController()
# waiting user of the game
user_list = []
# generated_key_list
generated_key_list = []
generated_key_number = 0
# matchした人
match = -1
# matching中のペア
matching = []

# print a nice greeting.


def say_hello(username="******"):
    return '<p>Hello %s!</p>\n' % username


# some bits of text for the page.
header_text = '''
    <html>\n<head> <title>Pocket Auto Chess</title> </head>\n<body>'''
instructions = '''
    <p><em>Hint</em>: This is a RESTful web service!</p>\n'''
home_link = '<p><a href="/">Back</a></p>\n'
Beispiel #11
0
def gamecontroller_test_basic():
    print('-----------------------')
    print(
        'Test 1 - Create GC, Add a room, Login player and verify player is added properly'
    )
    print('Instantiating GameController')
    gc = GameController()
    # Start server on GC
    s = multiprocessing.Process(target=gc.run, name="Run", args=())
    s.start()
    time.sleep(2)
    # Create gameclient and login
    c = client.GameClient()
    c.login()
    time.sleep(1)
    # Verify that playerid on Client and id in GOC match
    print(
        'Verifying that player Lifeform created in GOC and that it matches client charactername'
    )
    clientid = c.id
    response = c.send('evaluate', 'gameobjects[{0}].name'.format(clientid))
    assert response['response']['message'] == c.charactername
    response = c.send('evaluate', 'gameobjects[{0}].player'.format(clientid))
    print('Is player: {0}'.format(response['response']['message']))
    response = c.send('evaluate', 'gameobjects[{0}].ai'.format(clientid))
    print('AI: {0}'.format(response['response']['message']))
    print('Character created successfully!')
    time.sleep(1)
    print('Attempting to login again with same character, should NOT succeed')
    failed = False
    try:
        c.login()
    except ServerResponseError:
        failed = True
        print('Re-Login failed as expected!')
    assert failed is True
    time.sleep(1)

    print('------------------------')
    print('Test 2 - Player logout')
    print(
        'This test will now logout the player and confirm he has been removed from the GOC'
    )
    playername = c.send('evaluate', 'playernames')['response']['message'][0]
    print('{0} currently logged in, logging out...'.format(playername))
    c.logout()
    time.sleep(1)
    playername = c.send('evaluate', 'playernames')['response']['message']
    if len(playername) is not 0:
        raise RuntimeError('Player not successfully logged out')
    print('Player logged out and removed from GOC successfully!')
    print('Attempting to logout again, should not crash server...')
    failed = False
    try:
        c.logout()
    except ServerResponseError:
        failed = True
        print('Re-Logout failed as expected!')
    assert failed is True
    print('Second logout attempted failed as expected')
    time.sleep(1)
    s.terminate()
    s.join()

    print('---------------------------')
    print('Test 3 - Rapid login logout')
    # Constants #
    amount = 200

    gc = GameController()
    gc.goc._gameobjects = {}
    s = multiprocessing.Process(target=gc.run, name="Run", args=())
    s.start()
    time.sleep(2)
    # Create gameclient and login
    c = client.GameClient()
    print('Rapidly logging in and out 200 times')
    for i in range(0, amount):
        c.login()
        c.logout()
    print('Verifying no gameobjets in GOC')
    assert gc.goc.gameobjects == {}
    print('Success! No hero zombies left over!')
    s.terminate()
    s.join()

    print('-----------------------')
    print('Test 4 - Coordinates, verify coordinate updates')
    print('Instantiating GameController')
    gc = GameController()
    gc.goc.add_room('gameobjects/room/template.rm')
    # Start server on GC
    s = multiprocessing.Process(target=gc.run, name="Run", args=())
    s.start()
    time.sleep(2)
    c = client.GameClient()
    c.login()
    c.send('evaluate', 'gameobjects[{0}].current_room'.format(c.id))
    s.terminate()
    s.join()

def stop_screen(screen):
    curses.echo()
    curses.nocbreak()
    screen.keypad(False)
    curses.endwin()


def exit_app(ecode, screen):
    stop_screen(screen)
    sys.exit(ecode)


if __name__ == '__main__':
    a = get_args()
    s = init_screen()
    g = GameController(a[0], a[1], a[2], s)
    try:
        curses.wrapper(g.play)
    except KeyboardInterrupt:
        exit_app(1, s)
    except curses.error:
        print("Please don't resize the window!")
        exit_app(1, s)
    except RuntimeError as e:
        print(str(e))
        exit_app(1, s)

    exit_app(0, s)
Beispiel #13
0
"""
Created on 17.11.2017

@author: Michael Borko <*****@*****.**>, Hans Brabenetz <*****@*****.**>
@version: 20171117

@description: Implementation eines einfachen Spiels
"""

from gamecontroller import GameController
from PyQt5 import QtCore, QtGui, QtWidgets
import sys

if __name__ == "__main__":
    app = QtWidgets.QApplication(sys.argv)
    controller = GameController()
    controller.show()
    sys.exit(app.exec_())
Beispiel #14
0
from controllers import PlayerController
from controllers import TournamentController
from gamecontroller import GameController

if __name__ == "__main__":
    players = PlayerController()
    tournament = TournamentController()
    start = GameController(players, tournament)