Exemplo n.º 1
0
    def init(self, server, numPlayers=4):
        #### Server details ####
        self.whoAmI = 0
        self.server = server
        self.otherStrangers = 0
        self.pokerMove = None  # the move that is to be sent

        #### Game Details ####
        self.screen = 'splash'  # 'game', 'gameOver', 'help', 'credits'
        # 'help-game'
        self.timerDelay = 0
        self.tickSpeed = 10
        self.font = pygame.font.Font(pygame.font.get_default_font(), 12)
        self.players = [Player(i) for i in range(numPlayers)]
        self.boardImage = getBoardImage(self.width, self.height)
        self.statusBoardImage = getStatusBoardImage(self, 4)
        self.cardScale = 30  # changes size of cards
        self.cardImages = getCardImages(self.cardScale)
        self.drawPlayerPositions = getDrawPlayerPositions(self, numPlayers)
        self.buttonImages = getButtonImages()
        self.status = GameController(numPlayers, self.players)
        self.buttonPositions = dict()

        #### Multiplayer Specific Fixes ####
        self.status.server = self.server
        self.status.firstClick = False
Exemplo n.º 2
0
 def read_message(self, message):
     if message.startswith("DECK:"):
         self.rerender = True
         self.cards_to_load = message[len("DECK:"):].split(",")
         if len(self.cards_to_load) > 0:
             self.check_current()
         else:
             print "EMPTY DECK!!"
             self.main.client.close()
     elif message.startswith("CARDFILE:"):
         self.rerender = True
         s1 = message[len("CARDFILE:"):]
         s2 = s1[:s1.index(":")]
         #print "RECEIVED CARD "+s2+"/"+str(len(self.cards_to_load))
         self.current_message = s2 + "/" + str(len(self.cards_to_load))
         index = int(s2)
         s3 = s1[len(s2) + 1:]
         #print s3[:1000]
         self.main.master_deck.unpickle_and_add_card(s3)
         print "'" + self.main.master_deck.cards[-1].name + "' downloaded."
         if CLIENT_PRERENDER_DECK:
             self.card_img = pygame.transform.smoothscale(
                 self.main.master_deck.cards[-1].get_image(),
                 self.card_size)
             self.add_to_collage()
         self.check_next()
     elif message.startswith("CARDFILE_ATTRIBUTES:"):
         self.rerender = True
         s1 = message[len("CARDFILE_ATTRIBUTES:"):]
         s2 = s1[:s1.index(":")]
         #print "RECEIVED CARD ATTRIBUTES "+s2+"/"+str(len(self.cards_to_load))
         self.current_message = s2 + "/" + str(len(self.cards_to_load))
         index = int(s2)
         s3 = s1[len(s2) + 1:]
         if self.matching_card.pc_attributes != s3:
             #Our attributes file varies from theirs, so we have to download the entire card... poop.
             self.main.client.send("REQUEST_CARDFILE:" +
                                   str(self.card_index))
         else:
             self.main.master_deck.cards.append(self.matching_card)
             if CLIENT_PRERENDER_DECK:
                 self.card_img = pygame.transform.smoothscale(
                     self.main.master_deck.cards[-1].get_image(),
                     self.card_size)
                 self.add_to_collage()
             self.check_next()
     elif message == "CLIENT_READY":
         print "DURATION:", round(self.main.time - self.start_time, 3)
         self.rerender = True
         self.main.play_sound("connected")
         import GameController
         self.main.controller = GameController.GameController(self.main)
     else:
         return False
     return True
Exemplo n.º 3
0
    def eval_genomes(self, genomes, config):
        for genome_id, genome in genomes:
            self.final_score = 0
            self.inputs = []
            self.net = neat.nn.FeedForwardNetwork.create(genome, config)
            game = GameController.GameController(self)

            while game.playing_game:
                pass
            self.final_score = game.score
            genome.fitness = self.final_score

            if self.num % self.numPerGen == 0:
                self.num = 1
                self.gen += 1
            self.num += 1
