pygame 学习check_event,game_function,alien_invasion等程序
#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等程序相关推荐
- Pygame学习笔记 4 —— 时间与运动
还记得我们在之前的程序中如何让兔子动起来的吗,没错,使用event模块检测键盘事件,改变绘图的坐标,画面刷新后兔子就移动了.接下来我们细说如何精确控制时间和运动. 主要内容: pygame的时 ...
- 【Pygame 学习笔记】8.精灵
术语"精灵"是旧计算机和游戏机的保留.这些较旧的盒子无法以足够快的速度绘制和擦除普通图形,使其无法用作游戏.这些机器有特殊的硬件来处理需要快速动画的游戏对象.这些对象被称为&quo ...
- asp.net2.0学习历程 菜鸟到中级程序员的飞跃【月儿原创】
asp.net2.0学习历程 菜鸟到中级程序员的飞跃 --30本好书点评 作者:清清月儿 主页:http://blog.csdn.net/21aspnet/ 时间:2007.5.1 ...
- python学习之第二课时--运行程序和字符编码
python学习之第二课时--运行程序和字符编码 python的运行方式 Windows的终端运行方式: [右键点击开始键]--->[运行输入cmd]---> ...
- [Python学习]PycURL简单学习 - limodou的学习记录 - limodou是一个程序员,他关心的焦点是Python, DocBook, Open Source …...
[Python学习]PycURL简单学习 - limodou的学习记录 - limodou是一个程序员,他关心的焦点是Python, DocBook, Open Source - [Python学习] ...
- Linux进程线程学习笔记:运行新程序
Linux进程线程学习笔记:运行新程序 周银辉 在上一篇中我们说到,当启动一个新进程以后,新进程会复制父进程的大部份上下文并接着运行父进程中的代码,如果我们使新进程不运行原父进程的代码,转而运行另外一 ...
- asp.net2.0学习历程 菜鸟到中级程序员的飞跃[z转]
asp.net2.0学习历程 菜鸟到中级程序员的飞跃 --30本好书点评 学历历程 如果你是一个菜鸟或者自认为初学者那么本文非常适合你: 不能说这30本书就是最佳组合,但是可以说这个组合不差: 本人曾 ...
- 【C++学习汇总】【黑马程序员】
[C++学习汇总] 1 黑马程序员 2 深蓝学院 3 自发式收集学习 1 黑马程序员 [C++][第一篇][黑马 p84 - p105 ][引用][重载][类和对象-struct.class] [C+ ...
- 学习Matlab的第一个程序——用二分法求根
学习Matlab的第一个程序--用二分法求根 问题描述 matlab代码 遇到的一些问题和心得体会 问题描述 对于一个给定的方程f(x)=0和零点的大致区间(a,b),用二分法将区间(a,b)缩小,当 ...
最新文章
- 为什么用了索引之后,查询就会变快?
- 网络犯罪分子为何针对中小企业?—Vecloud微云
- 【vim】Vim: Error detected while processing function SNR37_MRU_LoadList错误
- DevExpress控件之GridControl控件
- Gartner:PaaS 和平台架构领域的 4 大趋势 | 技术头条
- Android的屏幕适配之图片加载适配
- tshark存储数据到mysql_网络分析利器wireshark命令版(2):tshark使用示例
- GNU C的定义长度为0的数组
- windows mysql备份与恢复_windows下Mysql自动备份与恢复说明
- python open写入_Python open读写文件实现脚本
- ZooKeeper食谱(八)
- JDK版本更换后编译android系统出错
- atitit 高扩展性解决方案.docx
- win32com excel转pdf
- 仿宋gb2312字体 官方版
- RC522(RFID模块)实践总结
- 批量无损压缩图片大小的工具Voralent Antelope
- Ubuntu 使用 ffmpeg 将 webm 转换为 mp4 (批量)
- excel分析数据的工具有哪些?
- Excel表格 |两列数据(多列)合并一列且自动换行
热门文章
- linux centos7 安装redis
- PHP调用外部服务获取IP地域信息实现信息的地域性关联
- 下一代Android或官方支持“App2sd”
- 解决sublime3 中文乱码问题
- 网络安全-NTFS权限和445文件共享
- [Python图像处理] 二十八.OpenCV快速实现人脸检测及视频中的人脸
- iOS逆向之深入解析MachO文件
- 人脸识别算法不可置疑?真相需要多重验证!
- 【Linux】一步一步学Linux——write命令(236)
- 【Linux】一步一步学Linux——declare命令(217)