Пример #1
0
def test_polygon():
    from gameclass import Game
    from spritebuilder import SpriteBuilder

    game = Game("Cartes/gardenofdelight.json", SpriteBuilder)
    game.draw()
    draw_transparent_arrow(game.screen, 400, 100, 1 + pi)
    draw_arrow(game.screen, 300, 100, 1)
    pygame.display.flip()

    while True:
        for event in pygame.event.get():  # User did something
            if event.type == pygame.QUIT:  # If user clicked close
                pygame.quit()
                quit()
def init(_boardname=None):
    global player, game
    # pathfindingWorld_MultiPlayer4
    name = _boardname if _boardname is not None else 'pathfindingWorld_MultiPlayer2'
    game = Game('Cartes/' + name + '.json', SpriteBuilder)
    game.O = Ontology(True, 'SpriteSheet-32x32/tiny_spritesheet_ontology.csv')
    game.populate_sprite_names(game.O)
    game.fps = 10  # frames per second
    game.mainiteration()
    game.mask.allow_overlaping_players = True
Пример #3
0
def init(_boardname=None):
    global player, game, tailleV, tailleH
    name = _boardname if _boardname is not None else 'pathfindingWorld3'
    game = Game('Cartes/' + name + '.json', SpriteBuilder)
    game.O = Ontology(True, 'SpriteSheet-32x32/tiny_spritesheet_ontology.csv')
    game.populate_sprite_names(game.O)
    game.fps = 5  # frames per second
    game.mainiteration()
    player = game.player
    tailleV = game.spriteBuilder.rowsize
    tailleH = game.spriteBuilder.colsize
def init(_boardname=None):
    global player,game
    name = _boardname if _boardname is not None else 'pathfindingWorld_multiPlayer'
    game = Game('Cartes/' + name + '.json', SpriteBuilder)
    game.O = Ontology(True, 'SpriteSheet-32x32/tiny_spritesheet_ontology.csv')
    game.populate_sprite_names(game.O)
    game.fps = 5  # frames per second
    game.mainiteration()
Пример #5
0
 def __init__(self, boardNumber=1, boardName=None, fps=5, iterations=100):
     """
     boardNumber : identifiant de la carte de jeu à utiliser.
     fps : nombre de cadres par seconde.
     iterations : nombre maximal d'itérations.
     """
     global game
     if boardName is None:
         game = Game(
             'Cartes/pathfindingWorld_MultiPlayer' + str(boardNumber) +
             '.json', SpriteBuilder)
     else:
         game = Game('Cartes/' + str(boardName) + '.json', SpriteBuilder)
     game.O = Ontology(True,
                       'SpriteSheet-32x32/tiny_spritesheet_ontology.csv')
     game.populate_sprite_names(game.O)
     game.fps = fps  # frames per second
     game.mainiteration()
     game.mask.allow_overlaping_players = False
     self.iterations = iterations
Пример #6
0
def init(_boardname=None):
    global player,game
    # pathfindingWorld_MultiPlayer4
    name = _boardname if _boardname is not None else 'tictactoeBis'
    game = Game('Cartes/' + name + '.json', SpriteBuilder)
    game.O = Ontology(True, 'SpriteSheet-32x32/tiny_spritesheet_ontology.csv')
    game.populate_sprite_names(game.O)
    game.fps = 5  # frames per second
    game.mainiteration()
    game.mask.allow_overlaping_players = True
