2020.12.11练习

1.代码


import pygame
from pygame.sprite import Sprite

class Plane:
    def __init__(self, screen, setting):
        super().__init__()
        self.screen = screen
        self.setting = setting
        self.img_plane = pygame.image.load("./imgs/plane.png")
        self.rect = self.img_plane.get_rect()  # 得到小飞机的的矩形区域
        self.screen_rect = self.screen.get_rect()  # 得到screen的矩形区域
        # print(self.screen_rect)
        self.rect.centerx = self.screen_rect.centerx  # 水平居中
        self.rect.bottom = self.screen_rect.bottom  # 底部
        self.center = float(self.rect.centerx)
        self.mv_right = False
        self.mv_left = False
    def update(self):
        if self.mv_right and self.rect.right < self.screen_rect.right:  # 小飞机的有边框小于整个页面的有边框
            self.center += self.setting.plane_speed  # settings中的属性

        if self.mv_left and self.rect.left > 0:  # 小飞机的左边框大于0
            self.center -= self.setting.plane_speed
        self.rect.centerx = self.center

    def blitme(self):
        self.screen.blit(self.img_plane, self.rect)

    def center_plane(self):

        self.center - self.screen_rect.centerx

class Bullet(Sprite):  # 继承pygame.sprite中的Sprite类
    """子弹的管理"""

    def __init__(self, setting, screen, plane):
        super().__init__()
        self.screen = screen
        # 在(0,0)处创建一个表示子弹的矩形
        # pygame.Rect
        # 用于存储直角坐标的pygame对象
        self.rect = pygame.Rect(0,0, setting.bullet_width, setting.bullet_height)
        # 设置显示的位置
        self.rect.centerx = plane.rect.centerx
        self.rect.top = plane.rect.top
        # 让子弹的位置跟小飞机重叠,当子弹飞出了以后,就显得跟从小飞机里面射出来一样

        # 将子弹的坐标转换为浮点数
        self.y = float(self.rect.y)

        # 子弹的颜色
        self.color = setting.bullet_color
        # 子弹的速度
        self.speed = setting.bullet_speed

    def update(self):
        # 向上移动子弹
        self.y -= self.speed
        # 根据self.y的值更新self.rect.y
        self.rect.y = self.y

    def draw_bullet(self):
        """绘制子弹"""
        # pygame.draw.rect()画一个矩形的形状
        pygame.draw.rect(self.screen, self.color, self.rect)

class Spaceship(Sprite):
    def __init__(self, setting, screen):
        super().__init__()
        self.screen = screen
        self.setting = setting

        self.img = pygame.image.load("./imgs/enemy.png")
        # 获取rect属性
        self.rect = self.img.get_rect()
        # 每个飞船最初都在屏幕左上角附近
        self.rect.x = self.rect.width  # 飞船图像的左边距等于图像的宽度
        self.rect.y = self.rect.height  # 飞船图书的上边距等于图像的高度
        self.rect.w = self.rect.width
        self.rect.h = int(self.rect.height / 2) # 将高度设置为一半
        self.x = float(self.rect.x)

    def blitme(self):
        self.screen.blit(self.img, self.rect)

    def check_edges(self):
        screen_rect = self.screen.get_rect()
        if self.rect.right >= screen_rect.right:
            return True
        elif self.rect.left <= 0:
            return True

    def update(self):
        """移动飞船"""
        self.x += (self.setting.spaceship_speed * self.setting.fleet_direction)
        self.rect.x = self.x

该处使用的url网络请求的数据。


总结

提示:这里对文章进行总结:
例如:以上就是今天要讲的内容,本文仅仅简单介绍了pandas的使用,而pandas提供了大量能使我们快速便捷地处理数据的函数和方法。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值