- 记录一下今天不认真看书的日子
今天制作飞机大战外星人代码,话不多说先放代码:
import pygame
from pygame.sprite import Sprite
class Alien(Sprite):
def __init__(self,ai_settings,screen):
super(Alien,self).__init__()
self.screen = screen
self.ai_settings = ai_settings
self.image = pygame.image.load('ship.bmp')
self.rect = self.image.get_rect()
self.rect.x = self.rect.width
self.rect.y = self.rect.height
self.x = float(self.rect.x)
self.alien_width = self.image.get_width()
def blitme(self):
self.screen.blit(self.image,self.rect)
这是外星人的类代码,同样的将每个外星人添加为一组,就是昨天我没搞懂得Group。
主程序:
def run_game():
pygame.display.set_caption("Alien Invasion")
ai_setting = plant_game()
ship = Ship(ai_setting,ai_setting.screen)
bullets = Group()
###这里,建立了Group
aliens = Group()
到这里,我都明白。外星人制作实际上和飞船制作是同一个道理,区别在于外星人需要多个外星人,并且建立多个外星人Group,就是上面得那个。我现在得问题在于,我会建立单行的外星人,只有单个列。
书上写的代码,我没有看懂。。然后我下午我自己试了一下。建立了别的形状。
这个写出来后,发现代码写的不对。。明天接着改一下,我想说可以让第一行矩形以一个Group的形式,然后进行Y轴下移,相当于将其设置为一个整体,但是Y轴变化,我想应该是可以的。
然后今天,下午刷了B站看了别的PYTHON教程,设计了一个烤地瓜程序。。
- 程序的设计初衷是这样:
- 1、从仓库拿出地瓜,放入烤箱
- 2、开始进行烤地瓜,判断烤地瓜时间,烤了5分钟,然后询问是否要拿出来?如果不拿出来,继续烤,烤到10分钟询问是否拿出来,拿出来的话我们就添加到一个列表里,命名为地瓜1,然后记下来刚刚烤好的地瓜。
- 3、这个程序目前只能有效烤一个地瓜,而且每次记下来的地瓜也是有问题的,应该是我的迭代器和循环有问题。
- 这个程序就是随便玩玩。。然后看看明天能不能做好一点,随便找个灵感练习了一些类的用法。