Esempio n. 1
0
    def gameEngine(self):

        print("TEST TEST TEST")

        p1 = Player("p1")
        p2 = Player("p2")
        p3 = Player("p3")
        p4 = Player("p4")
        p5 = interactivePlayer("ip5")
        p6 = smarterPlayer("sp6")

        self.agent = p5

        aTable = table()
        aTable.setMaxGames(1000)

        aTable.addPlayer(p1, 100)
        aTable.addPlayer(p2, 100)
        aTable.addPlayer(p3, 100)
        aTable.addPlayer(p4, 100)
        aTable.addPlayer(p5, 100)
        aTable.addPlayer(p6, 100)

        print("Table Setted up with Six dummy player")
        print("Number of Players " + str(aTable.getNPlayer()))
        print("Number of Active Players " + str(aTable.getNPlayer_active()))
        print("Number of inGame Players " + str(aTable.getNPlayer_inGame()))

        aTable.runGame()
Esempio n. 2
0
    def testEnemyDetection(self):
        """ tests to see if the function is_enemy correctly checks this """
        guineaPig = Player()
        testCaseP = Player()

        guineaPig.team_number = 1
        testCaseP.team_number = 2

        assert(guineaPig.is_enemy(testCaseP) == True)

        guineaPig.team_number = 2
        assert(guineaPig.is_enemy(testCaseP) != True)
Esempio n. 3
0
    def __init__(self):
        self.score = 0
        self.scroll = 0
        self.cam_speed = 700

        self.clouds = []
        self.projectiles = []

        self.stage = stageGeneration.Stage(self.projectiles)

        cloud_amount = 3
        for i in range(cloud_amount):
            min_x = i * (1920/cloud_amount)
            max_x = min_x+(1920/cloud_amount-500)
            x = random.randrange(min_x, max_x)
            y = random.randrange(-100, 100)
            background.Cloud((x, y), self.clouds)

        self.Mark = Player(position=(300, -200),
                           speed=(self.cam_speed, 0),
                           size=(83, 111),
                           gun='shotgun',
                           platforms=self.stage.platforms,
                           spikes=self.stage.spikes,
                           coins=self.stage.coins,
                           projectiles=self.projectiles,
                           enemies=self.stage.enemies)
 def loadPlayer(self):
     # TODO: Add player creation menu here
     self.player = Player()
     self.player.race = Race(self.races["human"])
     self.player.disp = self.disp
     self.player.weapon = Weapon(self.weapons["weapon_ironSword"])
     self.player.armor = Armor(self.armor["armor_hideArmor"])
     self.player.inv.append(
         generateWeapon(self.weapons["template_IronSword"]))
     self.player.gold = 100
     self.loadStartingArea()
     self.player.hp = self.player.getMaxHP()
Esempio n. 5
0
def main():
    # These 4 lines just to prepare the window of the game, no need to change them
    root = tkinter.Tk()
    root.title("eetmeet")
    cv = ScrolledCanvas(root, 600, 600, 600, 600)
    cv.pack(side=tkinter.LEFT)
    #Here we prepre the new shapes of the game
    t = RawTurtle(cv)
    screen = t.getscreen()
    screen.setworldcoordinates(screenMinX, screenMinY, screenMaxX, screenMaxY)
    screen.register_shape("Character.gif")
    frame = tkinter.Frame(root)
    frame.pack(side=tkinter.RIGHT, fill=tkinter.BOTH)
    screen.tracer(10)
    sb = Spikes_bottom(cv)
    st = Spikes_top(cv)
    plr = Player(cv)
    t.goto(20, 40)
    t.circle(8)

    # this function when it is called the game will exit
    def quitHandler():
        root.destroy()
        root.quit()

    #here we are creating the button that you will see it on the right side of the game called Quit
    # the part it says command=quitHandler is telling the button when we click it to run the function quitHandler that we defined above
    quitButton = tkinter.Button(frame, text="Quit", command=quitHandler)
    quitButton.pack()

    # GAME LOOP (BEGIN)
    def play():
        # Tell all the elements of the game to move
        # Tell the ship to move
        plr.move()
        st.move(0.3)
        sb.move(0.7)
        if (intersect(plr, st) or intersect(plr, sb)):
            print(" ")
            print("boom")
            quitHandler()
        # Set the timer to go off again in 5 milliseconds
        screen.ontimer(play, 5)
        # GAME LOOP (ENDS)

    # Set the timer to go off the first time in 5 milliseconds
    screen.ontimer(play, 5)
    screen.onkeypress(plr.jump, "Up")
    screen.onkeypress(plr.duck, "Down")
    screen.listen()
    tkinter.mainloop()