Пример #7
0
def init(_boardname=None):
    global player,game
    name = _boardname if _boardname is not None else 'gardenofdelight'
    game = Game('Cartes/' + name + '.json', GardenSpriteBuilder)
    game.O = Ontology(True, 'SpriteSheet-32x32/tiny_spritesheet_ontology.csv')
    game.populate_sprite_names(game.O)
    game.fps = 60  # frames per second
    game.mainiteration()
    player = game.player
    if _boardname in ['planter_enclos','panier_plein']:
        rempli_panier_de_citrouilles(100)
    def __init__(self, _boardname=None, swap=False, affiche=True):
        self.game = Game()
        name = _boardname if _boardname is not None else 'at2'
        self.game = Game('Cartes/' + name + '.json', SpriteBuilder)
        self.game.O = Ontology(
            True, 'SpriteSheet-32x32/tiny_spritesheet_ontology.csv')
        self.game.populate_sprite_names(self.game.O)
        self.game.fps = 2  # frames per second
        self.affiche = affiche
        if affiche:
            self.game.mainiteration()
        self.game.mask.allow_overlaping_players = True

        # player = game.player

        # on localise tous les états initiaux (loc du joueur)
        self.initStates = [o.get_rowcol() for o in self.game.layers['joueur']]
        print("Init states:", self.initStates)

        # on localise tous les objets ramassables
        self.goalStates = [
            o.get_rowcol() for o in self.game.layers['ramassable']
        ]
        print("Goal states:", self.goalStates)

        # on localise tous les murs
        self.wallStates = [
            w.get_rowcol() for w in self.game.layers['obstacle']
        ]
        # print ("Wall states:", self.wallStates)

        self.nbIteration = 0

        if swap:
            self.goalStates[0], self.goalStates[1] = self.goalStates[
                1], self.goalStates[0]

        self.players = [o for o in self.game.layers['joueur']]
Пример #9
0
def init(_boardname=None,_spriteBuilder=TurtleSpriteBuilder,screen_width=None,screen_height=None):
    """
    Reinitialise la carte et l'ensemble des parametres
    """
    global player,game
    pygame.quit()

    name = _boardname if _boardname else 'robot_obstacles'
    game = Game('Cartes/' + name + '.json', _SpriteBuilder=_spriteBuilder,screen_width=screen_width,screen_height=screen_height)

    game.fps = 200  # frames per second
    game.mainiteration()
    player = game.player

    # new attributes
    game.pencolor = glo.RED
    game.usepen = False
    game.frame_skip = 0
def init(_boardname=None):
    global player, game

    name = _boardname if _boardname is not None else 'pathfindingWorld_MultiPlayer1'
    #name = _boardname if _boardname is not None else 'pathfindingWorld_MultiPlayer2'
    #name = _boardname if _boardname is not None else 'pathfindingWorld_MultiPlayer3'
    #name = _boardname if _boardname is not None else '10x10'
    #name = _boardname if _boardname is not None else 'Lab_15x15'
    #name = _boardname if _boardname is not None else 'map' #NON
    #name = _boardname if _boardname is not None else 'map2' #NON
    #name = _boardname if _boardname is not None else 'pathfindingWorld_MultiPlayer_6x6' #YES
    #name = _boardname if _boardname is not None else 'pathfindingWorld_MultiPlayer_bomberman' #YES
    #name = _boardname if _boardname is not None else 'pathfindingWorld_MultiPlayer_impossible'
    #name = _boardname if _boardname is not None else 'pathfindingWorld_MultiPlayer_incroyable'
    #name = _boardname if _boardname is not None else 'pathfindingWorld_MultiPlayer_labyrinthe2'
    #name = _boardname if _boardname is not None else 'pathfindingWorld_MultiPlayer_labyrinthe3'
    name = _boardname if _boardname is not None else 'thirst'

    game = Game('Cartes/' + name + '.json', SpriteBuilder)
    game.O = Ontology(True, 'SpriteSheet-32x32/tiny_spritesheet_ontology.csv')
    game.populate_sprite_names(game.O)
    game.fps = 20  # frames per second
    game.mainiteration()
    game.mask.allow_overlaping_players = True
Пример #11
0
from ontology import Ontology
from itertools import chain
import pygame
import glo
from tree_Class import *

import random 
import numpy as np
import sys

    
# ---- ---- ---- ---- ---- ----
# ---- Main                ----
# ---- ---- ---- ---- ---- ----

game = Game()