Exemplo n.º 4
0
	def __init__ (self):
	
		self.lll = LowLevelLib ()
		self.inputmanager = InputManager (self)
		
		#self.display = Display ()
		self.viewspace = ViewSpace ()
		self.curmap = Map (40)
		# just for test
		self.curmap.heights.setHeight(2,3,-1)
		self.curmap.heights.setHeight(2,5,1)
		self.curmap.heights.setHeight(4,5,-1)
		self.gfxengine = GFXEngine (self.lll, self.viewspace, self.curmap)
		self.gamecontroller = GameController (self)
		self.running = False
		self.starttime = 0
Exemplo n.º 5
0
    def __init__(self, address="0.0.0.0", port=5000):
        super(Server, self).__init__()
        self.CONNECTION_LIST = []  # list of socket client connected
        self.port = port
        self.ipaddr = address

        # create a new socket
        self.sockfd = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
        self.sockfd.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
        self.sockfd.bind((self.ipaddr, self.port))
        self.sockfd.listen(5)

        self.CONNECTION_LIST.append(self.sockfd)

        self.gameServer = GameController()
        self.msServer = MessageController()
        print "Game server started on port " + str(self.port)
Exemplo n.º 6
0
 def init(self, numPlayers=4):
     self.hideCards = True
     self.screen = 'splash' # 'game', 'gameOver', 'help', 'credits'
     # 'help-game'
     self.timerDelay = 0; self.tickSpeed = 10
     self.font = pygame.font.Font(pygame.font.get_default_font(), 12)
     self.players = [Player(i) for i in range(numPlayers)]
     self.boardImage = getBoardImage(self.width, self.height)
     self.statusBoardImage = getStatusBoardImage(self, 4)
     self.cardScale = 30 # changes size of cards
     self.cardImages = getCardImages(self.cardScale)
     self.drawPlayerPositions = getDrawPlayerPositions(self,numPlayers)
     self.buttonImages = getButtonImages()
     self.status = GameController(numPlayers, self.players)
     self.buttonPositions = dict()
     self.status.chooseStartCards(self.players)
     self.aiList = [None] + [AI(i) for i in range(1,numPlayers)]
     self.aiDiff = 'easy'
Exemplo n.º 7
0
def newGame(playerID, player):
    #Makes a new game for the player.
    game_sessions = open("../game_sessions/sessionlist", writeback=True)
    # create a new entry in game_sessions
    gameID = sha256(repr(time()).encode()).hexdigest()
    game_sessions[gameID] = [player]
    index = 0
    player_list = game_sessions[gameID]
    game_sessions.close()
    #print(list(game_sessions.keys()))
    # create a game, create a GameController for it and add the player
    game = open("../game_sessions/sess_" + gameID, writeback=True)
    gc = GameController()
    gc.joinGame(player)
    game["GameController"] = gc
    game.close()
    # make player session
    makePlayerSession(playerID, gameID, index)
    return str([pl._name for pl in player_list])
Exemplo n.º 8
0
def main():
    pygame.init()

    done = False

    # Start the clock
    clock = pygame.time.Clock()

    # Lock cursor to window
    #pygame.event.set_grab(True)

    # Build Game Controller
    gameController = GameController.GameController()

    # Loop Start
    while not done:
        gameController.handleInput()

        for event in pygame.event.get():
            if event.type == pygame.QUIT:
                done = True
            if event.type == pygame.KEYDOWN:
                if event.key == pygame.K_ESCAPE:
                    done = True

        gameController.update()

        gameController.draw()

        # Throttle frame rate
        clock.tick(const.FRAME_RATE)

        # Uncomment below to output fps to console
        #print(clock.get_fps())

        # Flip to user
        pygame.display.flip()

    #Loop End

    pygame.quit()
    sys.exit()