Esempio n. 6
0
def main():
    """Run code to choose pokemon and begin battle in loop."""
    # welcome_to_pokemon_screen()

    # initialize outer game loop
    still_playing = True

    # play background music on loop
    pygame.mixer.music.play(-1)

    user_name = welcome_to_pokemon_screen()

    while still_playing:
        print("Select user pokemon.")
        P1 = Player(choose_pokemon("player", user_name), gv.PLAYER_LOCATION,
                    DISPLAYSURF)
        print("Select opponent pokemon.")
        P2 = Player(choose_pokemon("enemy", user_name), gv.ENEMY_LOCATION,
                    DISPLAYSURF)

        battle_screen(P1, P2)

    pygame.mixer.music.stop()
Esempio n. 7
0
    def testWalk(self):
        """ tests to see if walking is correctly updated """
        walker = Player()
        walker.state = 4 # walking upwards
        assert(walker.is_walking() == True)
        walker.state = 5  # walking right
        assert(walker.is_walking() == True)
        walker.state = 6  # walking downwards
        assert(walker.is_walking() == True)
        walker.state = 7  # walking left
        assert(walker.is_walking() == True)

        # what if we are idle

        walker.state = 2 # idle down state
        assert(walker.is_walking() == False)
Esempio n. 8
0
 def join(self, ctx):
     """:If you are new, use this to start playing."""
     user = Player()
     user.name = str(ctx.message.author)
     author = str(ctx.message.author)
     if not path.isfile(str(ctx.message.author) + "player11" + ".txt"):
         userlist.append(user)
         usernamelist.append(user.name)
         userlist[findPlayer(author)].update()
         userlist[findPlayer(author)].update()
         userlist[findPlayer(author)].move(level.root.index)
         userlist[findPlayer(author)].update()
         yield from self.bot.send_message(ctx.message.author, "Welcome" + str(ctx.message.author) + ' ' + level.find(user.location).desc)
     else:
         yield from self.bot.send_message(ctx.message.author, "You are already a registered user.")
         del user
Esempio n. 9
0
class RandomPlayer(Player):
    """ a data type (subclass of Player class) for a Random Computer playing Connect Four"""
    def next_move(self, b):
        """ This method function takes the player "X" or "O"
                and the given board, and makes a random selection
                of where to place its next checker based on the 
                validity of the move.
            input: b, a string of the board
        """
        if b.is_full() == True:
            return -1
        else:
            choice = random.choice(range(b.width))
            if b.can_add_to(choice) == True:
                return choice
            else:
                while b.can_add_to(choice) == False:
                    choice = random.choice(range(b.width))
                return choice

    connect_four(Player("X"), AIPlayer("O", "LEFT", 2))