def init(_boardname=None):
    global player,game
    # pathfindingWorld_MultiPlayer4
    name = _boardname if _boardname is not None else "pathfindingWorld_multiPlayer"
    game = Game('Cartes/' + name + '.json', SpriteBuilder)
    game.O = Ontology(True, 'SpriteSheet-32x32/tiny_spritesheet_ontology.csv')
    game.populate_sprite_names(game.O)
    game.fps = 15# frames per second
    game.mainiteration()
    game.mask.allow_overlaping_players = True
    #player = game.player


def conditionZone(next_row, next_col, wallStates):
class initTest():
    def __init__(self, _boardname=None, swap=False, affiche=True):
        self.game = Game()
        name = _boardname if _boardname is not None else 'at2'
        self.game = Game('Cartes/' + name + '.json', SpriteBuilder)
        self.game.O = Ontology(
            True, 'SpriteSheet-32x32/tiny_spritesheet_ontology.csv')
        self.game.populate_sprite_names(self.game.O)
        self.game.fps = 2  # frames per second
        self.affiche = affiche
        if affiche:
            self.game.mainiteration()
        self.game.mask.allow_overlaping_players = True

        # player = game.player

        # on localise tous les états initiaux (loc du joueur)
        self.initStates = [o.get_rowcol() for o in self.game.layers['joueur']]
        print("Init states:", self.initStates)

        # on localise tous les objets ramassables
        self.goalStates = [
            o.get_rowcol() for o in self.game.layers['ramassable']
        ]
        print("Goal states:", self.goalStates)

        # on localise tous les murs
        self.wallStates = [
            w.get_rowcol() for w in self.game.layers['obstacle']
        ]
        # print ("Wall states:", self.wallStates)

        self.nbIteration = 0

        if swap:
            self.goalStates[0], self.goalStates[1] = self.goalStates[
                1], self.goalStates[0]

        self.players = [o for o in self.game.layers['joueur']]

    def placementAlea(self):

        # -------------------------------
        # Placement aleatoire des fioles de couleur
        # -------------------------------
        for o in self.game.layers[
                'ramassable']:  # les rouges puis jaunes puis bleues
            # et on met la fiole qqpart au hasard
            x = random.randint(1, 19)
            y = random.randint(1, 19)
            while (x, y) in self.wallStates:
                x = random.randint(1, 19)
                y = random.randint(1, 19)
            o.set_rowcol(x, y)
            self.game.layers['ramassable'].add(o)
            self.game.mainiteration()

    def coopBaseStrategyTest(self):
        self.pathPlayersList = []
        for i in range(len(self.players)):
            self.pathPlayersList.append(
                PlayerPath(i, list(self.initStates[i]),
                           list(self.goalStates[i]), self.wallStates,
                           self.game))

        baseStrat = CoopBaseStrategy(self.pathPlayersList, self.game)
        self.nbIteration = 0
        while not baseStrat.onGoals():
            nextMoves = baseStrat.nextIteration()
            for key, value in nextMoves.items():
                self.players[key].set_rowcol(value[0], value[1])
            self.nbIteration += 1

            if self.affiche:
                self.game.mainiteration()

        pygame.quit()
        print("Cooperative Basic Strategy : done in ", self.nbIteration,
              " moves")

    def pathSlicingStrategyTest(self):
        self.pathPlayersList = []
        for i in range(len(self.players)):
            self.pathPlayersList.append(
                PlayerPath(i, list(self.initStates[i]),
                           list(self.goalStates[i]), self.wallStates,
                           self.game))

        pathsclicing = PathSlicingStrategy(self.pathPlayersList, self.game)
        self.nbIteration = 0
        while not pathsclicing.onGoals():
            nextMoves = pathsclicing.nextIteration()

            for key, value in nextMoves.items():
                self.players[key].set_rowcol(value[0], value[1])
            if self.affiche:
                self.game.mainiteration()

            self.nbIteration += 1

        pygame.quit()
        print("Path Slicing Strategy : done in ", self.nbIteration, " moves")

    def coopAdvStrategyTest(self):
        self.pathPlayersList = []
        for i in range(len(self.players)):
            self.pathPlayersList.append(
                PlayerPath(i, list(self.initStates[i]),
                           list(self.goalStates[i]), self.wallStates,
                           self.game))

        s = CoopAdvStrategy(list(self.initStates),
                            list(self.goalStates), self.pathPlayersList,
                            list(self.wallStates), self.game)
        self.nbIteration = 0
        while not s.onGoals():
            nextMoves = s.nextIteration()

            for key, value in nextMoves.items():
                self.players[key].set_rowcol(value[0], value[1])
            if self.affiche:
                self.game.mainiteration()
            self.nbIteration += 1

        pygame.quit()
        print("Cooperative Advanced Strategy : done in ", self.nbIteration,
              " moves")
