怎么用Python代码实现简单飞机大战游戏
发表于:2024-10-27 作者:千家信息网编辑
千家信息网最后更新 2024年10月27日,这篇文章主要讲解了"怎么用Python代码实现简单飞机大战游戏",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"怎么用Python代码实现简单飞机大战游戏
千家信息网最后更新 2024年10月27日怎么用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安全错误
数据库的锁怎样保障安全
计算机网网络技术是学什么
mc网易版最难玩的服务器
小班网络安全温馨提示
sci数据库翻墙
共创科技专业做互联网产品
数据库应该如何配置sql
忻州软件开发解决方案
服务器管理器操作
深圳由你网络技术有限公司招聘
倩女幽魂ol端游服务器
百兆服务器
工业互联网与科技创新
软件开发上限
考试服务器由谁负责管理
泉州文旅产业数据库
画板报主题网络安全宣传
电脑mc服务器常用指令
明日之后渠道服最老的服务器
网络安全产品可以做吗
网络安全职业证书含金量
服务器小怎么快速进网
广州星际网络技术公司王名校
起凡群雄逐鹿服务器忙
30后不适合软件开发
望远县软件开发公司报价多少
外国工业增加值哪个数据库有
辉月网络技术有限公司
服务器最多连接几台设备
数据库安全风险自查
奉化ios软件开发平台