Esempio n. 10
0
    def initializeLevel(self, level):
        self.enemies = []
        self.platforms = []
        self.projectiles = []
        self.enemy_clock = 0
        self.powerups = []
        self.enemies_killed = 0
        self.enemy_projectiles = []
        self.boss = False
        self.boss_dead = False
        self.boss_dead_counter = 0
        self.level_finished = False
        self.game_over = False
        self.new_high_score_index = None
        self.new_high_score_name = []
        self.end_music_started = False

        if level == 1:

            self.surfaceLevel = 470
            x1 = random.randrange(self.screenWidth - 150)
            x2 = random.randrange(self.screenWidth - 150)
            self.enemies.append(
                Goblin(x1, 55, 5, 8, 1, self.screenWidth, self.surfaceLevel,
                       self.resourceHandler, self.hitboxes))
            self.enemies.append(
                Zombie(x2, 55, 6, 8, -1, self.screenWidth, self.surfaceLevel,
                       self.resourceHandler, self.hitboxes))
            self.platforms.append(Platform(150, 300, 50, 50, self.curr_level))
            self.platforms.append(Platform(570, 300, 50, 50, self.curr_level))
            self.view.playMusic('level1')
            self.boss_music = 'bossmusic1'
            self.boss_type = ZombieBoss
            x_start_position = 300
            y_start_position = 400
            self.player = Player(x_start_position,
                                 y_start_position,
                                 self.lifes,
                                 self.screenHeight,
                                 self.screenWidth,
                                 self.resourceHandler,
                                 surfaceLevel=self.surfaceLevel,
                                 showHitboxes=self.hitboxes)

        elif level == 2:

            self.surfaceLevel = 460
            self.platforms.append(Platform(150, 300, 50, 50, self.curr_level))
            self.platforms.append(Platform(255, 240, 50, 50, self.curr_level))
            self.platforms.append(Platform(570, 300, 50, 50, self.curr_level))
            self.platforms.append(Platform(465, 240, 50, 50, self.curr_level))
            x1 = random.randrange(self.screenWidth - 150)
            x2 = random.randrange(self.screenWidth - 150)
            self.enemies.append(
                Mushroom(x1, 55, 3, 10, 1, self.screenWidth, self.surfaceLevel,
                         self.resourceHandler, self.hitboxes))
            self.enemies.append(
                FlyingEye(x2, 55, 5, 2, -1, self.screenWidth,
                          self.surfaceLevel, self.resourceHandler,
                          self.hitboxes))
            self.view.playMusic('level2')
            self.boss_music = 'bossmusic2'
            self.boss_type = FlyingEyeBoss
            x_start_position = 300
            y_start_position = 400
            self.player = Player(x_start_position,
                                 y_start_position,
                                 self.lifes,
                                 self.screenHeight,
                                 self.screenWidth,
                                 self.resourceHandler,
                                 surfaceLevel=self.surfaceLevel,
                                 showHitboxes=self.hitboxes)

        elif level == 3:

            self.surfaceLevel = None
            self.platforms.append(Platform(60, 360, 50, 50, self.curr_level))
            self.platforms.append(Platform(100, 200, 50, 50, self.curr_level))
            self.platforms.append(Platform(40, 50, 50, 50, self.curr_level))
            self.platforms.append(Platform(155, 420, 50, 50, self.curr_level))
            self.platforms.append(Platform(165, 300, 50, 50, self.curr_level))
            self.platforms.append(Platform(245, 370, 50, 50, self.curr_level))
            self.platforms.append(Platform(270, 240, 50, 50, self.curr_level))
            self.platforms.append(Platform(375, 180, 50, 50, self.curr_level))
            self.platforms.append(Platform(480, 240, 50, 50, self.curr_level))
            self.platforms.append(Platform(585, 300, 50, 50, self.curr_level))
            self.platforms.append(Platform(690, 360, 50, 50, self.curr_level))
            self.platforms.append(Platform(650, 200, 50, 50, self.curr_level))
            self.platforms.append(Platform(600, 50, 50, 50, self.curr_level))
            self.platforms.append(Platform(480, 50, 50, 50, self.curr_level))
            self.platforms.append(Platform(500, 370, 50, 50, self.curr_level))
            x1 = random.randrange(self.screenWidth - 150)
            x2 = random.randrange(self.screenWidth - 150)
            self.enemies.append(
                FlyingEye(x1, 55, 4, 3, 1, self.screenWidth, self.surfaceLevel,
                          self.resourceHandler, self.hitboxes))
            self.enemies.append(
                FlyingEye(x2, 55, 4, 3, -1, self.screenWidth,
                          self.surfaceLevel, self.resourceHandler,
                          self.hitboxes))
            self.view.playMusic('level3')
            self.boss_music = 'bossmusic2'
            self.boss_type = FlyingEyeBoss
            x_start_position = 60
            y_start_position = 230
            self.player = Player(x_start_position,
                                 y_start_position,
                                 self.lifes,
                                 self.screenHeight,
                                 self.screenWidth,
                                 self.resourceHandler,
                                 surfaceLevel=self.surfaceLevel,
                                 showHitboxes=self.hitboxes)

        self.in_level = True