Пример #13
0
def rungame(stdscr):
    myPlayer = Player(1, 1, random.randint(0, 10000), curses.COLOR_RED)
    # own Player always FIRST Player, was btw ne blöde Idee ist
    GAME = Game([myPlayer])
    curses.cbreak()
    stdscr.keypad(True)
    stdscr.nodelay(True)

    mainMenu = Menu.menu(["Exit", "Multiplayer"], stdscr)

    if (mainMenu == Menu.Singleplayer):
        exit()

    elif (mainMenu == Menu.Multiplayer):

        myName = TextInput.TextInput(stdscr, "Player Name", width=12)

        mpMode = Menu.menu(["Host", "Join"], stdscr)

        if (mpMode == Menu.Host):
            Netzwerker.getHookedorListen(GAME,
                                         isClient=False,
                                         IP="localhost",
                                         PORT=30814)

        elif (mpMode == Menu.Join):
            myPlayer.x += 1
            Netzwerker.getHookedorListen(GAME,
                                         isClient=True,
                                         IP="localhost",
                                         PORT=30814)

    levelIndex = Menu.menu(printLevels(), stdscr)
    room = readLevel(printLevels()[levelIndex][:-4])

    stdscr.clear()
    curses.curs_set(0)
    stdscr.addstr(0, 0, "\n".join(room))
    for player in GAME.Players:
        stdscr.addstr(player.x, player.y, player.rep)

    stdscr.refresh()
    stdscr.nodelay(True)

    while True:
        kp = stdscr.getch()
        # DEBUGgging
        stdscr.addstr(13, 1, str(time.time()))

        stdscr.addstr(0, 0, "\n".join(room))

        for player in range(len(GAME.Players)):
            # yes this is ugly
            stdscr.addstr(GAME.Players[player].x, GAME.Players[player].y, "-")

        if (kp == 113 or kp == 3):
            exit()
        elif (kp == ord("d")):
            myPlayer.move(0, 1, room)
            myPlayer.rep = ">"
        elif (kp == ord("a")):
            myPlayer.move(0, -1, room)
            myPlayer.rep = "<"
        elif (kp == ord("w")):
            myPlayer.move(-1, 0, room)
            myPlayer.rep = "ʌ"
        elif (kp == ord("s")):
            myPlayer.move(1, 0, room)
            myPlayer.rep = "v"

        for player in range(len(GAME.Players)):
            # yes this is ugly
            stdscr.addstr(
                10 + player, 1,
                str(GAME.Players[player].x) + "," +
                str(GAME.Players[player].y) + " " + GAME.Players[player].rep)
            stdscr.addstr(GAME.Players[player].x, GAME.Players[player].y,
                          GAME.Players[player].rep)

        stdscr.refresh()
Пример #14
0
from gardenworld import GardenSpriteBuilder
from gameclass import Game
from spritebuilder import SpriteBuilder
import pygame

game = Game('Cartes/gardenofdelight.json', GardenSpriteBuilder)
game.player.translate_sprite(0, 0, 90)  # tourne le joueur pour qu'il nous regarde
game.setup_keyboard_callbacks()

print """regles du Jeu :
         deplacer le joueur avec les touches du clavier
         taper c pour chercher un objet ramassable
         taper r pour ramasser
         taper d pour deposer
         taper t pour lancer le telemetre
         le but est de transferer 8 laitues dans l'enclos du chateau"""

game.mainloop()