Skip to content

Rect not rendering #83

@BennyBoyBlueeees

Description

@BennyBoyBlueeees

from wasabi2d import *

scene = Scene(800,600)
def lfsr(seed):
"""
8-bit LFSR with taps at bits 8, 6, 5, 4 (x^8 + x^6 + x^5 + x^4 + 1)
Returns the next state from the given seed.
"""
feedback = ((seed >> 7) ^ (seed >> 5) ^ (seed >> 4) ^ (seed >> 3)) & 1
return ((seed << 1) | feedback) & 0xFF

def generate_screen(seed):
"""
Generate the contents of one screen based on LFSR seed.
This simulates how Pitfall might determine screen features.
"""
rng = seed
for _ in range(seed):
rng = lfsr(rng)

# Use bits of the final RNG value to decide features
features = {
    "pit": bool(rng & 0b00000001),
    "rolling_log": bool(rng & 0b00000010),
    "crocodiles": bool(rng & 0b00000100),
    "ladder": bool(rng & 0b00001000),
    "vine": bool(rng & 0b00010000),
    "treasure": bool(rng & 0b00100000)
}

return features

pit = scene.layers[1].add_rect(200, 40, fill=True, color="white")
pit.pos = (scene.width / 2, 500)
pit.visible = True
back = scene.layers[0].add_sprite(
'back',
pos=(scene.width / 2, scene.height / 2)
)

player = scene.layers[0].add_sprite(
'player',
pos=(10, scene.height / 2)
)

player.vel=[0,0]
levelnum=0
level=generate_screen(0)
@event
def update(keyboard):
global levelnum,level
player.pos=(player.pos[0]+player.vel[0],player.pos[1]+player.vel[1])
player.vel[1]+=1
if player.pos[1]>490:
player.pos[1]=490
player.vel[1]=0
if keyboard.space:
player.vel[1]=-15
sounds.jump.play()
if keyboard.left:
player.vel[0]=-10
if player.pos[0]<0:
player.pos[0]=scene.width
levelnum-=1
elif keyboard.right:
player.vel[0]=10
if player.pos[0]>scene.width:
player.pos[0]=0
levelnum+=1
else:
player.vel[0]=0
levelnum&=255
level = generate_screen(levelnum)

# Show/hide pit based on current level
if level["pit"]:
    pit.visible = True
else:
    pit.visible = False

print(generate_screen(levelnum))

The rest of your code goes here.

run() # keep this at the end of the file

i have tried everything to get pit to show, nothing.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions