How to make A map editor in pygame – version v. 2.2

Version 2.2

I changed some graphic.

The arrow and that middle stones at the end.

I have new commands. The m, in particolare, to add a copy to the next level, while the n was used to add a copy to the end of all rooms.

At the moment this is an image, but I want to reuse a function I did to render a multiline text.

This is where I stored the commands:

help = """

pythonprogramming.altervista.org

                Commands
                ========
t = show tiles
r = reverse tiles
s = append tiles to file
n = copied room at the end
m = copied room in new next level
0,1,2.... = go into a room
arrows left and right = iterate
               the rooms
arrow Up => last room
arrow down => first room
h = help

"""

Now the num of tiles are get automatically

NUM_OF_TILES = tiles.get_size()[0] // 32

Got the problem to have a limit to 0-9 number, but I want to use also letters using ord(a) to get an index of the tile beyond 9.

Previous version 2.1 https://pythonprogramming.altervista.org/wp-content/uploads/2021/06/Crystals-of-Time-by-SmellyFrog-2021-06-27-23-10-15.mp4

The github repository

https://github.com/formazione/timecrystals

The original game by Smelly Frog

https://smellyfrog.itch.io/crystals-of-time

New function (message)

This i sto print in that space between the map and the tiles, to advise what is happening, like pressing a key to copy a room, saving… etc, so that the user is aware about what he is doing.

font = pygame.font.SysFont("Arial", 14)
def message(text):
    print(text)
    msg = font.render(text, 1, (0, 255, 0))
    screen0.blit(msg, (0, 288))

Next targets:

  • more tiles with ord(a….z)
  • Go in room up or down the room I am
  • Animate the arrow jump like the cristals and when you jump
  • Eliminate the pause when you get the diamond
  • Make something happen when time passes time…. See the dir(time) to get the right function I do not remember now.
  • Ladders? Like arrow, but different
  • Why it does not jump in a narrow hole?

Published by pythonprogramming

Started with basic on the spectrum, loved javascript in the 90ies and python in the 2000, now I am back with python, still making some javascript stuff when needed.