Jump to content
  • Advertisement
Sign in to follow this  

Pygame level changing help

This topic is 2810 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Straight to the point: I need to send a value from a function in a class to the main function, and can't figure it out without confusing myself.

The game I'm making is a very simple platformer made using Pygame. Basically, you jump around on blocks, and get to an end block that will either end the level or change the level. The way my game creates the levels is by taking the letter P in a text document, and converting each of those into a block platform. The letter E is created into the end block.

(For a quick visual example of the game, youtube)

for row in level:
for col in row:
if col == "P":
p = Platform(x, y)
if col == "E":
e = ExitBlock(x, y)
x += 32
y += 32
x = 0

The above code is what takes the letters and converts them into block using a couple of functions. the 'level' on the first line is a list that is pulled from a text file using the read function. This way, the level can simply be changed by changing the file that is being read from:

levelID = 1
if levelID == 1:
file = "levels\level1.txt"
if levelID == 2:
file = "levels\level2.txt"
if levelID == 3:
file = "levels\editable.txt"
f = open(file,"r")
data = f.readlines()
level = (data)

My problem is, I want the LevelID to be incremented by 1 whenever the player gets to the end block. However, then collision between the player and the end block are down in a collision function in the Player class:

for p in platforms:
if sprite.collide_rect(self, p):
if isinstance(p, ExitBlock):

I've currently set it to pass, as this just enables me to run the code.

How could I create a way that will enable the collision between the player and the end block increment the LevelID?
Am I going about this a way that overcomplicates things?

I hope this post makes sense, and that I've provided the right information.

I've posted the full code here if you want to have a look.

Thanks! smile.png

Share this post

Link to post
Share on other sites
Sign in to follow this  

  • Advertisement

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

GameDev.net is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!