Esempio n. 11
0
 def testDeath(self):
     """ tests to see if death is properly reported by is_dead """
     redshirt = Player()
     redshirt.state = 10 # the state for the player being
     assert(redshirt.is_dead() == True)
Esempio n. 12
0
 def testWinCount(self):
     """ tests to see if set_wins and get_wins is correctly updated """
     winTestP = Player()
     winTestP.set_wins(7)
     assert(winTestP.get_wins() == 7), "Player wins not successfully updated"
Esempio n. 13
0
    import traceback
    traceback.print_exception(exc_type, exc_value, tb)
    input("Press key to exit.")
    sys.exit(-1)


import sys
sys.excepthook = show_exception_and_exit

from playerClass import Player
from playerClass import Alien
import random

name = input("Type in your player name: ")

player = {'a': Player(name)}
badguy = {
    'a': Alien("Sectoid"),
    'b': Alien("Sectopod"),
    'c': Alien("Mechtoid"),
    'd': Alien("Thin Man"),
    'e': Alien("Chosen"),
    'f': Alien("Muton"),
    'g': Alien("Chryssalid")
}
score = 0

print()
print('*' * 30)
print("You are %s" % name)
print(player['a'])
Esempio n. 14
0
targetLabelI = Label(window, text="I")
targetLabelJ = Label(window, text="J")

targetLabel1 = Label(window, text="1")
targetLabel2 = Label(window, text="2")
targetLabel3 = Label(window, text="3")
targetLabel4 = Label(window, text="4")
targetLabel5 = Label(window, text="5")
targetLabel6 = Label(window, text="6")
targetLabel7 = Label(window, text="7")
targetLabel8 = Label(window, text="8")
targetLabel9 = Label(window, text="9")
targetLabel10 = Label(window, text="10")

# Se crean objetos de tipo Player para los jugadores de la partida
player = Player(generateGrid(), generateGrid(), generateButtonGrid(),
                generateButtonGrid(), "Jugador", False)
machine = Player(generateGrid(), generateGrid(), generateButtonGrid(),
                 generateButtonGrid(), "Maquina", True)

# Boton para cambiar la direccion en la que se ponen los barcos
changeDirButton = Button(window,
                         text="Direccion: Horizontal",
                         command=changeDir)

# Label que se usara para mostrar la informacion sobre los disparos
shotsLabel = Label(window, text="")

# Label para el titulo del juego en el menu inicial
titleLabel = Label(window, text="BATALLA NAVAL", font=("Comic Sans MS", 20))

# Componentes para el campo donde el jugador digitara su nombre
Esempio n. 15
0
 def testKillCount(self):
     """ tests to see if set_kills and get_kills is correctly updated """
     killTestP = Player()
     killTestP.set_kills(3)
     assert(killTestP.get_kills() == 3), "player kills not successfully updated"
