#game.py
#主程序
import pygame
from settings import Settings
from game_function import update_screen
from game_function import check_events
from ship import Ship
def run_game():pygame.init()my_set = Settings()screen = pygame.display.set_mode((my_set.width,my_set.height))ship = Ship(screen)pygame.display.set_caption(my_set.caption)while True:check_events()update_screen(my_set,screen,ship)run_game()
#settings.py
import pygame
import sys
class Settings():def __init__(self):self.color = (0,0,255)self.width = 1000self.height = 800self.caption = 'alien invasion'
#ship.py
import pygame
class Ship():def __init__(self,screen):self.screen = screenself.screen_rect = self.screen.get_rect()self.image = pygame.image.load('ship.bmp')self.rect = self.image.get_rect()self.rect.centerx = self.screen_rect.centerxself.rect.bottom  = self.screen_rect.bottomdef blitme(self):self.screen.blit(self.image,self.rect)
#game_function.py
import pygame
import sys
from settings import Settings
def check_events():for event in pygame.event.get():if event.type == pygame.QUIT:sys.exit()def update_screen(settings,screen,ship):"""circle the ship in screen""""""fill the color """"""flip the screen"""screen.fill(settings.color)ship.blitme()pygame.display.flip()

本文所用到的ship.bmp和alien.bmp的下载   链接: https://pan.baidu.com/s/1Dn5yaQGZLIsN0BohM8PzoA  密码: 38ie

满足上述4个源代码文件以及保证文件夹下放置ship.bmp情况下,运行代码:

ubuntu运行命令:

python3 game.py

win系统运行命令:

python game.py

运行结果:

pygame 学习check_event,game_function,alien_invasion等程序相关推荐

  1. Pygame学习笔记 4 —— 时间与运动

        还记得我们在之前的程序中如何让兔子动起来的吗,没错,使用event模块检测键盘事件,改变绘图的坐标,画面刷新后兔子就移动了.接下来我们细说如何精确控制时间和运动. 主要内容: pygame的时 ...

  2. 【Pygame 学习笔记】8.精灵

    术语"精灵"是旧计算机和游戏机的保留.这些较旧的盒子无法以足够快的速度绘制和擦除普通图形,使其无法用作游戏.这些机器有特殊的硬件来处理需要快速动画的游戏对象.这些对象被称为&quo ...

  3. asp.net2.0学习历程 菜鸟到中级程序员的飞跃【月儿原创】

    asp.net2.0学习历程 菜鸟到中级程序员的飞跃 --30本好书点评 作者:清清月儿 主页:http://blog.csdn.net/21aspnet/           时间:2007.5.1 ...

  4. python学习之第二课时--运行程序和字符编码

    python学习之第二课时--运行程序和字符编码 python的运行方式 Windows的终端运行方式:                [右键点击开始键]--->[运行输入cmd]---> ...

  5. [Python学习]PycURL简单学习 - limodou的学习记录 - limodou是一个程序员,他关心的焦点是Python, DocBook, Open Source …...

    [Python学习]PycURL简单学习 - limodou的学习记录 - limodou是一个程序员,他关心的焦点是Python, DocBook, Open Source - [Python学习] ...

  6. Linux进程线程学习笔记:运行新程序

    Linux进程线程学习笔记:运行新程序 周银辉 在上一篇中我们说到,当启动一个新进程以后,新进程会复制父进程的大部份上下文并接着运行父进程中的代码,如果我们使新进程不运行原父进程的代码,转而运行另外一 ...

  7. asp.net2.0学习历程 菜鸟到中级程序员的飞跃[z转]

    asp.net2.0学习历程 菜鸟到中级程序员的飞跃 --30本好书点评 学历历程 如果你是一个菜鸟或者自认为初学者那么本文非常适合你: 不能说这30本书就是最佳组合,但是可以说这个组合不差: 本人曾 ...

  8. 【C++学习汇总】【黑马程序员】

    [C++学习汇总] 1 黑马程序员 2 深蓝学院 3 自发式收集学习 1 黑马程序员 [C++][第一篇][黑马 p84 - p105 ][引用][重载][类和对象-struct.class] [C+ ...

  9. 学习Matlab的第一个程序——用二分法求根

    学习Matlab的第一个程序--用二分法求根 问题描述 matlab代码 遇到的一些问题和心得体会 问题描述 对于一个给定的方程f(x)=0和零点的大致区间(a,b),用二分法将区间(a,b)缩小,当 ...

最新文章

  1. 为什么用了索引之后,查询就会变快?
  2. 网络犯罪分子为何针对中小企业?—Vecloud微云
  3. 【vim】Vim: Error detected while processing function SNR37_MRU_LoadList错误
  4. DevExpress控件之GridControl控件
  5. Gartner:PaaS 和平台架构领域的 4 大趋势 | 技术头条
  6. Android的屏幕适配之图片加载适配
  7. tshark存储数据到mysql_网络分析利器wireshark命令版(2):tshark使用示例
  8. GNU C的定义长度为0的数组
  9. windows mysql备份与恢复_windows下Mysql自动备份与恢复说明
  10. python open写入_Python open读写文件实现脚本
  11. ZooKeeper食谱(八)
  12. JDK版本更换后编译android系统出错
  13. atitit 高扩展性解决方案.docx
  14. win32com excel转pdf
  15. 仿宋gb2312字体 官方版
  16. RC522(RFID模块)实践总结
  17. 批量无损压缩图片大小的工具Voralent Antelope
  18. Ubuntu 使用 ffmpeg 将 webm 转换为 mp4 (批量)
  19. excel分析数据的工具有哪些?
  20. Excel表格 |两列数据(多列)合并一列且自动换行

热门文章

  1. linux centos7 安装redis
  2. PHP调用外部服务获取IP地域信息实现信息的地域性关联
  3. 下一代Android或官方支持“App2sd”
  4. 解决sublime3 中文乱码问题
  5. 网络安全-NTFS权限和445文件共享
  6. [Python图像处理] 二十八.OpenCV快速实现人脸检测及视频中的人脸
  7. iOS逆向之深入解析MachO文件
  8. 人脸识别算法不可置疑?真相需要多重验证!
  9. 【Linux】一步一步学Linux——write命令(236)
  10. 【Linux】一步一步学Linux——declare命令(217)