2021/1/6

努力敲代码的第二天
python小游戏飞机大战## 标题

第一天也不知道敲了个啥,就下课了,害,先在pycharm上安装一个pygame包,然后创建一个pygame窗口,然后new一个python file文件,因为是做实训,所以我就命名为实训1了。
实训1的代码
import sys,pygame
from settings import Settings
from ship import Ship
def run_game():
初始化游戏并创建一个屏幕对象
pygame.init()
auto_settings =Settings()
screen=pygame.display.set_mode((auto_settings.screen_width,auto_settings.screen_hight))
bg_color = (255,255,255)
screen = pygame.display.set_mode((600,700))
pygame.display.set_caption(“飞机大战”)
ship = Ship(screen)
开始游戏的主循环
while True:
监视键盘和鼠标事
for event in pygame.event.get():
if event.type == pygame.QUIT:
sys.exit()
每次循环时都重新绘制屏幕
screen.fill(auto_settings.bg_color)
ship.blitme()
让最近绘制的屏幕可见
pygame.display.flip()
run_game()
在编写一个名为settings的模块,其中包含一个名为settings的类,用于将所有设置存储到一个地方,下面是最初的settings类:
class Settings():
def init (self):
self.screen_width = 1200
self.screen_hight = 700
self.bg_color=(255,255,255)
然后再添加飞船图像,创建一个ship类,负责管理飞船的大部分行为,ship.py代码如下:
import pygame
class Ship:
def init(self,screen):
”’初始化飞船并设置其初始位置”’
self.screen=screen

加载飞船图象并获取其边界图形

self.image =pygame.image.load(‘images/飞船.bmp’)
self.rect =self.image.get_rect()
self.screen_rect =screen.get_rect()

将每艘飞船放在屏幕底部中央

self.rect.centerx=self.screen_rect.centerx
self.rect.bottom=self.screen_rect.bottom
def blitme(self):
”’在指定位置绘制飞船”’
self.screen.blit(self.image,self.rect)
然后在运行出来就是这个样子哒:

2021/1/6

Original: https://blog.csdn.net/m0_54345140/article/details/112262758
Author: laurusxh
Title: 2021/1/6

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/784266/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • 教大家怎么看monaco-editor的官方文档

    最近业务中有用到浏览器在线编辑器,用的是monaco-editor,官网文档只在首页介绍了npm安装方式。 但其实还有另外一种 在F12控制台输入window.monaco查看,可…

    Python 2023年10月23日
    087
  • topy库的安装(拓扑优化软件)

    本人的py27文件夹放到了网盘,可以直接下载下来然后直接创建环境变量链接:https://pan.baidu.com/s/13aj58_VDdYxyRxuwGxRUoA提取码:k3…

    Python 2023年8月28日
    045
  • 【机器学习】李宏毅——生成式对抗网络GAN

    1、基本概念介绍 1.1、What is Generator 在之前我们的网络架构中,都是对于输入x得到输出y,只要输入x是一样的,那么得到的输出y就是一样的。 但是Generat…

    Python 2023年10月12日
    046
  • 泛型

    只对函数的第一个参数做类型检查,发现局限性太大,没什么特别的应用场景,也可能是我没用到 对第一个参数以外的参数也做类型检查,保证参数类型一致性 output: 【4】类型检查通过【…

    Python 2023年10月31日
    040
  • 体验了一下火爆全球的 ChatGPT,我震惊了

    这几天,要说编程圈最热的话题,莫过于 OpenAI的 ChatGPT,写小说,写代码,找BUG,写论文,画漫画,谱曲……简直没有它干不了的事。 趁着下班时间…

    Python 2023年11月3日
    037
  • 还原填充错误的缺失数据

    还原填充错误的缺失数据 手动方法 map() 函数映射 自动方法 for循环 + replace() 替换 说明 手动方法 map() 函数映射 map(func) import …

    Python 2023年8月7日
    060
  • python 组合优化_python中的多周期投资组合优化

    场景:我尝试在多个时期的场景中,使用不同的约束条件(权重、风险、风险规避…)进行多个投资组合优化。在 我已经做了些什么:从cvxpy的例子中,我发现了如何在一个非线性二…

    Python 2023年8月8日
    051
  • 京东云开发者|IoT运维 – 如何部署一套高可用K8S集群

    环境 准备工作 配置ansible(deploy 主机执行) ssh-keygen for i in 192.168.3.{21..28}; do ssh-copy-id -i ~…

    Python 2023年10月16日
    053
  • Python语言Numpy包之Meshgrid 函数

    在 Numpy 的官方文章里, meshgrid 函数的英文描述也显得文绉绉的,理解起来有些难度。可以这么理解, meshgrid 函数用两个坐标轴上的点在平面上画网格。 用法: …

    Python 2023年8月24日
    073
  • matplotlib中figure、subplot和axes的用法

    小白学习matplotlib,经常会搞混figure、subplot、ax1和axes这些关键词。本文从应用的角度出发讨论这些关键词。 画一个简单的图 大部分新手用Python绘图…

    Python 2023年9月3日
    082
  • 大数据之Spark案例实操完整使用(第六章)

    大数据之Spark案例实操完整使用 一、案例一 * 1、准备数据 2、需求 1:Top10 热门品类 3、需求说明 – 方案一、 实现方案二 实现方案三 二 、需求实现…

    Python 2023年11月7日
    039
  • MySQL高可用之MHA架构企业实战

    抵扣说明: 1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。 Original: https://blo…

    Python 2023年8月26日
    070
  • Nacos注册中心

    Nacos注册中心 Nacos注册中心 * 一、Nacos服务端和服务注册 – 1.新建maven工程(服务端),引入pom依赖 2.服务注册 + (1)引入pom依赖…

    Python 2023年11月6日
    044
  • python pip安装第三方包速度慢,这篇博客给你安排清楚了

    ⛳️ 实战场景 作为 Python 的初学者,经常要用到第三方模块的安排,常规情况下,直接使用下述命令,然后就等待去了。 pip install 模块包名 但是上述命令默认访问的是…

    Python 2023年9月8日
    069
  • TensorFlow和CUDA、cudnn、Pytorch以及英伟达显卡对应版本对照表

    抵扣说明: 1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。 Original: https://blo…

    Python 2023年8月1日
    067
  • 公有云降本增效最佳实践

    最近看到了几个事情,一个是某保险系统,为了快速上线,全量上云,结果生产正式运行后每月账单高达几十万。相关业务总扛不住这个支出,又劳师动众,让下面的项目经理、开发、运维、架构师花了3…

    Python 2023年10月11日
    046
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球