目的:学习面向对象的编程 - 模块化。我们如何将代码的某些部分转换为库,以便任何人都可以使用它以供将来参考。使代码模块化将实现可重用性并最小化重复。
依赖关系: pygame
简介:我们将制作一个小游戏(不是真正的游戏),而只是一个环境和一些对象。我们将尝试使环境变为静态,并将对象(在我们的例子中为blob)模块化。我们将使用PyGame,因为它为我们提供了一种简单的方法来实际可视化我们正在做什么和构建,所以我们可以看到我们的对象在行动。我们要做的是构建Blob World,这是一个由演员组成的世界,称为blob。不同的blob具有不同的属性,并且blob需要在其Blob World环境中起作用。通过这个例子,我们将能够说明模块化。
我们将学习过程分为两个阶段。
- 创建环境和Blob
- 了解模块化
存储库(Github)
import
pygame
import
random
STARTING_BLUE_BLOBS =
10
STARTING_RED_BLOBS =
3
WIDTH =
800
HEIGHT =
600
WHITE =
(255, 255, 255)
BLUE =
(0, 0, 255)
RED =
(255, 0, 0)
game_display =
pygame.display.set_mode((WIDTH, HEIGHT))
pygame.display.set_caption("Blob World")
clock =
pygame.time.Clock()
class
Blob:
def
__init__(self, color):
self.x =
random.randrange(0, WIDTH)
self.y =
random.randrange(0, HEIGHT)
self.size =
random.randrange(4,8)
self.color =
color
def
move(self):
self.move_x =
random.randrange(-1,2)
self.move_y =
random.randrange(-1,2)
self.x +=
self.move_x
self.y +=
self.move_y
if
self.x < 0: self.x =
0
elif
self.x > WIDTH: self.x =
WIDTH
if
self.y < 0: self.y =
0
elif
self.y > HEIGHT: self.y =
HEIGHT








暂无数据