怎么用Python代码实现简单飞机大战游戏
发表于:2024-10-26 作者:千家信息网编辑
千家信息网最后更新 2024年10月26日,这篇文章主要讲解了"怎么用Python代码实现简单飞机大战游戏",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"怎么用Python代码实现简单飞机大战游戏
千家信息网最后更新 2024年10月26日怎么用Python代码实现简单飞机大战游戏
这篇文章主要讲解了"怎么用Python代码实现简单飞机大战游戏",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"怎么用Python代码实现简单飞机大战游戏"吧!
功能
玩家飞机可以移动,可以发射子弹,敌机随机产生,自由坠落。未添加击落敌机的功能。主要用来练习类的封装与继承。
源码
# -*- coding=utf-8 -*-import pygame, randomfrom pygame.locals import *class Base(object): def __init__(self, x, y, screen): self.screen = screen self.x = x self.y = yclass Player(Base): def __init__(self): super().__init__(210, 600, screen) self.playerName = "./feiji/hero.gif" self.player = pygame.image.load(self.playerName).convert() self.bullet_list = [] def display(self): self.screen.blit(self.player, (self.x, self.y)) for bullet in self.bullet_list: bullet.display() bullet.mov() def move_left(self): self.x -= 10 def move_right(self): self.x += 10 def move_up(self): self.y -= 10 def move_down(self): self.y += 10 def shot(self): bullet = Bullet() self.bullet_list.append(bullet)class Bullet(Base): def __init__(self): super().__init__(player.x+40, player.y-20, screen) self.bulletName = "./feiji/bullet-3.gif" self.bullet = pygame.image.load(self.bulletName).convert() def display(self): self.screen.blit(self.bullet, (self.x, self.y)) def mov(self): self.y -= 10class Enemy(Base): def __init__(self): super().__init__(random.randint(1, 10)*40, 0, screen) self.enemyName = "./feiji/enemy-1.gif" self.enemy = pygame.image.load(self.enemyName).convert() self.enemy_list = [] self.i = 0 def mov(self): self.y += 2class EnemyArea(Enemy): def display(self): # 每隔一段时间创建一架敌机 if self.i % 80 == 0: new_enemy = Enemy() self.enemy_list.append(new_enemy) self.i += 1 for enemy in self.enemy_list: self.screen.blit(enemy.enemy, (enemy.x, enemy.y)) enemy.mov()if __name__ == "__main__": # 创建一个窗口,用来显示内容 screen = pygame.display.set_mode((480, 890)) # 创建一个和窗口大小的图片,用来充当背景 background = pygame.image.load("./feiji/background.png").convert() player = Player() enemy = Enemy() enemy_area = EnemyArea() while True: screen.blit(background, (0, 0)) player.display() enemy_area.display() # 判断按键 for event in pygame.event.get(): if event.type == QUIT: exit() elif event.type == KEYDOWN: if event.key == K_a or event.key == K_LEFT: player.move_left() elif event.key == K_d or event.key == K_RIGHT: player.move_right() elif event.key == K_w or event.key == K_UP: player.move_up() elif event.key == K_s or event.key == K_DOWN: player.move_down() elif event.key == K_SPACE: player.shot() elif event.key == K_q: exit() pygame.display.update() pygame.time.delay(10)
结果展示
感谢各位的阅读,以上就是"怎么用Python代码实现简单飞机大战游戏"的内容了,经过本文的学习后,相信大家对怎么用Python代码实现简单飞机大战游戏这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是,小编将为大家推送更多相关知识点的文章,欢迎关注!
飞机
代码
大战
内容
敌机
学习
功能
自由
图片
大小
子弹
就是
思路
情况
按键
文章
时间
更多
源码
玩家
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
上海交大网络安全学院夏令营
数据库开发是什么东西
数据库小于多少天
沛县博恒网络技术服务部
长宁区数据软件开发信息中心
dhk网络安全小组
网络安全是科技股吗
网络安全与用户隐私保护官
河南口酥网络技术有限公司
天刀ol云上之城服务器
服务器休眠模
网络安全职业生涯规划路线选择
北京工控软件开发收费
网吧无盘服务器系统
法院网络安全管理
数据库安全的意义和重要性
手机无法联接服务器1302
软件开发应征什么说
数据库日志binlog
dota2服务器垃圾
软件开发助理实习记录
计算机网络安全 最新论文
已连接到服务器的网络密码
anki数据库损坏
服务器 安全卫士
网络安全osie是什么
连接数据库sa登录不了
扬中管理软件开发
怎么看数据库是多少位
上海通信网络技术创新服务