python学习有一段时间了,想开发一些有意思的项目,就从《python 编程 从入门到实战》上找了这个项目练手,下面时我当时遇到的一些问题以及记录吧。
模块安装
开发python游戏,主要是pygame模块,我用的是pip安装,此处不做过多的介绍。
pygame窗口创建
alien_invasion.py

import sys
import pygame
from settings import Settings
def run_game():#初始化游戏,并建立一个屏幕对象pygame.init()#初始化背景设置ai_settings=Settings()screen=pygame.display.set_mode((ai_settings.screen_width,ai_settings.screen_height))#创建显示窗口,(1200,800)指定了游戏窗口的尺寸pygame.display.set_caption('Alien innvasion')#显示标题#游戏主循环while True:for event in pygame.event.get():  #监听鼠标和键盘的事件if  event.type == pygame.QUIT:sys.exit()screen.fill(ai_settings.bg_color)#用背景色填充屏幕pygame.display.flip()#不断更新屏幕,让最新绘制的屏幕可见,以显示元素的新位置
run_game() #初始化游戏,并开始主循环

此处的settings模块代码:
settings.py

class Settings():"""存储要设置的类"""def __init__(self):self.screen_width = 800self.screen_height = 600self.bg_color = (210,210,210)

代码的理解参考注释,其实python可以说是一门傻瓜式语言,不难懂,要记住的就是pygame的一些常用方法。

  • pygame的方法:
    pygame.cdrom 访问光驱
    pygame.cursors 加载光标
    pygame.display 访问显示设备
    pygame.draw 绘制形状、线和点
    pygame.event 管理事件
    pygame.font 使用字体
    pygame.image 加载和存储图片
    pygame.joystick 使用游戏手柄或者 类似的东西
    pygame.key 读取键盘按键
    pygame.mixer 声音
    pygame.mouse 鼠标
    pygame.movie 播放视频
    pygame.music 播放音频
    pygame.overlay 访问高级视频叠加
    pygame 就是我们在学的这个东西了……
    pygame.rect 管理矩形区域
    pygame.sndarray 操作声音数据
    pygame.sprite 操作移动图像
    pygame.surface 管理图像和屏幕
    pygame.surfarray 管理点阵图像数据
    pygame.time 管理时间和帧信息
    pygame.transform 缩放和移动图像
    添加飞船图像
    图片素材链接http://pixabay.com/,格式.bmp较好
    1 创建一个ship模块,管理飞船的行为
    ship.py
import pygameclass Ship():def __init__(self,screen):self.screen=screenself.image=pygame.image.load('images/feichuan.bmp')#加载飞船图像self.rect=self.image.get_rect()self.screen_rect=screen.get_rect()#获取飞船图像的外接矩形self.rect.centerx = self.screen_rect.centerxself.rect.bottom = self.screen_rect.bottom#将飞船放置在屏幕底部中央def blitem(self):self.screen.blit(self.image,self.rect)

然后对alien_invasion.py添加如下代码

ship = Ship(screen)#创建飞船
....
ship.blitem()

运行结果:

python项目练手(一)------飞船大战游戏相关推荐

  1. python游戏制作软件_10 个最值得 Python 新人练手的有趣项目

    原标题:10 个最值得 Python 新人练手的有趣项目 作者 | Claire D. Costa 编译 | Wendy 有很多 Python 新手留言问:"Python 入门很久了,但项目 ...

  2. python有趣的小项目-10 个最值得 Python 新人练手的有趣项目

    原标题:10 个最值得 Python 新人练手的有趣项目 作者 | Claire D. Costa 编译 | Wendy 有很多 Python 新手留言问:"Python 入门很久了,但项目 ...

  3. python练手经典100例-10 个最值得 Python 新人练手的有趣项目

    原标题:10 个最值得 Python 新人练手的有趣项目 作者 | Claire D. Costa 编译 | Wendy 有很多 Python 新手留言问:"Python 入门很久了,但项目 ...

  4. python入门程序有趣例子_10 个最值得 Python 新人练手的有趣项目

    原标题:10 个最值得 Python 新人练手的有趣项目 作者 | Claire D. Costa 编译 | Wendy 有很多 Python 新手留言问:"Python 入门很久了,但项目 ...

  5. 熬夜整理出了70个清华大佬都在用的Python经典练手项目【附源码】

    我们都知道,不管学习那门语言最终都要做出实际的东西来,而对于编程而言,这个实际的东西当然就是项目啦,不用我多说大家都知道学编程语言做项目的重要性. 于是,小编熬了几个通宵,终于整理出了70个清华大佬都 ...

  6. python练手经典100例-Python 的练手项目有哪些值得推荐?

    首先两点建议:最好不要写太应用的程序练手,如果你发现你写程序的大部分时间都在查库手册(或者类似的事情),那就是大家所说的"搬砖"了:要思考什么更像是知识,什么只是经验,还是那句老话 ...

  7. python小白练手集合

    人工智能是都要会Python吗?前两天老师一个师兄演示写神经网络,一屋子人就我连python语法都是小白马= = 这两天在网上找了一些公开课在学python,然后呢~课程有点枯燥,理论方面的有很多小花 ...

  8. 初学 C 语言没有项目练手?这 20 个小项目拿走不谢~

    C 语言是大多数人的编程入门语言,但很多初学者在学习的过程中难免会出现一些迷茫,比如:不知道 C 语言可以开发哪些项目,可以应用在哪些实际的开发中-- 今天我们收集了 20 个 C 语言练手项目,提供 ...

  9. c语言api文档_初学 C 语言没有项目练手?这 20 个小项目拿走不谢

    C 语言是大多数人的编程入门语言,但很多初学者在学习的过程中难免会出现一些迷茫,比如:不知道 C 语言可以开发哪些项目,可以应用在哪些实际的开发中--今天我们收集了 20 个 C 语言练手项目,提供了 ...

  10. c语言倒计时不影响进程_初学C语言没有项目练手怎么行,这17个小项目收下不谢...

    image C语言是我们大多数人的编程入门语言,对其也再熟悉不过了,不过很多初学者在学习的过程中难免会出现迷茫,比如:不知道C语言可以开发哪些项目,可以应用在哪些实际的开发中--,这些迷茫也导致了我们 ...

最新文章

  1. Qt 事件处理和事件过滤器的返回值总结
  2. 软件测试学java,软件测试学习Java的内存模型
  3. 10月10号面试技术总结
  4. shelve 之VS. pickle
  5. cordova flie文件目录_Cordova文件插件目录错误
  6. 开源的DevOps开发工具箱
  7. 基于WebSocket的手机应用和浏览器应用的数据传递
  8. 使用文本编辑器和jdk_JDK 14:记录,文本块等
  9. angular4点击事件监听_JavaScript从零开始——DOM事件编程(1)
  10. 大学生恋爱交友软件03(小幸运)——痛点分析
  11. 客户端第二次连接失败,SYN包发了,没有收到服务端回 SYN+ACK ,SYN包被丢弃了
  12. c语言计算个人所得税作业,C语言用文件计算个人所得税
  13. 教你如何看懂体检报告
  14. 008 计算某一日是这一年的第几天
  15. 浩辰3D软件入门教程:如何比较3D模型?
  16. 545D. Queue
  17. Paper Note - SLEUTH:基于COTS审计数据的实时攻击场景重构
  18. 最新2016年苹果公司开发者帐号申请流程
  19. IPTABLES常规操作规则与放行
  20. CRJ巨佬gjd算法伪代码

热门文章

  1. 15K薪资轻松到手,要低调~
  2. 中国ERP软件发展趋势
  3. 将服务费用DIY到底----走出软件作坊:三五个人十来条枪 如何成为开发正规军(十)...
  4. 10.企业安全建设指南(金融行业安全架构与技术实践) --- 安全预算、总结与汇报
  5. 43. 压缩组件(4)
  6. linux登录闪回登录界面,两种闪回查询的使用实验
  7. maven项目建立pom xml报无法解析org apache maven plugins maven resource
  8. [AtCoder Beginner Contest 133]F - Colorful Tree
  9. PADS 改变图纸和图页边界大小
  10. 前端了解的简要php