Exemplo n.º 9
0
        counter += 1

    view_label(game_screen, (start_x, start_y), 'Stats: ')


closeWindow = False
pos = [0, 0]
win_coord = [0, 0]

game_screen = set_window_settings(screen_size, 'My PyGame Windows')
camera = Camera(1000, 1000)

all_mobs = pygame.sprite.Group()
all_items = pygame.sprite.Group()
all_static = pygame.sprite.Group()
game_controller = GameController(game_screen, camera, all_mobs, all_items,
                                 all_static)

game_map = MapObject('map_test', game_screen, game_controller, (50, 50),
                     map_cell_size, 45, 25)
game_map.create_map_from_file('test_map_3.txt')

mob_creator = MobCreator(game_screen, game_map, game_controller)
item_creator = ItemCreator(game_screen, game_map, game_controller)

mob_creator.create_goblin('first goblin', (41, 5), 3)
mob_creator.create_goblin('second goblin', (19, 6), 3)
mob_creator.create_goblin('third goblin', (37, 20), 3)
mob_creator.create_goblin('fourth goblin', (30, 12), 3)
mob_creator.create_goblin('fifth goblin', (8, 13), 3)

for i in range(12, 20):
Exemplo n.º 10
0
from GameController import *

controller = GameController()
controller.startNewGame()
mainloop()
Exemplo n.º 11
0
import cocos
from model/game import GameModel
from view/game import GameModel
from controller/game import GameController

def get_scene()
	scene = cocos.scene.Scene()

	model = GameModel()
	view = GameView(model)
	controller = GameController(model)

	return scene
Exemplo n.º 12
0
#! /usr/bin/python3

import pygame
import GameView
import GameController
import GameMenu
import GameModel
import GameOptions

if __name__ == "__main__":
    deep1 = input("Player1's deep: ")
    deep2 = input("Player2's deep: ")
    deep1 = int(deep1)
    deep2 = int(deep2)
    deep = (deep1, deep2)
    pygame.mixer.pre_init(44100, -16, 2, 4096)
    pygame.mixer.init()
    pygame.init()
    gameModel = GameModel.GameModel()
    gameMenu = GameMenu.GameMenu()
    gameView = GameView.GameView(gameMenu.screen, gameModel)
    gameOptions = GameOptions.GameOptions(gameMenu.screen)
    gameController = GameController.GameController(gameView, gameMenu,
                                                   gameOptions, deep)
    gameController.main_menu()
Exemplo n.º 13
0
import argparse
from GameController import *


# Main program logic follows:
if __name__ == '__main__':

    
    # Process arguments
    parser = argparse.ArgumentParser()
    parser.add_argument('-c', '--clear', action='store_true', help='clear the display on exit')
    args = parser.parse_args()

    print ('Press Ctrl-C to quit.')
    if not args.clear:
        print('Use "-c" argument to clear LEDs on exit')
	
    GAME_CONTROLLER = GameController() #create game controller object

    try:
	GAME_CONTROLLER.gameLoop()
	
    except KeyboardInterrupt:
        if args.clear:
	    GAME_CONTROLLER.gameOver()
    #except:
	#GAME_CONTROLLER.GameOver()
Exemplo n.º 14
0
 def start_game(self):
     import GameController
     GameController.GameController(self)
