Python魂⽃罗⼩游戏源代码
Python魂⽃罗⼩游戏源代码源程序,主程序Contra.py,游戏简易使⽤说明:A:向左,D:向右,W:跳起,S:趴下,J:射击,P:退出程序。程序运⾏截图:
Contra.py
'''
:Python代码⼤全
'''
import pygame
import sys
from pygame.locals import*
from settings import Settings
from game_player import Game_Player
c语言指数函数import game_functions as gf
from pygame.sprite import Group
from game_stats import GameStats
from game_boss import Game_Boss
from button import Button
def run_game():
bg = pygame.image.load("图⽚/map01.jpeg")
game_settings = Settings()
pos_x =0#地图移动
pygame.init()
剪辑视频的教程
screen = pygame.display.set_mode(
(game_settings.screen_width,game_settings.screen_height))java客户端开发
pygame.display.set_caption("魂⽃罗BY Python代码⼤全")
stats = GameStats(game_settings)
player = Game_Player(game_settings,screen)
bullets = Group()
boss = Group()
enemys = Group()
win_button = Button(game_settings,screen,"YOU WIN")
while True:
gf.check_events(game_settings,screen,player,bullets)
gf.update_player(game_settings,stats,player,enemys)
gf.update_bullet(game_settings,bullets,screen,enemys,boss)
gf.update_enemys(game_settings,enemys)
gf.update_boss(game_settings,boss)
gf.update_screen(game_settings,bg,pos_x,screen,player,bullets,enemys,boss,win_button)
ving_right > player.x and game_settings.boss_appear ==False:
game_settings.screen_rolling =True
pos_x -=5#屏幕滚动速度
else:
game_settings.screen_rolling =False
run_game()
game_funtcions.py
import sys
import pygame
from bullet import Bullet
from enemy import Enemy
from game_boss import Game_Boss
from game_boss import Game_Boss
def check_keydown_events(event,game_settings,screen,player,bullets): if event.key == pygame.K_k:#跳跃
player.player_jump =True
if event.key == pygame.K_d:#向右
game_settings.bullet_direction ='right'
if player.player_down or player.player_up:
else:
player.player_direction =1
if event.key == pygame.K_a:#向左
game_settings.bullet_direction ='left'
if player.player_down or player.player_up:
else:
player.player_direction =-1
elif event.key == pygame.K_s:#向下
player.player_down =True
player.player_moving =False
elif event.key == pygame.K_w:#向上
player.player_up =True
createpipe什么意思player.player_moving =False
elif event.key == pygame.K_j:#射击
new_bullet = Bullet(game_settings,screen,player)
bullets.add(new_bullet)
player.player_shooting =True
elif event.key == pygame.K_p:
def check_keyup_events(event,player):
if event.key == pygame.K_d:#右
player.image = pygame.image.load('图⽚/PR/player.png')
player.player_moving =False
elif event.key == pygame.K_a:#左
player.image = pygame.image.load('图⽚/PL/player.png')
player.player_moving =False
elif event.key == pygame.K_s:#下
player.player_down =False
if player.player_direction ==1:
player.image = pygame.image.load('图⽚/PR/player.png')
if player.player_direction ==-1:
player.image = pygame.image.load('图⽚/PL/player.png')
elif event.key == pygame.K_w:#上
player.player_up =False
if player.player_direction ==1:
player.image = pygame.image.load('图⽚/PR/player.png')
if player.player_direction ==-1:
player.image = pygame.image.load('图⽚/PL/player.png')
def check_events(game_settings,screen,player,bullets):
for event in ():
for event in ():
pe== pygame.QUIT:
pe== pygame.KEYDOWN:
player.player_moving =True
check_keydown_events(event,game_settings,screen,player,bullets)
pe== pygame.KEYUP:
check_keyup_events(event,player)
def update_screen(game_settings,bg,pos_x,screen,player,bullets,enemys,boss,win_button):
screen.blit(bg,(pos_x,0))
for bullet in bullets.sprites():
bullet.blit_bullet()
"""if game_settings.boom_end:#击中敌⼈爆炸
game_settings.boom_end = False"""
player.blitme()
if game_settings.boss_appear:
boss.draw(screen)
enemys.draw(screen)
if game_settings.game_win:
win_button.draw_button()
pygame.display.flip()
def update_bullet(game_settings,bullets,screen,enemys,boss):
bullets.update()
for bullet py():
enterx<entery<enterx > game_settings.screen_width: ve(bullet)
check_bullet_enemy_collisions(game_settings,bullets,screen,enemys)
check_bullet_boss_collisions(game_settings,bullets,boss)
def check_bullet_enemy_collisions(game_settings,bullets,screen,enemys):
if _is_alive:
collisions = upcollide(bullets,enemys,True,False)
else:
collisions = upcollide(bullets,enemys,True,True)
if collisions !={}:
_is_alive =False
if len(enemys)==0:
center怎么读英语create_legion(game_settings,screen,enemys)
def check_bullet_boss_collisions(game_settings,bullets,boss):
if game_settings.boss_alive:
collisions = upcollide(boss,bullets,False,True)
else:
collisions = upcollide(boss,bullets,True,True)
if collisions !={}:
game_settings.boss_lift -=1
if game_settings.boss_lift ==0:
game_settings.boss_alive =False
def create_legion(game_settings,screen,enemys):
for enemy_number in range(1):
_is_alive =True
enemy = Enemy(game_settings,screen)
enemys.add(enemy)
def update_enemys(game_settings,enemys):
if game_settings.boss_appear ==False:#判断boss是否出现,出现则不出现⼩兵
enemys.update()
for enemy py():
for enemy py():
enterx<0:
if game_settings.boom_end:#击中敌⼈爆炸
game_settings.boom_end =False
game_settings.boss_appear =True
def update_player(game_settings,stats,player,enemys): player.update()
if pygame.sprite.spritecollideany(player,enemys):
player_hit(game_settings,stats,player)
python基础代码大全黑客if game_settings.player_die_end ==True:
game_settings.player_die_end =False
def player_hit(game_settings,stats,player):
stats.players_left -=1
game_settings.player_is_alive =False
def update_boss(game_settings,boss):
if game_settings.boss_appear:
boss.update()
if game_settings.boss_boom_end:
def create_boss(game_settings,screen,player,boss):
bo = Game_Boss(game_settings,screen,player)
boss.add(bo)
完整程序包下载地址:
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论