Esempio n. 16
0
@author: terry
"""

import os
import sys
sys.path.append("..")
from deckClass import Deck
from playerClass import Player
from smarterPlayer import smarterPlayer
from interactivePlayer import interactivePlayer
from PokerTableClass import table

if __name__ == "__main__":
    print("TEST TEST TEST")

    p1 = Player("p1")
    p2 = Player("p2")
    p3 = Player("p3")
    p4 = Player("p4")
    p5 = Player("ip5")
    p6 = smarterPlayer("sp6")

    aTable = table()
    aTable.setMaxGames(1000)

    aTable.addPlayer(p1, 100)
    aTable.addPlayer(p2, 100)
    aTable.addPlayer(p3, 100)
    aTable.addPlayer(p4, 100)
    aTable.addPlayer(p5, 100)
    aTable.addPlayer(p6, 100)
Esempio n. 17
0
layout = loadtxt('a.txt', dtype=str)
rows, cols = layout.shape
for col in range(cols):
    for row in range(rows):
        value = layout[row][col]
        lead_x = col * width
        lead_y = row * height
        if value == '0':
            pos = (col * width, row * height)
            wall = Wall(blue, lead_x, lead_y)
            all_sprites.add(wall)
            walls.add(wall)

ghost = Ghost(12, white)
ghosts.add(ghost)
player = Player(size, ghosts)
all_sprites.add(player)
all_sprites.add(ghost)

###################################################
timer = 0
while not gameOver:
    timer = timer + 1
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            gameOver = True
        elif event.type == pygame.KEYDOWN:
            if event.key == pygame.K_UP:
                player.direction = 1
            elif event.key == pygame.K_DOWN:
                player.direction = 2
Esempio n. 18
0
    def __init__(self, parent, controller, vs, gameLength):
        tk.Frame.__init__(self, parent)
        self.controller = controller
        self.vs = vs
        self.gameLength = gameLength

        compName = tk.StringVar()
        compRound1 = tk.StringVar()
        compRound2 = tk.StringVar()
        compRound3 = tk.StringVar()
        compRound4 = tk.StringVar()
        compRound5 = tk.StringVar()
        playerName = tk.StringVar()
        playerRound1 = tk.StringVar()
        playerRound2 = tk.StringVar()
        playerRound3 = tk.StringVar()
        playerRound4 = tk.StringVar()
        playerRound5 = tk.StringVar()
        game1Title = tk.StringVar()
        game2Title = tk.StringVar()
        game3Title = tk.StringVar()
        game4Title = tk.StringVar()
        game5Title = tk.StringVar()
        compName.set("Computer")
        compRound1.set("0")
        compRound2.set("0")
        compRound3.set("0")
        compRound4.set("0")
        compRound5.set("0")
        playerName.set("Player 1")
        playerRound1.set("0")
        playerRound2.set("0")
        playerRound3.set("0")
        playerRound4.set("0")
        playerRound5.set("0")
        game1Title.set("Game 1")
        game2Title.set("Game 2")
        game3Title.set("Game 3")
        game4Title.set("Game 4")
        game5Title.set("Game 5")

        comp = Player("Computer", [compName, compRound1, compRound2, compRound3, compRound4, compRound5])
        player = Player("Player 1", [playerName, playerRound1, playerRound2, playerRound3, playerRound4, playerRound5])

        title = tk.Label(self, text = "ROCK Paper Scissors", fg= "#800D02")
        title.config(font=("Arial Black", 44))
        title.pack()

        curScores = tk.Label(self, text="Scores:")
        curScores.pack()
      
        scoreCardFrame = tk.Frame(self, height = 100, width = 700)
        playerLabel = tk.Label(scoreCardFrame, text="Player 1")
        computerLabel = tk.Label(scoreCardFrame, text="Computer")
        numGames = 3
        if gameLength == "Best 3 of 5":
            numGames = 5
        titles = Player("titles", ["", game1Title, game2Title, game3Title, game4Title, game5Title])
        for r in range(3):
            for c in range(numGames+1):
                rowInfo = Player("", [])
                if r == 0:
                    rowInfo = titles
                if r == 1:
                    rowInfo = comp
                if r == 2:
                    rowInfo = player
                Label = tk.Label(scoreCardFrame, textvariable=rowInfo.scores[c])
                Label.grid(row=r, column=c)

        scoreCardFrame.pack()

        image = Image.open('ball.png')
        image = image.resize((600, 600))
        image = ImageTk.PhotoImage(image)
        self.imageView = tk.Label(self, height = 350, width = 250, bg ="#9CAAFF", image = image)
        self.imageView.pack(side="left", padx=10, pady=10)



        emojes = tk.Label(self, text = "")
        emojes.config(font=("Arial Black", 70))
        emojes.pack()

        goButton = tk.Button(self, text = 'Start Round', fg='green', bg='red', width=30, height=6)
        goButton.pack()

        button = tk.Button(self, text="Go to the start page",
                           command=lambda: controller.show_frame("StartPage"))
        tempButton = tk.Button(self, text="add point for computer")
        def incrementComputer(event):
             #compRound2.set("1")
             comp.scores[2].set("1")
        tempButton.bind("<Button-1>", incrementComputer)
        tempButton.pack()

        button.pack()
        self.thread = threading.Thread(target=self.getVideo, args=())
        self.thread.start()

        def didTapStartButton(event):
            beginRound()
        goButton.bind("<Button-1>", didTapStartButton)

        def beginRound():
            if self.curRoundNumber > 3:
                endGame()
            else:
                showRock()
                self.after(1000, showPaper)
                self.after(2000, showScissors)
                self.after(3000, showGo)
                self.after(3100, detectHand)

        def endGame():
            print("Game over!")


        def showRock():
            emojes["text"] = "✊"
        def showPaper():
            emojes["text"] = "✋"
        def showScissors():
            emojes["text"] = "✌️"
        def showGo():
            emojes["text"] = "Go!"
            print("SHOWING GOOOOOO!")

        def detectHand():
            #global curRoundNumber
            roundNumber = self.curRoundNumber
            print("Running detect hand!!!!!!!")
            counter = 0
            usersAnswers = []
            while counter < 500:
                frame = self.vs.read()
                tempUserAnswer = getFingerCount(frame, False)
                print(tempUserAnswer)
                usersAnswers.append(tempUserAnswer)
                counter += 1

            #sort list by most common
            result = [item for items, c in Counter(usersAnswers).most_common() 
                                      for item in [items] * c] 
            usersAnswer = result[0]
            computerAnser = pickRandom()
            print("User says " + str(usersAnswer))
            print("Computer says " + str(computerAnser))

            if usersAnswer != computerAnser:
                findWinner(computerAnser, usersAnswer, roundNumber)
                roundNumber += 1
            else:
                print("Tie...try again!")
            self.curRoundNumber = roundNumber

            # time.sleep(3)
            # if roundNumber == 4:
            #     endGame()
            # else:
            #     beginRound()

        def pickRandom():
            compAnswer = random.randint(1,3)
            if compAnswer == 1:
                showRock()
                return(1)
            elif compAnswer == 2:
                showPaper()
                return(2)
            else:
                showScissors()
                return(3)

        def findWinner(compAnswer, userAnswer, roundNum):
            print("Updating section " + str(roundNum))
            if compAnswer == 1:
                if userAnswer == 2:
                    print("Player wins!")
                    player.scores[roundNum].set("1")
                else:
                    print("Computer wins!")
                    comp.scores[roundNum].set("1")
            if compAnswer == 2:
                if userAnswer == 3:
                    print("Player wins!")
                    player.scores[roundNum].set("1")
                else:
                    print("Computer wins!")
                    comp.scores[roundNum].set("1")
            if compAnswer == 3:
                if userAnswer == 1:
                    print("Player wins!")
                    player.scores[roundNum].set("1")
                else:
                    print("Computer wins!")
                    comp.scores[roundNum].set("1")
Esempio n. 19
0
 def setUp(self):
     testPlayer = Player()
Esempio n. 20
0
    print("level read in")
    return readlevel


level = Floor()
level.floorgen()
#level = readfloor("currentfloor.txt")
level.updateFloor()
level.printFloor()



for file in listdir('./'):
    print("in file loop")
    if file.find("player11") != -1:
        user = Player()
        user.name = file.strip("player11.txt")
        user.readplayer()
        userlist.append(user)
        usernamelist.append(user.name)



class commands():
    "game commands"

    def __init__(self, bot):
        self.bot = bot

    @commands.command(pass_context=True, no_pm=False)
    @asyncio.coroutine
Esempio n. 21
0
 def testNumber(self):
     """ tests to see if a player's number is correctly updated """
     numTestP = Player()
     numTestP.number = 0
     assert(numTestP.number == 0), "player number was not correctly set!"
Esempio n. 22
0
# set width/height
size = width, height = 800, 600

# create the screen
screen = pygame.display.set_mode(size)
# create screen rectangle for setting borders around screen
screenRect = screen.get_rect()

# set window title
pygame.display.set_caption(title)

# create clock object
clock = pygame.time.Clock()

# create a Player object
player = Player("player_soldier.png", width * 0.45, height * 0.5)

# create a Base object
base = Base("base3.png", 0, height * 0.4)

# list that will hold 4 different possible start spots for the zombies
zombieStartSpot = [(500,10), (775,100), (775, 500), (500,550)]

# this will be used to keep track of ticks
tickCount = 0

# container for the zombies
zombieGroup = pygame.sprite.Group()

# container for the bullets
bulletGroup = pygame.sprite.Group()