Exemplo n.º 15
0
    def letsPlay(self):
        """
            Function to menage the game and the wigets like
            functional buttons:
            "HINT", "SKIP", "EXCHANGE ALL" "EXCHENGE ONE", "END MOVE"
            and labels:
            turn label, score label, information about points for letters
            and visualisation of the player's rack.
            :return: void - only creating tkinter wigets
        """

        b = [['' for columns in range(15)]
             for rows in range(15)]  #represetation of the board
        GameContr = GameController(self.root, self.mainframe, self.sack,
                                   self.player1, self.player2)
        board = BoardVisual(self.root, self.mainframe,
                            b)  #visualization of the board
        emptyLabel = Label(self.mainframe,
                           text="     ").grid(column=19,
                                              row=1)  #just for good placing
        #fuctional buttons
        skipB = Button(self.mainframe, text="SKIP", width=12)
        skipB["command"] = lambda: GameContr.skip(PScoreLabel, ScoreLabel,
                                                  TurnLabel, PRackButtons)
        exchangeAllB = Button(self.mainframe, text="EXCHANGE ALL", width=12)
        exchangeAllB["command"] = lambda: GameContr.exchangeAll(PRackButtons)
        exchangeOneB = Button(self.mainframe, text="EXCHANGE ONE", width=12)
        exchangeOneB["command"] = lambda: GameContr.exchangeOne(
            PRackButtons, board.board, exchangeAllB, exchangeOneB, skipB)
        hintButton = Button(self.mainframe,
                            text="HINT",
                            width=12,
                            state="disabled")
        hintButton["command"] = lambda: GameContr.hint(
            board, PScoreLabel, ScoreLabel, TurnLabel, PRackButtons)
        endMoveButton = Button(self.mainframe, text="END MOVE", width=12)
        endMoveButton["command"] = lambda: GameContr.endTurn(
            PScoreLabel, ScoreLabel, TurnLabel, PRackButtons, board.board,
            hintButton, exchangeAllB, exchangeOneB, skipB)
        skipB.grid(column=20, row=7)
        exchangeAllB.grid(column=20, row=8)
        exchangeOneB.grid(column=20, row=9)
        hintButton.grid(column=20, row=10)
        endMoveButton.grid(column=20, row=11)

        #displaying who's turn it is and the score
        TurnLabel = Label(self.mainframe,
                          text="IT'S " + str(self.player1.name).upper() +
                          "'S TURN")
        PScoreLabel = Label(self.mainframe,
                            text=str(self.player1.name).upper() + "'S SCORE:")
        ScoreLabel = Label(self.mainframe, text=str(self.player1.score))
        TurnLabel.grid(column=20, row=2)
        PScoreLabel.grid(column=20, row=3)
        ScoreLabel.grid(column=21, row=3)

        #displaying info about points for letters (letter=points)
        infoL = Label(self.mainframe, text="POINTS\n" "FOR LETTERS:")
        infoL.grid(column=30, row=1)
        letters = Letters()
        bag = letters.bag
        i = 0
        for key, val in bag.items():
            if i <= 12:
                LettersL = Label(self.mainframe,
                                 text=str(key) + " = " + str(val[0]) + "   ")
                LettersL.grid(column=31, row=2 + i)

            else:
                LettersL = Label(self.mainframe,
                                 text=str(key) + " = " + str(val[0]))
                LettersL.grid(column=32, row=2 + i - 13)
            i += 1

        PRackButtons = []  #buttons representing player's rack
        playerRack = self.player1.rack.getRack()

        emptyL2 = Label(self.mainframe,
                        text="    ").grid(column=22, row=1)  #just for placing

        for i in range(len(playerRack)):  #visualizing the rack
            button = Button(self.mainframe,
                            height=3,
                            width=3,
                            bg="bisque",
                            fg="gray1",
                            text=str(playerRack[i]))
            button.grid(column=23 + i, row=9)
            PRackButtons.append(button)

        for i in range(len(PRackButtons)
                       ):  #enable letters (buttons) to be moved to the board
            PRackButtons[i]["command"] = lambda x=i: GameContr.makeMove(
                x, board.board, PRackButtons, exchangeAllB, exchangeOneB, skipB
            )
Exemplo n.º 16
0
    def createGameFrame(self, frame):
        self.gameController = GameController(frame)

        #add callback funtion so that user can return from game to main menu
        self.gameController.addReturnCallBack(self.mainMenu)
 def setUp(self):
     self.gameController = GameController()
