import
pygame
import
random
import
time
pygame.init()
green
=
(
4
,
80
,
4
)
red
=
(
250
,
0
,
0
)
grey
=
(
30
,
30
,
30
)
width
=
400
height
=
400
tile_size
=
20
window
=
pygame.display.set_mode((width, height))
class
Floor(pygame.sprite.Sprite):
def
__init__(
self
, x, y):
pygame.sprite.Sprite.__init__(
self
)
self
.image
=
pygame.Surface((tile_size, tile_size))
self
.image.fill(green)
self
.rect
=
self
.image.get_rect()
self
.rect.x
=
x
self
.rect.y
=
y
floor_tiles.add(
self
)
class
Wall(pygame.sprite.Sprite):
def
__init__(
self
, x, y):
pygame.sprite.Sprite.__init__(
self
)
self
.colour
=
grey
self
.image
=
pygame.draw.rect(window, (
self
.colour), (x, y, tile_size, tile_size),
0
)
self
.rect
=
pygame.Rect(x, y, tile_size, tile_size)
self
.x
=
x
self
.y
=
y
pygame.display.flip()
class
Digger(pygame.sprite.Sprite):
def
__init__(
self
, x, y):
pygame.sprite.Sprite.__init__(
self
)
self
.image
=
pygame.Surface((tile_size, tile_size))
self
.image.fill(red)
self
.rect
=
self
.image.get_rect()
self
.rect.x
=
x
self
.rect.y
=
y
def
dig(
self
):
for
i
in
range
(
70
):
(dx, dy)
=
random.choice([(
0
, tile_size), (
0
,
-
tile_size), (
-
tile_size,
0
), (
+
tile_size,
0
)])
self
.rect.x
=
self
.rect.x
+
dx
self
.rect.y
=
self
.rect.y
+
dy
floor
=
Floor(
self
.rect.x,
self
.rect.y)
all_sprites.add(floor)
pygame.sprite.spritecollide(digger, walls,
True
)
print
(walls)
def
Fill_Map():
for
x
in
range
(
0
, width, tile_size):
for
y
in
range
(
0
, height, tile_size):
wall
=
Wall(x, y)
walls.add(wall)
def
Build_walls():
for
floor
in
floor_tiles:
print
(floor_tiles)
for
delta_x, delta_y
in
((
1
,
0
), (
0
,
1
), (
-
1
,
0
), (
0
,
-
1
)):
floor.rect.x
=
floor.rect.x
+
delta_x
floor.rect.y
=
floor.rect.y
+
delta_y
hits
=
pygame.sprite.spritecollide(floor, walls,
False
)
for
hit
in
hits:
wall.colour
=
red
floor.rect.x
=
floor.rect.x
-
delta_x
floor.rect.y
=
floor.rect.y
-
delta_y
all_sprites
=
pygame.sprite.Group()
walls
=
pygame.sprite.Group()
Fill_Map()
floor_tiles
=
pygame.sprite.Group()
diggers
=
pygame.sprite.Group()
digger
=
Digger((width
/
2
), (height
/
2
))
diggers.add(digger)
digger.dig()
all_sprites.draw(window)
pygame.display.update()