예제 #1
0
파일: players.py 프로젝트: aserra8/GITDual
def add_new_player(option):
    os.system("cls")
    print(27 * "-", "NEW PLAYER", 27 * "-")

    while True:
        player_name = input("\nEnter user name: ")
        if len(player_name) < 3:
            print("\nPlayer name is too short")
        elif len(player_name) > 10:
            print("\nPlayer name is too long")
        else:
            break

    while True:
        player_password = getpass("Enter player password: "******"\nPassword is too short")
        elif len(player_password) > 15:
            print("\nPassword is too long")
        else:
            break

    if player.Player.check_player_name(player_name):
        print("\nPlayer name already exists")
        input("Enter a key to continue: ")
    else:
        new_player = player.Player(player_name, player_password)
        new_player.add_player()
        if option == 0:
            return new_player
예제 #2
0
def game_loop():
    if gs.change_char:
        gs.change_char = False
        randomPlayer = playerList[compteur]
        gs.playerSelect = randomPlayer
        gs.char = player.Player(randomPlayer, gs.base_hp)

    # Game Loop
    while gs.run:
        gs.win.fill((gs.DARKGREY))
        gs.char.player_controls()  #links function to char variable
        gs.map.afficher_arriere_plan()
        handle_npc()
        gs.char.update()
        gs.map.afficher_premier_plan()
        interface()

        # Events (displays pause menu if you press ESC; leaves game when you close the window)
        for event in pg.event.get():
            if event.type == pg.KEYDOWN:
                if event.key == pg.K_ESCAPE:
                    pause_menu()
                elif event.key == pg.K_i:
                    inventory_menu()
            elif event.type == pg.QUIT:
                pg.quit()
                quit()

    #####TODO: create teleportation function (manages the change of maps)
    ##### Hopefully we'll add another map sometimes in the future :)

    #   runs game at FPS defined in gs (game_settings)
        gs.clock.tick(gs.FPS)
        # updates screen
        pg.display.update()
예제 #3
0
def init_game():
    load.load_tileset()
    init_music()
    gs.map = mapping.Map("MapHeticV2", (40, -720), "hetic.ogg")  # Loads map
    gs.map.load_npc()
    randomPlayer = playerList[compteur]
    gs.char = player.Player(randomPlayer, gs.base_hp)
    main_menu()
예제 #4
0
 def __init__(self):
     super().__init__()
     self.lasers_list = arcade.SpriteList()
     self.player = player.Player(init.player_key_up, init.player_key_down,
                                 init.player_key_left,
                                 init.player_key_right,
                                 init.player_key_to_shoot,
                                 Laser_cannon(init.laser_angle_player),
                                 self.lasers_list)
예제 #5
0
파일: players.py 프로젝트: aserra8/GITDual
def check_existing_player(text):
    os.system("cls")
    print(25 * "-", text, 24 * "-")

    player_name = input("\nEnter player name: ")
    player_password = getpass("Enter player password: "******"\nPlayer name or password incorrect")
        input("Enter a key to continue: ")
예제 #6
0
 def __init__(self):
     pygame.init()
     pygame.key.set_repeat(50)
     pygame.mixer.music.load(
         './sounds/burning-mir__organic-metalic-ambience.ogg')
     pygame.mixer.music.play(-1)
     self.clock = pygame.time.Clock()
     self.screen = pygame.display.set_mode((800, 600))
     #self.healthPickupEvent = pygame.event.Event(pygame.USEREVENT + 1)
     self.enemies = pygame.sprite.Group()
     self.playerGroup = pygame.sprite.Group()
     self.projectiles = pygame.sprite.Group()
     self.overlay = overlay.Overlay()
     self.screen.fill((255, 255, 255))
     self.ready = True
     self.score = 0
     self.player = player.Player()
     self.playerGroup.add(self.player)
     self.background = self.loadBackground()
     self.enemyImages = self.loadEnemyImages()
     self.enemyCounter = 1
     self.makeEnemyDelay = 1001
예제 #7
0
    def start_game(self, argv):
        # variables
        list_goals = [0, 0, 0, 0, 0, 0]
        decision = [0, 0, 0, 0, 0, 0, 0]
        number = len(sys.argv)

        # decide de "color" of the players
        for i in range(1, number):
            decision = self.choose(sys.argv[i], decision)

        # create the players
        goals1 = rand.randint(1, 14)
        #print("1: ",goals1)
        list_goals[0] = goals1
        self.player1 = player.Player(sys.argv[1], decision[1], goals1)

        goals2 = rand.randint(1, 14)
        #print("2: ",goals2)
        list_goals[1] = goals2
        self.player2 = player.Player(sys.argv[2], decision[2], goals2)

        goals3 = rand.randint(1, 14)
        #print("3: ",goals3)
        list_goals[2] = goals3
        self.player3 = player.Player(sys.argv[3], decision[3], goals3)

        if len(sys.argv) >= 5:
            goals4 = rand.randint(1, 14)
            #print("4: ",goals4)
            list_goals[3] = goals4
            self.player4 = player.Player(sys.argv[4], decision[4], goals4)

            if len(sys.argv) >= 6:
                goals5 = rand.randint(1, 14)
                #print("5: ",goals5)
                list_goals[4] = goals5
                self.player5 = player.Player(sys.argv[5], decision[5], goals5)

                if len(sys.argv) == 7:
                    goals6 = rand.randint(1, 14)
                    #print("6: ",goals6)
                    list_goals[5] = goals6
                    self.player6 = player.Player(sys.argv[6], decision[6],
                                                 goals6)

        self.distributeClasses(number)
## joysticks
pygame.joystick.init()
joysticks = [
    pygame.joystick.Joystick(x) for x in range(pygame.joystick.get_count())
]
for joystick in joysticks:
    joystick.init()

if optionsd["gametype"] == "campaign":
    m.mapBounds = clvld["mapBounds"]
    m.mapSectors = m.refresh_map_sectors()
    optionsd["difficulty"] = clvld["difficulty"]

    for player in clvld["Players"]:
        npl = pl.Player(player[0], player[1], player[2], player[3], player[4],
                        player[5])
        npl.gametype = "campaign"
        npl.mpbnds = m.mapBounds
        players.append(npl)

    for ai in clvld["Ai"]:
        try:
            nai = pl.Player(ai[0],
                            ai[1],
                            ai[2],
                            ai[3],
                            ai[4],
                            ai[5],
                            isAi=True)
            nai.aiType = ai[6]
            nai.gametype = "campaign"
예제 #9
0
    BULLET = linkToFile(
        'https://github.com/ViperPyWeek/gameAssets/blob/main/bullet.png')

# Vars
accelRate = 1
iterCt = 0
fps = 100
menuDisp = True
pauseDisp = False
splashed = False
mars = MARSIMG
bulletX, bulletY = COP_X + 40, COP_Y + 40
shoot = False

# classes
cop = hero.Player(COP_IMAGE[0], COP_X, COP_Y, COP_WIDTH, COP_HEIGHT)
bulletVel = Acceleration(5, 20, 2)
marsAccel = Acceleration(0, 10, accelRate)

# button functions


def mainMenu():
    '''Generates the main menu and buttons'''
    exitButton = FONT.render('Exit', True, WHITE)
    window.blit(exitButton, (EXITBUTTONXSTART, EXITBUTTONYSTART))
    startButton = FONT.render('Start', True, WHITE)
    window.blit(startButton, (STARTBUTTONXSTART, STARTBUTTONYSTART))


def pauseScreen():