Exemplo n.º 18
0
import GameController
import pygame
import numpy as np

if __name__ == '__main__':
    pygame.init()
    game = GameController.GameController()
    game.main_game_loop()
Exemplo n.º 19
0
#! /usr/bin/python3

import pygame
import GameView
import GameController
import GameMenu
import GameModel

if __name__ == "__main__":
    pygame.mixer.pre_init(44100, -16, 2, 4096)
    pygame.mixer.init()
    pygame.init()
    gameModel = GameModel.GameModel()
    gameMenu = GameMenu.GameMenu()
    gameView = GameView.GameView(gameMenu.screen, gameModel)
    gameController = GameController.GameController(gameView, gameMenu)
    gameController.main_menu()
Exemplo n.º 20
0
import pygame
from time import sleep

wiringpi.wiringPiSetupGpio()
pygame.init()
TableConfig.setupPinModes()
SkeletonManager.setupPinModes()
JankyWindow.init()

LightBoard.init()
LightBoard.clearBoard()

soundManager = SoundManager.SoundManager()
lobbyController = LobbyController.LobbyController(soundManager)
gameController = GameController.GameController(soundManager)

SkeletonManager.skeletonDown()
soundManager.playLobbyMusic()
while True:
    print("Start Lobby")
    lobbyController.runLobby()
    activeTableNumbers = lobbyController.activeTableNumbers

    soundManager.stopMusic()
    lobbyController.runStartingSequence()

    print("Start Game")
    soundManager.playGameMusic()
    gameController.setupNewGameWithTableNumbers(activeTableNumbers)
    gameController.runGame()
Exemplo n.º 21
0
from GameController import *




g1 = GameController("gens.exe")

g1.startGame()



Exemplo n.º 22
0
#Main application to test image viewer

import tkinter as tk
from tkinter import ttk
import TerminalFrame as tf
import ChatFrame as cf
import ServerFrame as sf
import GameController as gc
import KeyInfoFrame as kif

# CREATE THE CHALLENGE VARIABLE
gameController = gc.GameController()

root = tk.Tk()
root.geometry("800x500")
root.title("Central Intelligence Aggies")

tabControl = ttk.Notebook(root)

tab1 = ttk.Frame(tabControl)
terminalFrame = tf.TerminalFrame(tab1)
terminalFrame.setGC(gameController)

tab2 = ttk.Frame(tabControl)
chatFrame = cf.ChatFrame(tab2)
chatFrame.setGC(gameController)

tab3 = ttk.Frame(tabControl)
serverFrame = sf.ServerFrame(tab3)
serverFrame.setGC(gameController)
import sys
sys.path.append('../')

from GameController import *
from User import *

newGame = GameController()
player1 = User()
newGame.hostGame(player1, socket.gethostbyname(''), 10000)
Exemplo n.º 24
0
#Images
images = {}
for image in [f for f in os.listdir("images\\") if f.endswith('.png')]:
    key = image[0:len(image) - 4]
    images[key] = pygame.image.load("images\\" + image).convert()
#SET TILE SIZE - Each tile must be same size for this system.
tileSize = 60

#Create fresh board
boards = []
for i in range(9):
    if i % 3 == 0:
        boards.append([])
    boards[len(boards) - 1].append(
        Board([[Square(row, col, images, i) for col in range(3)]
               for row in range(3)], i % 3,
              len(boards) - 1, images))
#Squares are objects respresented in a 2D array in each board.
#Squares are individually selected/playable spots
#Boards are objects represented in a 2D array in gamecontroller
#Boards are combination of squares that have a win condition
#Game controller is a combination of boards with a win conditon

#Start screen have options between 2-Player, AI
gc = GameController(boards)  #Initialize gameController
gc.main_menu(screen)  #Beginning start menu
while gc.playing:
    gc.update(
        screen
    )  #Update gamecontroller which updates the entire game including taking in input