def __init__(self, screen, col_life): x = 0 y = 770 self.col_life = col_life self.lis = list() for i in range(20): self.lis.append(floor_class.Floor(x, y, screen)) x += 75 self.lis.append(start.Start(75, 748, screen)) self.lis.append(fire.Fire(200, 737, screen)) self.lis.append(fire.Fire(900, 737, screen)) self.lis.append(fire.Fire(981, 737, screen)) self.lis.append(cube.Cube(500, 684, screen)) self.lis.append(cube.Cube(586, 684, screen)) self.lis.append(cube.Cube(586, 598, screen)) self.lis.append(cube.Cube(672, 684, screen)) self.lis.append(cube.Cube(672, 598, screen)) self.lis.append(cube.Cube(758, 684, screen)) self.lis.append(fire.Fire(758, 655, screen)) self.lis.append(flat.Flat(930, 500, screen)) if self.col_life == 3: self.lis.append(life.Life(230, 30, screen)) self.lis.append(life.Life(130, 30, screen)) self.lis.append(life.Life(30, 30, screen)) elif self.col_life == 2: self.lis.append(life.Life(130, 30, screen)) self.lis.append(life.Life(30, 30, screen)) elif self.col_life == 1: self.lis.append(life.Life(30, 30, screen)) self.lis.append(die_player.DPlayer(2000, 2000, screen)) self.lis.append(green_door.GDoor(2000, 2000, screen)) self.lis.append(door.Door(1300, 581, screen)) self.lis.append(green_button.GreenButton(2000, 2000, screen)) self.lis.append(red_button.RedButton(1005, 452, screen)) self.lis.append(player_class.Player(100, 465, screen))
def initialize_player(): player_name = input("\nWhat is the player's name? ") display_message(f"HI, {player_name.upper()}") starting_amount_invalid = True while starting_amount_invalid: player_starting_amount = input( "\nHow much money would you like to start with? ") try: player_starting_amount = int(player_starting_amount) except: print( "\nOops: Entered amount was not an integer. Please try again.") continue starting_amount_invalid = False display_message(f"CHANGING ${player_starting_amount}") return player_class.Player(player_name, player_starting_amount)
def recv_anything(self): try: message = s.recv(1024).decode() if 'new' in message: data = eval(message[9:]) player_num = int(message[8:9]) # data = [eval(i) for i in data] print(data) if player_num > len(player_class.player_list): key_set = key_map_sets.control_map[data[-1][1]]() img = pygame.image.load('images/panzer{0}.png'.format( data[-1][-1])).convert_alpha() pos = data[-1][3][0] dire = data[-1][3][1] new_player = player_class.Player(data[-1][1], key_set.control, key_set.key_map, data[-1][0], img) new_player.ready_panzer(pos, dire, self.clock, self) elif 'restart' in message: self.__init__(self.clock, "maps/map01.txt") return False else: data = eval(message) self.keys = data return True except: pass
def create_player(self): player = player_class.Player(self.name_field.get(), int(self.age_field.get()), self.gender_field.get(), self.path_to_photo) self.window.create_main_frame(player) self.window.activate_frame('main')
def create_world(): global background global player global monsters global mid_monsters global player_missile global player_protect_missile global obstacle global player_special_missile global player_special_missile_s global collisionRectShow global textUI global boss_monster collisionRectShow = False background = Background() player = player_class.Player() player.setShowCheck(collisionRectShow) monsters = [enemy_class.Monster() for i in range(5)] mid_monsters = [enemy_class.MidMonster() for i in range(2)] boss_monster = enemy_class.BossMonster() player_missile = player_class.PlayerMissile() player_missile.setShowCheck(collisionRectShow) player_protect_missile = player_class.PlayerMissile_S() player_protect_missile.setShowCheck(collisionRectShow) obstacle = obstacle_class.Obstacle() player_special_missile = player_class.SpecialMissile() player_special_missile.setShowCheck(collisionRectShow) player_special_missile_s = player_class.SpecialMissile_S() player_special_missile_s.setShowCheck(collisionRectShow) textUI = textUI_class.TextUI()
def main(): player = player_class.Player('Phil') player.bgImage = pygame.image.load( 'images/bg/default.bmp' ) #this is filled in through playing normally, so placeholder here event = event_list.innkeeper_generic playEvent(player, event)
def __init__(self, screen, clock): room_obj.Room.__init__(self, screen, 'MultiRoom', clock=clock, caption="PanzerGame") # key_set = key_map_sets.KeySetOne() # p = player_class.Player('KeySetOne', key_set.control, key_set.key_map, "p1", None) key_set = key_map_sets.KeySetTwo() p = player_class.Player('KeySetTwo', key_set.control, key_set.key_map, "p2", None) message2 = '("' + p.name + '",' + '"' + p.key_set + '")' s.sendto(message2.encode(), server) data = [] player_num = 1 while True: try: message = s.recv(1024).decode() player_num = int(message[8:9]) data = eval(message[9:]) break except: pass print(data) # "maps/map{0}.txt".format(data[0][1]) # data = [['name', 'key_set_name', 'full_map_add', (pos, dire), img_number], [...], ...] map_address = data[0][2] print(map_address) map_obj.load(map_address) for i in range(0, player_num): img = pygame.image.load('images/panzer{0}.png'.format( data[i][-1])).convert_alpha() if i != player_num - 1: key_set = key_map_sets.control_map[data[i][1]]() player = player_class.Player(data[i][1], key_set.control, key_set.key_map, data[i][0], img) else: player = player_class.player_list[0] player.panzer_img = img pos = data[i][3][0] dire = data[i][3][1] player.ready_panzer(pos, dire, self.clock, self) self.mouse = tools.Mouse() self.timer = timer_obj.Timer(3) # 3 sec self.keys = [False for i in range(400)]
def mainMenuScreen(): while True: select = None common_functions.standardEventHandling() cfg.DISPLAYSURF.fill(cfg.BLACK) mainMenuBackSurf = pygame.Surface((250, 280)) mainMenuBackRect = mainMenuBackSurf.get_rect() mainMenuBackRect.midtop = (cfg.WINWIDTH / 2, cfg.WINHEIGHT / 8) cfg.DISPLAYSURF.blit(mainMenuBackSurf, mainMenuBackRect) pygame.draw.rect(cfg.DISPLAYSURF, cfg.BLUE, mainMenuBackRect, 2) x = mainMenuBackRect.centerx y = mainMenuBackRect.top + 20 for i in cfg.MAINMENUOPTIONS: optionSurf = cfg.AR28.render(i, True, cfg.WHITE) optionRect = optionSurf.get_rect() optionRect.midtop = (x, y) if optionRect.collidepoint(cfg.mouseX, cfg.mouseY): optionSurf = cfg.AR28.render(i, True, cfg.RED) pygame.draw.line(cfg.DISPLAYSURF, cfg.WHITE, (optionRect.left + 5, optionRect.bottom + 1), (optionRect.right - 5, optionRect.bottom + 1), 1) if cfg.mouseClicked: select = i cfg.DISPLAYSURF.blit(optionSurf, optionRect) y += 50 if select == 'Quick Play': player = player_class.Player('Phil') return player elif select == 'New Game': #maybe in v2 #player = characterCreationScreen() #return player pass elif select == 'Load Game': #long way off from this :P pass elif select == 'Options': pass elif select == 'Exit Game': common_functions.terminate() pygame.display.update() cfg.FPSCLOCK.tick(cfg.FPS)
def Game(): """ print("Welcome to the card game. This means WAR!") print("Who are the two players?") name1 = raw_input("Player 1: ") name2 = raw_input("Player 2: ") player1 = Player(name1) player2 = Player(name2) """ player1 = player_class.Player("Player 1") player2 = player_class.Player("Player 2") players = [player1, player2] myDeck = deck_class.Deck() myDeck.shuffle(myDeck.deck) myDeck.deal_cards(players) winner = False while not winner: played = [] #print("[Game loop]") #print("[Total cards on board: {}]".format(len(player1.hand) + len(player1.reserve) + len(player2.hand) + len(player2.reserve))) myDeck.win_check(players) for each in players: total = len(each.hand) + len(each.reserve) #print("{} now has a total of {} cards.".format(each.name, total)) if total > 0: card = each.play_card() played.append(card) print("{} plays the {} of {}!".format(each.name, card[0], card[1])) else: myDeck.win_check(players) #time.sleep(1) myDeck.compare_cards(players, played)
def init_players(add): infile = open(add, "r") n = 0 # number of players idx = -1 # joystick index name = "" # player name img = "" # player image for line in infile: if line[0] == '#': continue elif "player_num" in line: data = remove_title(line, "player_num").strip() n = brace_data(data, 0) elif "start" in line: control = "" idx = -1 name = "" img = "" elif "control" in line: data = remove_title(line, "control").strip() control = brace_data(data, 0) if "Joystick" in control: idx = brace_data(data, 1) elif "name" in line: data = remove_title(line, "name").strip() name = brace_data(data, 0) elif "image" in line: data = remove_title(line, "image").strip() img = brace_data(data, 0) elif "end" in line: img = pygame.image.load(img).convert_alpha() if "Joystick" in control: t = control control = control_map[control](idx) player_class.Player(t, control.joystick, control.key_map, name, img) else: t = control control = control_map[control]() player_class.Player(t, control.control, control.key_map, name, img)
def __init__(self, screen, col_life): self.lis = [] self.col_life = col_life self.lis.append(floor_class.Floor(0, 600, screen)) self.lis.append(floor_class.Floor(75, 600, screen)) self.lis.append(floor_class.Floor(150, 600, screen)) self.lis.append(floor_class.Floor(225, 600, screen)) self.lis.append(floor_class.Floor(225, 675, screen)) self.lis.append(floor_class.Floor(225, 750, screen)) self.lis.append(floor_class.Floor(300, 750, screen)) x = 300 for i in range(11): self.lis.append(floor_class.Floor(x, 750, screen)) x += 75 self.lis.append(floor_class.Floor(x, 750, screen)) self.lis.append(floor_class.Floor(x, 675, screen)) self.lis.append(floor_class.Floor(x, 600, screen)) for i in range(5): self.lis.append(floor_class.Floor(x, 600, screen)) x += 75 self.lis.append(fire.Fire(300, 717, screen)) self.lis.append(fire.Fire(381, 717, screen)) self.lis.append(cube.Cube(462, 664, screen)) self.lis.append(cube.Cube(548, 664, screen)) self.lis.append(cube.Cube(773, 664, screen)) self.lis.append(cube.Cube(859, 664, screen)) self.lis.append(cube.Cube(945, 664, screen)) self.lis.append(fire.Fire(945, 635, screen)) self.lis.append(cube.Cube(859, 578, screen)) self.lis.append(flat.Flat(640, 430, screen)) self.lis.append(start.Start(75, 578, screen)) if self.col_life == 3: self.lis.append(life.Life(230, 30, screen)) self.lis.append(life.Life(130, 30, screen)) self.lis.append(life.Life(30, 30, screen)) elif self.col_life == 2: self.lis.append(life.Life(130, 30, screen)) self.lis.append(life.Life(30, 30, screen)) elif self.col_life == 1: self.lis.append(life.Life(30, 30, screen)) self.lis.append(die_player.DPlayer(2000, 2000, screen)) self.lis.append(green_door.GDoor(2000, 2000, screen)) self.lis.append(door.Door(1350, 420, screen)) self.lis.append(green_button.GreenButton(2000, 2000, screen)) self.lis.append(red_button.RedButton(670, 381, screen)) self.lis.append(player_class.Player(100, 415, screen))
def __init__(self, screen): x = 0 y = 770 self.lis = list() for i in range(20): self.lis.append(floor_class.Floor(x, y, screen)) x += 75 self.lis.append(start.Start(75, 748, screen)) self.lis.append(life.Life(230, 30, screen)) self.lis.append(life.Life(130, 30, screen)) self.lis.append(floor_class.Floor(-75, 697, screen)) self.lis.append(life.Life(30, 30, screen)) self.lis.append(green_door.GDoor(2000, 2000, screen)) self.lis.append(door.Door(1200, 581, screen)) self.lis.append(green_button.GreenButton(2000, 2000, screen)) self.lis.append(red_button.RedButton(400, 728, screen)) self.lis.append(player_class.Player(100, 465, screen))
def __init__(self): self.screen = pygame.display.set_mode((s.WIDTH, s.HEIGHT)) self.clock = pygame.time.Clock() self.running = True self.state = 'start screen' self.cell_width = s.MAZE_WIDTH // s.COLS self.cell_height = s.MAZE_HEIGHT // s.ROWS self.walls = [] self.coins = [] self.bonus = [] self.scared_enemies = 0 self.enemies = [] self.e_pos = [] self.p_pos = None self.load() self.player = p.Player(self, vec(self.p_pos)) self.make_enemies()
def __init__(self, screen, col_life): x = 0 self.col_life = col_life y = 770 self.lis = list() for i in range(16): self.lis.append(floor_class.Floor(x, y, screen)) x += 75 x -= 75 self.lis.append(floor_class.Floor(x, 695, screen)) self.lis.append(floor_class.Floor(x, 620, screen)) self.lis.append(floor_class.Floor(x, 545, screen)) for i in range(4): x += 75 self.lis.append(floor_class.Floor(x, 545, screen)) self.lis.append(fire.Fire(x - 10, 516, screen)) self.lis.append(cube.Cube(250, 684, screen)) self.lis.append(cube.Cube(336, 684, screen)) self.lis.append(cube.Cube(422, 684, screen)) self.lis.append(cube.Cube(508, 684, screen)) self.lis.append(cube.Cube(336, 598, screen)) self.lis.append(cube.Cube(422, 598, screen)) self.lis.append(fire.Fire(700, 741, screen)) self.lis.append(fire.Fire(771, 741, screen)) self.lis.append(fire.Fire(862, 741, screen)) self.lis.append(fire.Fire(933, 741, screen)) self.lis.append(fire.Fire(1004, 741, screen)) self.lis.append(start.Start(75, 748, screen)) if self.col_life == 3: self.lis.append(life.Life(230, 30, screen)) self.lis.append(life.Life(130, 30, screen)) self.lis.append(life.Life(30, 30, screen)) elif self.col_life == 2: self.lis.append(life.Life(130, 30, screen)) self.lis.append(life.Life(30, 30, screen)) elif self.col_life == 1: self.lis.append(life.Life(30, 30, screen)) self.lis.append(shadow_block.SBlock(600, 500, screen)) self.lis.append(shadow_block.SBlock(860, 400, screen)) self.lis.append(die_player.DPlayer(2000, 2000, screen)) self.lis.append(green_door.GDoor(2000, 2000, screen)) self.lis.append(door.Door(1300, 356, screen)) self.lis.append(green_button.GreenButton(2000, 2000, screen)) self.lis.append(red_button.RedButton(620, 721, screen)) self.lis.append(player_class.Player(100, 465, screen))
def loadplayer(self, load_name): tmp = player_class.Player() tree = ET.parse(load_name) root = tree.getroot() tmp.maxhp = int(root[0].text) tmp.hp = int(root[1].text) tmp.maxmp = int(root[2].text) tmp.mp = int(root[3].text) tmp.level = int(root[4].text) tmp.xp = int(root[5].text) for equipment in root[6]: tmp.equip(equipment.text, equipment.attrib) for spells in root[7]: tmp.make_spell(spells.text, spells.attrib) for items in root[8]: tmp.get_item(items.text, items.attrib) tmp.map = root[9].text tmp.coords = [int(root[9].attrib['x']), int(root[9].attrib['y'])] return tmp
def main(): player = player_class.Player('Phil') hub = hubs.HUBLIST[1] #uses Phil and Riverwood as default placeholders hubScreen(player, hub)
import room_class import item_class import player_class #make a dictionary for global rooms that will contain every room as they are instanciated global_rooms = room_class.global_rooms hero = player_class.Player('hero') #Rooms: #create rooms with locations in tuple format, exits as either n, s, e, or w, :locked or :unlocked and a description of the room room1 = room_class.Room((0,0), {'n': 'locked', 'w':''}, 'The starting room') room2 = room_class.Room((0,1), {'s':'locked', 'w':''}, 'A bathroom') room3 = room_class.Room((-1,1), {'n':'', 's':'', 'e':'', 'w':''}, 'A room full of weapons') room4 = room_class.Room((-1,2), {'s':''}, 'An office') room5 = room_class.Room((-2,1), {'e':''}, 'A storage closet') room6 = room_class.Room((-1,0), {'n':'', 'e':''}, 'A room with metal walls and floor') #Items: rusty_key = item_class.Key('Rusty Key', 'An old rusty key',room1, room1, 'n') #set starting room curr_room = global_rooms[(0,0)] #Sets commands that can be used by the player and words that can be used as directions for the player to go look_commands = ['look', 'examine', 'inspect', 'l'] go_commands = ['go', 'move', 'walk', 'run', 'exit'] get_commands = ['take', 'get', 'grab'] use_commands = ['use'] inv_commands = ['i','inv','inventory','items'] north_commands = ['n', 'north', 'up', 'forward'] south_commands = ['s', 'south', 'down', 'backward'] east_commands = ['e', 'east', 'right'] west_commands = ['w', 'west', 'left']
def main(): player = player_class.Player('Phil') destination = hubs.HUBLIST[2] #uses riverwood as a starting point and astralis hq as a sample destination travelFunction(player, destination)
def main(): player = player_class.Player('Phil') hub = hubs.HUBLIST[2] #uses Phil and Riverwood as default placeholders adventureMode(player, hub)
import card_class import deck_class import player_class player1 = player_class.Player('Abhinav') player2 = player_class.Player('Saangvi') print(f'Welcome {player1.name} & {player2.name} to the war game.') print('Let the game Begin!') cnt = 1 for card in deck_class.new_deck.all_cards: if cnt == 1: player1.add_cards(card) cnt = 2 elif cnt == 2: player2.add_cards(card) cnt = 1 print(player1) print(player2) loop_cnt = 1 while len(player1.all_cards) > 0 and len(player2.all_cards) > 0: player1_card = str(player1.all_cards[0]) #print(player1_card) player1.all_cards.pop(0) player2_card = str(player1.all_cards[0]) #print(player2_card)
def main(): player = player_class.Player('Phil') #default player location = locations.rwInn #test specific locations locationScreen(player, location)
def _init_players(players, num_players): for i in range(num_players): player = player_class.Player(id=i + 1) players.append(player)
map_bottom = Rect(0, 1600, 1600, 1) map_left = Rect(-1, 0, 1, 1600) map_right = Rect(1600, 0, 1, 1600) map_borders = [map_bottom, map_left, map_right, map_top] # print(player_birth_pos) # print(boxes_pos) # print(can_pass) # print(can_not_pass) # print(AI_birth_pos) # print(prop_car_birth_pos) # 获取当前时间 current_time = pygame.time.get_ticks() # 创建一个新的玩家对象 new_player = player_class.Player() # 生成玩家坦克 p_tank = new_player.birth_a_tank(screen, Vector2(400, 240), current_time, player_birth_pos["player"].copy()) # 将玩家坦克加入玩家坦克的精灵组中 groups["player_tank"].add(p_tank) # 创建基地 screen_start_pos = Vector2(441, 1096) base = base_class.Base(screen) base.put(player_birth_pos["base"], screen_start_pos) groups["base"].add(base) # 生成道具箱 for pos in boxes_pos:
def main(): """ Main Program """ pygame.init() # Set the height and width of the screen pygame.display.set_caption("Depths of the Mind") size = [constants.SCREEN_WIDTH, constants.SCREEN_HEIGHT] screen = pygame.display.set_mode(size) # New material --------------------------------------------------------------------------------------------------------- # New - ambient music pygame.mixer.music.load("RPG Ambient 3.mp3") pygame.mixer.music.set_endevent(pygame.constants.USEREVENT) pygame.mixer.music.play() # New - main menu player_save_level = main_menu.main_menu(screen) if player_save_level == 0: cutscenes.cutscene(screen, 0) # ---------------------------------------------------------------------------------------------------------------------- # Create the player player = player_class.Player() # New - Load the background----------------------------------------------------------------------------------------- background = pygame.image.load("background.png").convert() # ------------------------------------------------------------------------------------------------------------------ # Create all the levels level_list = [] level_list.append(level_class.Level_01(player)) level_list.append(level_class.Level_02(player)) # Set the current level current_level_no = player_save_level current_level = level_list[current_level_no] active_sprite_list = pygame.sprite.Group() player.level = current_level player.rect.x = 60 player.rect.y = 490 active_sprite_list.add(player) # Loop until the user clicks the close button. done = False # Used to manage how fast the screen updates clock = pygame.time.Clock() # New material --------------------------------------------------------------------------------------------------------- # NEW - wind tick wind_tick_default = 180 wind_tick = wind_tick_default # New - wind timer wind_timer_default = 300 wind_timer = wind_timer_default # New - load sound effects exit_sound = pygame.mixer.Sound("exit.wav") reboot_sound = pygame.mixer.Sound("reboot.wav") wind_sound = pygame.mixer.Sound("wind.wav") # ---------------------------------------------------------------------------------------------------------------------- # -------- Main Program Loop ----------- while not done: for event in pygame.event.get(): if event.type == pygame.QUIT: done = True elif event.type == pygame.constants.USEREVENT: pygame.mixer.music.play() if event.type == pygame.KEYDOWN: if event.key == pygame.K_LEFT: player.go_left() if event.key == pygame.K_RIGHT: player.go_right() if event.key == pygame.K_UP: player.jump() if event.key == pygame.K_ESCAPE: pygame.quit() quit() if event.type == pygame.KEYUP: if event.key == pygame.K_LEFT and player.change_x < 0: player.stop() if event.key == pygame.K_RIGHT and player.change_x > 0: player.stop() # Update the player. active_sprite_list.update() """ Wind mechanic If player_wind_influence is True, the player has collided with a trigger volume to start the wind So, we need to start the wind in that gameplay section, as well as two timers - time between gusts, and how long the wind itself should last """ if player.player_wind_influence is True: wind_timer -= 1 if wind_timer == 60: wind_sound.play() if wind_timer <= 0: player.calc_wind() wind_tick -= 1 if wind_tick == 0: wind_tick = 180 wind_timer = 300 wind_sound.fadeout(1000) if player.player_wind_influence is False: wind_timer = wind_timer_default wind_tick = wind_tick_default # New - draw the background screen.blit(background, [0, 0]) # Update items in the level current_level.update() # If the player gets near the right side, shift the world left (-x) if player.rect.right >= 500: diff = player.rect.right - 500 player.rect.right = 500 current_level.shift_world(-diff) # If the player gets near the left side, shift the world right (+x) if player.rect.left <= 120: diff = 120 - player.rect.left player.rect.left = 120 current_level.shift_world(diff) # NEW / adapted # If the player gets to the level exit, go to the next level if player.player_hit_exit is True: exit_sound.play() if current_level_no < len(level_list) - 1: current_level_no += 1 file = open('save file.txt', 'w') file.write(str(current_level_no)) file.close() player.rect.x = 60 current_level = level_list[current_level_no] player.level = current_level else: current_level_no = 2 # New - "respawning" player from a fall. Check if rect.y coordinate of player sprite # exceeds screen height if player.rect.y > 600: reboot_sound.play() player.rect.x = current_level.respawn_point.rect.x player.rect.y = current_level.respawn_point.rect.y player.player_wind_influence = False player.stop() wind_sound.fadeout(1000) # ALL CODE TO DRAW SHOULD GO BELOW THIS COMMENT # New - check to see if player has hit the exit. If so, play a cutscene. Otherwise, draw as normal. if player.player_hit_exit is True: player.stop() pygame.event.clear() player.player_hit_exit = False cutscenes.cutscene(screen, current_level_no) else: current_level.draw(screen) active_sprite_list.draw(screen) # ALL CODE TO DRAW SHOULD GO ABOVE THIS COMMENT # Limit to 60 frames per second clock.tick(60) # Go ahead and update the screen with what we've drawn. pygame.display.update() # Be IDLE friendly. If you forget this line, the program will 'hang' # on exit. pygame.quit()
def run_game(): # создание игрока player = player_class.Player(st.skin, st.speed) # начальное расположение игрока spawn(player) levels_map = Levels() bots = [] for i in range(5): b = bots_class.Bot(st.speed + 1) spawn(b) bots.append(b) # инициализация и размер экрана screen = pygame.display.set_mode(st.size_screen) # название окна (игры) pygame.display.set_caption("HideAndSeek") # задний фон bg = [ pygame.image.load("../pyKursach/img/bg_home.jpg"), pygame.image.load("../pyKursach/img/bg_forest.jpg"), pygame.image.load("../pyKursach/img/bg_dungeon.jpg"), pygame.image.load("../pyKursach/img/bg_sky.jpg") ] # заднего фона под экран for i in range(4): bg[i] = pygame.transform.scale(bg[i], st.size_screen) # для отрисовки спрайтов pl_sprite_list = pygame.sprite.Group() pl_sprite_list.add(player) bt_sprite_list = pygame.sprite.Group() for b in bots: bt_sprite_list.add(b) print(bt_sprite_list) # уровень на котором мы сейчас находимся (важная переменнаяб бот должен иметь такой параметр) # player.level_player # Используется для управления скоростью обновления экрана(кадры в секунду) clock = pygame.time.Clock() n_tick = 0 game_time = 0 remaining_time = st.time # остновной цикл run = True game = True win = False while run: n_tick += 1 if n_tick % 30 == 0: game_time += 1 if game: if remaining_time - game_time <= 0: game = False if player.score == 5: game = False win = True # кадры в секунду clock.tick(st.frames_per_second) for event in pygame.event.get(): if event.type == pygame.QUIT: pygame.quit() sys.exit() if event.type == KEYDOWN: if event.key == K_ESCAPE: run = False # метод движения игрока move_player(player, levels_map.block_map) for i in bots: move_bot(i, levels_map.block_map, player, game_time) move_mouse(player) p_rect = player.rect if p_rect.collidepoint(pygame.mouse.get_pos()): game = False # отрисовка всего и вся draw(screen, bg, pl_sprite_list, bt_sprite_list, player.level_id, levels_map, (remaining_time - game_time), player.score) else: f = pygame.font.Font(None, 200) button = pygame.Rect(st.width / 2 - 325, st.height / 2 - 100, 650, 200) if win: text = f.render("You Win", True, (0, 180, 0)) else: text = f.render("You Lose", True, (180, 0, 0)) pygame.draw.rect(screen, [0, 0, 180], button) screen.blit(text, (st.width / 2 - 305, st.height / 2 - 60)) pygame.display.update() game_time = 0 remaining_time = 0 for event in pygame.event.get(): if event.type == KEYDOWN: if event.key == K_ESCAPE: run = False
def main(): player = player_class.Player('Phil') travelEvent(player)
if __name__ == "__main__": # game window settings window = tkinter.Tk() window.title("Yatzy") window.geometry("500x600") window.resizable(0,0) window.lift() window.attributes("-topmost", True) # asks how many player will be playing nro_players = tkinter.simpledialog.askinteger("Players", "How many players?", parent=window) # asks player names and makes list of players (Player class) players = [] i = 0 while i<nro_players: nro = i+1 text = "Player "+ str(nro) +" name?" name = tkinter.simpledialog.askstring("Player name", text, parent=window) player = player_class.Player(name) players.append(player) i += 1 # initializes gui and game-logic with given players gui = gui_class.GUI(window, players) game = game_class.Game(gui, players) gui.add_game_logic(game) game.start() window.mainloop()