Worked on task 4.
This commit is contained in:
@@ -40,7 +40,8 @@ import logic.rollingstone
|
||||
|
||||
class Level1(level.Level):
|
||||
def __init__(self, game, graphics_dir, paused=False):
|
||||
level.Level.__init__(self, game, graphics_dir, size=(64*20, 48*20),
|
||||
level.Level.__init__(self, game, graphics_dir, size=(64 * 100,
|
||||
48 * 100),
|
||||
paused=paused)
|
||||
|
||||
self.dimensions = 50, 50
|
||||
@@ -58,41 +59,102 @@ class Level1(level.Level):
|
||||
# self.imgs['block1'],
|
||||
# movable=True))
|
||||
|
||||
b = boulder.Boulder(self, 64, 0, direction=(0, 1))
|
||||
self.objects.append(b)
|
||||
self.objects.append(lever.Lever(self, 64*2, 0, [b.activate]))
|
||||
self.player.set_pos(64 * 10, 48 * 10)
|
||||
self.player.set_init_pos()
|
||||
|
||||
playfield_pos = (64*2, 48*2)
|
||||
### Task 2: Rolling stone
|
||||
|
||||
task2_pos = (64 * 20, 48 * 20)
|
||||
|
||||
playfield, nsteps, directions = (
|
||||
logic.rollingstone.generate_simple_unsolved_solvable_extra(10, 10, 7, 20))
|
||||
logic.rollingstone.generate_simple_unsolved_solvable_extra(
|
||||
10, 10, 7, 20))
|
||||
|
||||
for i in range(10):
|
||||
for j in range(10):
|
||||
if (i, j) in playfield:
|
||||
if playfield[(i, j)] is logic.rollingstone.Blocker:
|
||||
self.objects.append(
|
||||
block.Block(self,
|
||||
playfield_pos[0] + 64 * i,
|
||||
playfield_pos[1] + 48 * j,
|
||||
self.imgs['block1'],
|
||||
movable=True))
|
||||
for i, j in playfield:
|
||||
self.objects.append(
|
||||
block.Block(self,
|
||||
task2_pos[0] + 64 * i,
|
||||
task2_pos[1] + 48 * j,
|
||||
self.imgs['block1'],
|
||||
movable=True))
|
||||
|
||||
arrow_blocks = []
|
||||
n = 0
|
||||
for i in directions:
|
||||
arrow_blocks.append(block.ArrowBlock(self,
|
||||
playfield_pos[0] - 64,
|
||||
playfield_pos[1] + 48 * n,
|
||||
task2_pos[0] - 64,
|
||||
task2_pos[1] + 48 * n,
|
||||
i.next_pos((0, 0))))
|
||||
n += 1
|
||||
|
||||
self.objects.extend(arrow_blocks)
|
||||
self.objects.append(lever.Lever(self, 64*3, 0,
|
||||
self.objects.append(lever.Lever(self,
|
||||
task2_pos[0] + 64 * 3,
|
||||
task2_pos[1] - 48 * 2,
|
||||
[arrow_block.activate
|
||||
for arrow_block in arrow_blocks],
|
||||
toggling=True))
|
||||
toggling=True,
|
||||
anim='lever_updown'))
|
||||
|
||||
b = boulder.Boulder(self, task2_pos[0], task2_pos[1],
|
||||
direction=(0, 1))
|
||||
self.objects.append(b)
|
||||
|
||||
self.objects.append(lever.Lever(self,
|
||||
task2_pos[0] + 64 * 2,
|
||||
task2_pos[1] - 48 * 2,
|
||||
[b.activate],
|
||||
anim='lever_updown'))
|
||||
|
||||
### Task 4: Inverted bits
|
||||
|
||||
task4_pos = (64 * 13, 48 * 13)
|
||||
|
||||
b = boulder.Boulder(self, task4_pos[0] - 64, task4_pos[1] - 48 * 3,
|
||||
direction=(1, 0))
|
||||
self.objects.append(b)
|
||||
|
||||
self.objects.append(lever.Lever(self,
|
||||
task4_pos[0] - 64 * 2,
|
||||
task4_pos[1] - 48 * 3,
|
||||
[b.activate]))
|
||||
|
||||
|
||||
risingblocks = [block.RisingBlock(self, task4_pos[0] + 64 * i,
|
||||
task4_pos[1] - 48 * 3,
|
||||
is_up = False)
|
||||
for i in range(8)]
|
||||
|
||||
for i in range(8):
|
||||
self.objects.append(risingblocks[i])
|
||||
n = random.randint(0, 7)
|
||||
self.objects.append(lever.Lever(self,
|
||||
task4_pos[0] + 64 * i,
|
||||
task4_pos[1] - 48 * 2,
|
||||
[risingblocks[i].activate,
|
||||
risingblocks[n].activate],
|
||||
anim='lever_updown',
|
||||
toggling=True,
|
||||
signal=[0, 1]))
|
||||
for k in range(random.randint(0, 1)):
|
||||
self.objects[-1].use(self)
|
||||
self.objects[-1].set_init_pos()
|
||||
risingblocks[i].set_init_pos()
|
||||
risingblocks[n].set_init_pos()
|
||||
n = random.randint(0, 7)
|
||||
self.objects.append(lever.Lever(self,
|
||||
task4_pos[0] + 64 * i,
|
||||
task4_pos[1],
|
||||
[risingblocks[i].activate,
|
||||
risingblocks[n].activate],
|
||||
anim='lever_updown',
|
||||
toggling=True,
|
||||
signal=[2, 3]))
|
||||
for i in range(random.randint(0, 1)):
|
||||
self.objects[-1].use(self)
|
||||
self.objects[-1].set_init_pos()
|
||||
risingblocks[i].set_init_pos()
|
||||
risingblocks[n].set_init_pos()
|
||||
|
||||
def load(self):
|
||||
"""Load all resources used in the level."""
|
||||
|
||||
Reference in New Issue
Block a user