第一版游戏demo

添加计分系统:中间是最高得分,右边是本次得分。

显示余下的飞船数


主函数如下,完整程序将上传到笔者的github:https://github.com/shizhengLi/learning_python

import pygame
from pygame.sprite import Groupfrom settings import Settings
from game_stats import GameStats
from scoreboard import Scoreboard
from button import Button
from ship import Ship
import game_functions as gfdef run_game():# 初始化pygame、设置和屏幕对象pygame.init()ai_settings = Settings()screen = pygame.display.set_mode((ai_settings.screen_width, ai_settings.screen_height))pygame.display.set_caption("Alien Invasion")#创建Play按钮play_button = Button(ai_settings, screen, "Play")# 创建一个用于存储游戏统计信息的实例stats = GameStats(ai_settings)# 设置背景色bg_color = (230, 230, 230)# 创建一艘飞船、一个子弹编组和一个外星人编组ship = Ship(ai_settings, screen)bullets = Group()aliens = Group()# 创建外星人群gf.create_fleet(ai_settings, screen, ship, aliens)# 创建存储游戏统计信息的实例,并创建记分牌stats = GameStats(ai_settings)sb = Scoreboard(ai_settings, screen, stats)# 开始游戏的主循环 while True:gf.check_events(ai_settings, screen, stats, sb, play_button, ship, aliens, bullets)if stats.game_active:ship.update()gf.update_bullets(ai_settings, screen, stats, sb, ship, aliens, bullets)gf.update_aliens(ai_settings, screen, stats, sb, ship, aliens, bullets)gf.update_screen(ai_settings, screen, stats, sb, ship, aliens, bullets, play_button)run_game()

这算是学习python真正入门的一次尝试,算是班门弄斧啦。

python基础学习[python编程从入门到实践读书笔记(连载二)]:外星人入侵项目相关推荐

  1. python基础学习[python编程从入门到实践读书笔记(连载一)]

    写在前面:本文来自笔者关于<python编程从入门到实践>的读书笔记与动手实践记录. 程序员之禅 文章目录 02变量和简单数据类型 03 列表简介 04 操作列表 05 if语句 06 字 ...

  2. python基础学习[python编程从入门到实践读书笔记(连载三)]:django学习笔记web项目

    文章目录 Django项目:学习笔记web网页 项目部署 参考 自己部署的网站,还是小有成就感的,毕竟踩过很多坑,实战技能也有些许进步. 网站链接:http://lishizheng.herokuap ...

  3. python基础学习[python编程从入门到实践读书笔记(连载五)]:数据可视化项目第16章

    文章目录 下载数据 制作全球地震散点图:JSON格式 end 几个实验结果: 每日最高气温: 地震图绘制: 下载数据 CSV文件格式 在文本文件中存储数据,一个简单方式是将数据作为一系列以逗号分隔的值 ...

  4. python基础学习[python编程从入门到实践读书笔记(连载四)]:数据可视化项目第15章

    文章目录 matplotlib初学 基础绘图用法 随机漫步 使用Plotly模拟掷骰子 matplotlib初学 基础绘图用法 import matplotlib.pyplot as pltsquar ...

  5. python基础学习[python编程从入门到实践读书笔记(连载六)]:数据可视化项目第17章

    文章目录 使用API end 项目结果: 使用plotly可视化github最受欢迎的python仓库: 修改后的可视化图表: 使用API 编写独立的程序,实现对获取的数据可视化.我们使用Web AP ...

  6. python编程从入门到实践读书笔记-《Python编程:从入门到实践》项目部分读书笔记(二)...

    鸽了一个暑假没有更新,现在趁着还没开学更一下.咕咕咕 上期作业: 请创建一个Django项目,命名为Blog,建不建立虚拟环境随便你,最后本地跑成了就行. 步骤: ①在需要创建工程的文件夹下打开cmd ...

  7. Python基础学习-Python中最常见括号()、[]、{}的区别 2015-08-13 07:54 by xuxiaoxiaoxiaolu, 1138 阅读, 0 评论, 收藏, 编辑 Pytho

    Python基础学习-Python中最常见括号().[].{}的区别 2015-08-13 07:54 by xuxiaoxiaoxiaolu, 1138 阅读, 0 评论, 收藏, 编辑 Pytho ...

  8. python编程从入门到精通读书笔记(基础知识)

    第一部分:基础知识 学习python想要做的软件  1.开机答题软件,(电脑一开机的输入密码,改为答题,初步设定为选择题,答对了才可以进入.)  2.   第二章 2.1第一个程序:  print(& ...

  9. Python基础学习——面向对象编程(第一讲:面向对象概述、面向对象三个基本特征(封装性、继承性、多态性)、类和对象(定义类、创建和使用对象、实例变量、类变量、构造方法、实例方法、类方法、静态方法))

    面向对象是Python最重要的特性,在Python中一切数据类型都是面向对象的. 1.面向对象概述 面向对象的编程思想是,按照真实世界客观事物的自然规律进行分析,客观世界中存在什么样的实体,构建软件系 ...

最新文章

  1. 5招全面扫描网站页面的质量
  2. .NET分布式缓存Memcached测试体验
  3. 机器学习(MACHINE LEARNING)MATLAB求解状态转移矩阵
  4. py爬取英文文档学习单词
  5. Numeric tile and other files loaded in Smart Template tile render launch
  6. WEB攻击手段及防御-扩展篇
  7. 玩转算法第七章-二叉树与递归
  8. z变换判断稳定性和因果性_图像处理的仿射变换与透视变换
  9. 导入ansys的实体怎么进行parameter_ANSYS在线缆线束设计中的仿真应用
  10. 关于java内容_关于java一些概念性的内容
  11. 在数组中查找第k个最大元素_查找数组中每个元素的最近最大邻居
  12. php静态属性和普通属性吗,php中静态属性和普通属性的区别
  13. IntelliJ IDEA主题修改
  14. github已有项目上添加并更新
  15. Android 访问 https的webservice接口
  16. vue中使用video标签插入视频并自动播放
  17. 编写程序描述影视歌三栖艺人
  18. MUR2060AC-ASEMI超快恢复二极管MUR2060AC
  19. 04刘笑维-05刘洪雨-实训一
  20. Git本地仓库与GitHub远程仓库的同步方法

热门文章

  1. Docker最佳实践-部署LNMP环境
  2. shell -- shift用法
  3. css圆角矩形及去掉空格属性
  4. 关于 UDP Hole Punching 的资料
  5. jQuery 表格插件
  6. asp.net面试题收集[2006.4.28更新]
  7. gpu的单位表示_GPU是如何工作的
  8. 游戏开发需要具备哪些技术_生鲜小程序需要具备哪些功能板块?生鲜小程序开发...
  9. 【Python】纯代码通过神经网络实现线性回归的拟合
  10. 【数理知识】《数值分析》李庆扬老师-目录