def __init__(self, id, name, overall_matches, overall_innings, overall_runs, overall_average, overall_strike_rate, overall_100s, overall_50s, home_matches, home_innings, home_runs, home_average, home_strike_rate, home_100s, home_50s, away_matches, away_innings, away_runs, away_average, away_strike_rate, away_100s, away_50s, form_matches, form_innings, form_runs, form_average, form_strike_rate, form_100s, form_50s): Player.__init__(self, id, name, overall_matches, overall_innings, overall_runs, overall_average, overall_strike_rate, overall_100s, overall_50s) self.home_matches = home_matches self.home_innings = home_innings self.home_runs = home_runs self.home_average = home_average self.home_strike_rate = home_strike_rate self.home_100s = home_100s self.home_50s = home_50s self.away_matches = away_matches self.away_innings = away_innings self.away_runs = away_runs self.away_average = away_average self.away_strike_rate = away_strike_rate self.away_100s = away_100s self.away_50s = away_50s self.form_matches = form_matches self.form_innings = form_innings self.form_runs = form_runs self.form_average = form_average self.form_strike_rate = form_strike_rate self.form_100s = form_100s self.form_50s = form_50s
def reset(self, centerx=None, centery=None, bottom=None): """ Ilmar doesn't need to be invincible. """ Player.reset(self, centerx, centery) self._invincible_counter = 0 self._decoration_list.remove(self)
def main(): words = ReadWord() player = Player() hangmanGame = Game() guesses = player.getGuesses() words.readWords() secretWord = words.loadWord(guesses) hangmanGame.startHangmanGame(secretWord, guesses)
def __init__(self, kwargs): images = { 'neutral': 'Fred_neutral.png', 'walk': { 'right': { 'straight': ['Fred_walk_00.png', 'Fred_walk_02.png'], 'up': ['Fred_walk_up_00.png', 'Fred_walk_up_02.png'], 'down': ['Fred_walk_down_00.png', 'Fred_walk_down_02.png'] } }, 'stand': { 'right': { 'straight': ['Fred_stand.png'], 'up': ['Fred_stand_up.png'], 'down': ['Fred_stand_down.png'] } }, 'fly': { 'right': { 'straight': ['Fred_fly.png'], 'up': ['Fred_fly_up.png'], 'down': ['Fred_fly_down.png'] } }, 'dead': [ 'Fred_dead_00.png', 'Fred_dead_01.png', 'Fred_dead_02.png', 'Fred_dead_03.png' ] } kwargs["images"] = images kwargs["horizontal_speed"] = 4.0 kwargs["horizontal_inertia"] = 20.0 kwargs["multi_jumps"] = 2 kwargs["vertical_acceleration"] = 0.2 kwargs["jump_velocity"] = -5.0 kwargs["fpi"] = 4 kwargs["projectile_class"] = BB kwargs["max_in_flight"] = 10 kwargs["hp"] = 20 Player.__init__(self, kwargs) # Make Fred's collision box a bit narrower than the images self._c_rect.width = self.rect.width - 8 self._c_rect.centerx = self.rect.centerx
def __init__(self, kwargs): images = { 'neutral': 'Ilmar_stand_straight.png', 'walk': { 'right': { 'straight': ['Ilmar_walk_straight.png'], 'up': ['Ilmar_walk_up.png'], 'down': ['Ilmar_walk_straight.png'] } }, 'stand': { 'right': { 'straight': ['Ilmar_stand_straight.png'], 'up': ['Ilmar_stand_up.png'], 'down': ['Ilmar_stand_straight.png'] } }, 'fly': { 'right': { 'straight': ['Ilmar_fly_straight.png'], 'up': ['Ilmar_fly_up.png'], 'down': ['Ilmar_fly_straight.png'] } }, 'dead': [ 'Ilmar_dead_00.png', 'Ilmar_dead_01.png', 'Ilmar_dead_02.png', 'Ilmar_dead_03.png' ] } kwargs["images"] = images kwargs["horizontal_speed"] = 3.0 kwargs["horizontal_inertia"] = 40.0 kwargs["multi_jumps"] = 1 kwargs["vertical_acceleration"] = 0.1 kwargs["jump_velocity"] = -5.0 kwargs["fpi"] = 4 kwargs["projectile_class"] = Slug kwargs["max_in_flight"] = 5 # Ilmar's hp is never reduced so is effectively infinite kwargs["hp"] = 1 Player.__init__(self, kwargs)
def __init__(self, box, sc_width, sc_height): self.box = box self.name_projectil = "laser" self.name_player = "" self.player = Player(self, sc_width, sc_height, self.name_player, "ship3") self.all_monsters = pygame.sprite.Group() self.event = Event(self, sc_width, sc_height) self.sc_width = sc_width self.sc_height = sc_height self.keybord = {} self.total_degat = 0 self.is_running = False self.is_boss = False self.time = 0 self.PLAYERS = {} self.total_game = 0 self.last_ammo_update = pygame.time.get_ticks() self.tab = PRINT_NUM_PROJECTIL
def main(): # Initiate pygame pygame.init() # Prep the fps timer fpsclock = pygame.time.Clock() # Define the main surfaces and set the caption window_surface = pygame.display.set_mode((1024,768)) trace_surface = pygame.Surface((1024, 768)) pygame.display.set_caption("Space Simulator") # Define colours that will be used black_colour = pygame.Color(0,0,0) yellow_colour = pygame.Color(255, 255, 0) green_colour = pygame.Color(0, 255, 0) red_colour = pygame.Color(255, 0, 0) # Define fonts to be used text_font = pygame.font.SysFont("monospace", 12) # Planetary bodies currently being tested bodies = pygame.sprite.Group() stars = pygame.sprite.Group() sun = Star(100, [550, 484]) urf = Planet(20, sun, 200.0, 1,1) munjd = Planet(3, urf, 22.0, 2.0, 2) plr = Player([100, 100], [1,1], 5, sun) stars.add((sun)) bodies.add((urf, munjd)) while True: # Reset the main surface and overlay the trace surface window_surface.fill(black_colour) window_surface.blit(trace_surface, (0,0)) # Draw stars for star in stars: # pygame.draw.circle(window_surface, yellow_colour, star.display_location, star.sphere_of_influence) window_surface.blit(star.image, (star.rect)) stars.update() # Draw planets for planet in bodies: #pygame.draw.circle(window_surface, green_colour, [int(planet.display_location[0]), int(planet.display_location[1])], planet.sphere_of_influence) window_surface.blit(planet.image, (planet.rect)) bodies.update() # Draw player window_surface.blit(plr.image, (plr.display_location)) plr.update(stars, bodies) # Draw text text_surface = text_font.render("Fuel: " + str(plr.fuel), False, yellow_colour) window_surface.blit(text_surface, (0, 0)) # Event handling code for event in pygame.event.get(): if event.type == QUIT: pygame.quit() if event.type == KEYDOWN: if event.key == K_ESCAPE: pygame.event.post(pygame.event.Event(QUIT)) # Update planetary bodies # Update the screen pygame.display.update() # Keep the fps at a fixed amount fpsclock.tick(30)
import pygame as pg from pygame.locals import * from Classes.sound_manager import * from Classes.group_manager import * from Classes.event_manager import * from Classes.player import Player from Classes.enemy import Enemy from Classes.cloud import Cloud from constants import * pg.init() pg.font.init() font = pg.font.SysFont('Comic Sans MS', 60) clock = pg.time.Clock() screen = pg.display.set_mode([SCREEN_WIDTH, SCREEN_HEIGHT]) player = Player() bg = pg.image.load("images/nebula.jpg").convert() groups = Groups() for group in Group: groups[group] = pg.sprite.Group() groups[Group.DEFAULT].add(player) events = Events() events[Event.ADDENEMY] = pg.USEREVENT + 1 pg.time.set_timer(events[Event.ADDENEMY], 500) events[Event.ADDCLOUD] = pg.USEREVENT + 2 #pg.time.set_timer(events[Event.ADDCLOUD], 1000) pg.mixer.music.load("sound/Sky_dodge_theme.ogg") pg.mixer.music.set_volume(0.01)
from Classes.admin import Admin from Classes.moderator import Moderator from Classes.money import GOLD from Classes.money import USD from Classes.player import Player if __name__ == '__main__': name = raw_input("Player name: ") player1 = Player(name) email = raw_input("Player email: ") password = raw_input("Player password: "******"Player password fo login: "******"Moderator email: ") password = raw_input("Moderator password: "******"Moderator password for login: "******"Player for control: ")) moder1.take_a_ban(player_for_control=raw_input("Player for control: ")) moder1.logout()
from Classes.readWord import ReadWord from Classes.game import Game from Classes.player import Player secretWord = ReadWord() player = Player() jogo = Game() player.numberOfGuesses() secret = secretWord.readWords().lower() guesses = player.getGuesses() secret = secretWord.reLoadWord(secret, guesses) jogo.hangman(secret, guesses)
def __init__(self, id, name, overall_matches, overall_innings, overall_runs, overall_average, overall_strike_rate, overall_100s, overall_50s): Player.__init__(self, id, name, overall_matches, overall_innings, overall_runs, overall_average, overall_strike_rate, overall_100s, overall_50s)
class Game: """ docstring """ def __init__(self, box, sc_width, sc_height): self.box = box self.name_projectil = "laser" self.name_player = "" self.player = Player(self, sc_width, sc_height, self.name_player, "ship3") self.all_monsters = pygame.sprite.Group() self.event = Event(self, sc_width, sc_height) self.sc_width = sc_width self.sc_height = sc_height self.keybord = {} self.total_degat = 0 self.is_running = False self.is_boss = False self.time = 0 self.PLAYERS = {} self.total_game = 0 self.last_ammo_update = pygame.time.get_ticks() self.tab = PRINT_NUM_PROJECTIL def start(self): self.is_running = True self.PLAYERS = lecture("/items/player.data") self.player.total = self.PLAYERS[self.name_player]["score_total"] self.player.lv = self.PLAYERS[self.name_player]["lv"] self.player.xp = self.PLAYERS[self.name_player]["xp"] self.player.xp_max = 1000 * self.player.lv if self.player.lv != 1: self.player.pv_max = 200 + (200 * self.player.lv / 100) self.name_projectil = self.player.power_up(self.name_projectil) if self.player.lv < 2: self.spawn_monster("ship2") else: self.event.spawn_super_monster("ship4") def game_over(self): save_player = self.PLAYERS[self.name_player] save_player["score_total"] += self.player.score save_player["pt_last_partie"] = self.player.score save_player["time_in_game"] += self.time save_player["lv"] = self.player.lv save_player["xp"] = self.player.xp save_score("/items/player.data", self.name_player, save_player["score_total"], save_player["pt_last_partie"], save_player["time_in_game"], save_player["lv"], save_player["xp"]) self.player.re_init() self.is_boss = False self.is_running = False self.all_monsters = pygame.sprite.Group() self.event.all_boss = pygame.sprite.Group() self.event.reset_percent() def spawn_monster(self, ship_image): monster = Monster(self, self.sc_width, self.sc_height, ship_image) # on l'ajoute a notre groupe de monstre self.all_monsters.add(monster) def weapon_screen(self, screen): myfont = pygame.font.SysFont('roboto', 10) for elem in PRINT_NUM_PROJECTIL: item = PRINT_NUM_PROJECTIL[elem] title_disp = item["title_display"] screen.blit(item["image"], item["coord_img"]) screen.blit( myfont.render(title_disp["num"], title_disp["bool"], title_disp["color"]), item["coord_disp"]) def weapon_choice(self, screen, name): for key, item in enumerate(ITEMS_SHIP.keys()): if name == item and key < 3: pos = key * 40 pygame.draw.rect(screen, (100, 100, 100, 128), (215 + pos, 5, 30, 30)) pygame.draw.rect(screen, (250, 250, 250), (215 + pos, 5, 30, 30), 2) self.weapon_screen(screen) def out_of_ammo(self, screen): if self.player.magasin <= 0: font = pygame.font.SysFont("roboto", 30) warn_ammo = font.render("Out Of Ammo Wait ...", True, (250, 10, 10)) screen.blit(warn_ammo, (self.sc_width / 2 - warn_ammo.get_width() / 2, self.sc_height / 2 - warn_ammo.get_height() - 20)) # Timer d'attente pour rechargement munition now = pygame.time.get_ticks() if now - self.last_ammo_update > 10000: self.last_ammo_update = now # Rechargement aléatoire mun = random.randint(5, 20) self.player.magasin = mun def start_game(self, screen): self.box.active = False # injecte l'image de l'player screen.blit(self.player.image, (self.player.rect.x, self.player.rect.y)) self.event.update_bar(screen) self.player.shielding(screen) # affichage des armes self.weapon_screen(screen) # affichage de l'arme utilisée self.weapon_choice(screen, self.name_projectil) if self.is_boss == False: for mob in self.all_monsters: mob.fire("ship", "laser") mob.move_projectil(-1, self.player) mob.update_pv(screen, (mob.rect.x + mob.image.get_width())) mob.move_left() mob.kamikaze_monster() mob.all_projectils.draw(screen) mob.all_explosions.draw(screen) mob.all_explosions.update() for gain_load in mob.all_gains: screen.blit(gain_load, mob.spawn_gain_rect) self.player.collid(mob.spawn_gain_rect, mob.all_gains, mob.qte, mob.name) self.player.move_projectil(1, mob) for boss in self.event.all_boss: boss.spawn(screen) # Affichage PV et Magasin self.player.draw_life_bar(screen, 10, 5) self.player.draw_munition_bar(screen, 10, 25) self.player.draw_xp_bar(screen, 10, 45) self.event.all_boss.draw(screen) # on verifie si les touches sont apuyées ou pas if self.keybord.get( pygame.K_RIGHT ) and self.player.rect.x + self.player.rect.width < screen.get_width( ) - 40: self.player.move_right() elif self.keybord.get(pygame.K_LEFT) and self.player.rect.x > 25: self.player.move_left() if self.keybord.get( pygame.K_DOWN ) and self.player.rect.y + self.player.rect.height < screen.get_height( ) - self.player.image.get_height(): self.player.move_down() elif self.keybord.get(pygame.K_UP) and self.player.rect.y > 75: self.player.move_up() if self.keybord.get(pygame.K_SPACE): if self.player.magasin > 0: bulletSound = mixer.Sound("assets/sounds/laser.wav") bulletSound.set_volume(0.02) self.name_projectil = self.player.power_up(self.name_projectil) self.player.fire("ship", self.name_projectil, bulletSound) else: bulletSound = mixer.Sound("assets/sounds/alarm.wav") bulletSound.set_volume(0.02) bulletSound.stop() bulletSound.play() # Out of ammo: self.out_of_ammo(screen) if self.keybord.get(pygame.K_1): self.name_projectil = "laser" self.name_projectil = self.player.power_up(self.name_projectil) elif self.keybord.get(pygame.K_2): self.name_projectil = "lightning" self.name_projectil = self.player.power_up(self.name_projectil) elif self.keybord.get(pygame.K_3): self.name_projectil = "plasma" self.name_projectil = self.player.power_up(self.name_projectil) self.player.all_projectils.draw(screen) self.player.all_explosions.draw(screen) self.player.all_explosions.update() self.all_monsters.draw(screen)
def main(): pygame.init() #init pygame # Set the resolution size = [Classes.constants.SCREEN_WIDTH, Classes.constants.SCREEN_HEIGHT] screen = pygame.display.set_mode(size) pygame.display.set_caption("Galactik Hold Up") #init player player = Player() #boolean for the program loop done = False #boolean if music is enable or not isMusic = True #entry field for enter the pseudo inputBox = InputBox(500, 540, 310, 60) #game clock clock = pygame.time.Clock() pygame.time.set_timer(pygame.USEREVENT, 1000) font = pygame.font.SysFont('Impact', 40) #launch the menu music launchMusic("Musiques/menu_music.wav") #Game Loop while not done: #time counter of the game set on 3 minutes counter, text = 180, '180'.rjust(3) #load and put on the screen the accueil ressources accueil = pygame.image.load("Images/accueil.jpg").convert() screen.blit(accueil, (0, 0)) #load the music icon if isMusic: sound = pygame.image.load("Images/soundon.png").convert_alpha() else: sound = pygame.image.load("Images/soundoff.png").convert_alpha() #put the music icon on the screen screen.blit(sound, (30, 30)) #display the screen pygame.display.flip() #loop variables continuer_accueil = 1 continuer_jeu = 0 continuer_classement = 0 continuer_credits = 0 continuer_score = 0 #accueil loop while continuer_accueil: player.score = 0 player.multiplicateur = 1 for event in pygame.event.get(): #check every event #Quit event if event.type == pygame.QUIT or event.type == pygame.KEYDOWN and event.key == pygame.K_ESCAPE: continuer_accueil = 0 continuer_jeu = 0 done = True choix = 0 #keyboard event elif event.type == pygame.KEYDOWN: #F1 for launch the tuto if event.key == pygame.K_F1: continuer_accueil = 0 continuer_jeu = 1 choix = "tuto" if isMusic: launchMusic("Musiques/Level_music.wav" ) #launch the level music #F2 for launch the game elif event.key == pygame.K_F2: continuer_accueil = 0 continuer_jeu = 1 choix = "ramdom" if isMusic: launchMusic("Musiques/Level_music.wav") #F3 for launch the classement elif event.key == pygame.K_F3: continuer_accueil = 0 continuer_classement = 1 choix = "classement" #F4 for launch the credits elif event.key == pygame.K_F4: continuer_accueil = 0 continuer_credits = 1 choix = "credits" #for disable/enable the music click on the music icon elif event.type == pygame.MOUSEBUTTONDOWN and event.button == 1 and event.pos[ 1] < 94 and event.pos[1] > 30 and event.pos[ 0] < 94 and event.pos[0] > 30: if isMusic: pygame.mixer.music.pause() sound = pygame.image.load( "Images/soundoff.png").convert_alpha() else: pygame.mixer.music.play(-1) sound = pygame.image.load( "Images/soundon.png").convert_alpha() isMusic = not isMusic #change the boolean for music #refreh the display screen.blit(accueil, (0, 0)) screen.blit(sound, (30, 30)) pygame.display.flip() if choix != 0: if choix == "tuto": #load the tuto current_level = Classes.levels.Level_0(player) active_sprite_list = pygame.sprite.Group() generateLevel(player, current_level) active_sprite_list.add(player) elif choix == 'ramdom': #launch the game #create a list containing all the level id list_no = [] for i in range(1, Classes.constants.nbLevel + 1): list_no.append(i) noLevel = createRandomNum(list_no) #generate a random level id current_level = selectRandomLevel( player, list_no, noLevel) #select the random level active_sprite_list = pygame.sprite.Group( ) #create sprites list generateLevel(player, current_level) #generate the level active_sprite_list.add( player) #add the player to the sprites list #load the classement elif choix == "classement": classement = generateClasssement() #load the credits elif choix == "credits": credits = pygame.image.load("Images/Credits.jpg").convert() screen.blit(credits, (0, 0)) #classement loop while continuer_classement: for event in pygame.event.get(): #event management if event.type == pygame.KEYDOWN: if event.key == pygame.K_ESCAPE: continuer_classement = 0 continuer_accueil = 1 if event.type == pygame.QUIT: done = True continuer_classement = 0 printClassement(screen, classement) #put classement element on the screen pygame.display.flip() #display the screen #credits loop while continuer_credits: for event in pygame.event.get(): if event.type == pygame.KEYDOWN: if event.key == pygame.K_ESCAPE: continuer_credits = 0 continuer_accueil = 1 if event.type == pygame.QUIT: done = True continuer_credits = 0 pygame.display.flip() #display credits #Game loop while continuer_jeu: #set variables for displaying score and multiplicateur score = "Score : " + format(player.score) multiplicateur = "Multiplicateur : x" + format( player.multiplicateur) for event in pygame.event.get(): #event management if event.type == pygame.USEREVENT: #event for managingthe time and update it if type(current_level ) != Level_0: #if we are not in the tuto level counter -= 1 text = "Timer : " + str(counter).rjust( 3) #variable for displaying lefting time if counter == 15: #put a minuteur sound when 15 seconds left son = pygame.mixer.Sound("Musiques/minuteur.wav") son.play() elif counter <= 0: #when the timer is over son = pygame.mixer.Sound("Musiques/temps.wav") son.play() continuer_jeu = 0 choix = 0 continuer_score = 1 elif event.type == pygame.QUIT: # If user clicked close done = True # Flag that we are done so we exit this loop continuer_jeu = 0 elif event.type == pygame.KEYDOWN: #keyboard event if event.key == pygame.K_ESCAPE: #return to the menu continuer_jeu = 0 if isMusic: launchMusic("Musiques/menu_music.wav") elif event.key == pygame.K_LEFT: player.go_left() elif event.key == pygame.K_RIGHT: player.go_right() elif event.key == pygame.K_UP: player.jump() #stop the player when the user don't move him 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() #when the player take a spring if event.type == Classes.constants.SPRING: player.springJump() #when the player cross a gravity portal if event.type == Classes.constants.ANTIGRAVITY: player.changeGravity() #when the player die if event.type == Classes.constants.DEATH: if (type(player.level) != Level_0): #if it's not the tuto #generate a new level noLevel = createRandomNum(list_no) current_level = selectRandomLevel( player, list_no, noLevel) player.pos = Classes.constants.levelStart_x generateLevel(player, current_level) else: #if it's the tuto regenerate the tuto generateLevel(player, current_level) #when the player take a boost if event.type == Classes.constants.BOOST: player.go_boost() #when the player finish a level if event.type == Classes.constants.FINISH: if (type(player.level) != Level_0): #if it's not the tuto list_no.remove( noLevel) #remove this level from level id list #generate a new level noLevel = createRandomNum(list_no) current_level = selectRandomLevel( player, list_no, noLevel) player.pos = Classes.constants.levelStart_x generateLevel(player, current_level) else: #if it's the tuto back to the menu continuer_accueil = 1 continuer_jeu = 0 if isMusic: launchMusic("Musiques/menu_music.wav") # Update the player. active_sprite_list.update() # Update items in the level current_level.update() # If the player gets near the right side, shift the world left (-x) if player.rect.x >= 500: diff = player.rect.x - 500 player.rect.x = 500 current_level.shift_world(-diff) # If the player gets near the left side, shift the world right (+x) if player.rect.x <= 120: diff = 120 - player.rect.x player.rect.x = 120 current_level.shift_world(diff) #draw the modification on the screen current_level.draw(screen) active_sprite_list.draw(screen) clock.tick(60) #the game run in 60FPS if type( current_level ) != Level_0: #if it's not the tuto update the game information(time, score and multiplicateur) screen.blit(font.render(text, True, (255, 255, 255)), (10, 0)) screen.blit(font.render(score, True, (255, 255, 255)), (380, 0)) screen.blit(font.render(multiplicateur, True, (255, 255, 255)), (720, 0)) #display the screen pygame.display.flip() #score loop when the game is finish while continuer_score: for event in pygame.event.get(): if event.type == pygame.QUIT: done = True continuer_score = 0 ajouterScore( player, inputBox.text ) #add the score and the pseudo in classement.txt elif event.type == pygame.KEYDOWN: if event.key == pygame.K_ESCAPE: continuer_score = 0 ajouterScore(player, inputBox.text) if isMusic: launchMusic("Musiques/menu_music.wav") elif event.type == Classes.constants.ENTER_PSEUDO: continuer_score = 0 ajouterScore(player, inputBox.text) if isMusic: launchMusic("Musiques/menu_music.wav") inputBox.handle_event(event) #manage event of the inputBox printScore(screen, player) #put the score on the screen #update and draw the input box inputBox.update() inputBox.draw(screen) #display screen pygame.display.flip() pygame.quit()