Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- init:
- python:
- # Constants
- MAP_SIZE_X = 4
- MAP_SIZE_Y = 4
- BLOCK_TYPE_WALL = 0x0
- BLOCK_TYPE_FLOOR = 0x1
- BLOCK_TYPE_TRAP = 0x2
- ENTITY_TYPE_HEALTH = 0x0
- ENTITY_TYPE_KEY = 0x1
- ENTITY_TYPE_BOMB = 0x2
- # Map
- mapgrid = [
- [0x1F, 0x1F, 0x1F, 0x1F], # - X
- [0x1F, 0x0F, 0x0F, 0x1F], # The 4x4 block in the middle is a wall
- [0x1F, 0x0F, 0x0F, 0x1F], # If you try and walk here, nothing will happen
- [0x1F, 0x1F, 0x1F, 0x1F]
- # |
- # Y
- ]
- def MapGrid_BlockType(x, y):
- return (mapgrid[x][y] >> 4) & 0xF
- def MapGrid_Entity(x, y):
- return mapgrid[x][y] & 0xF
- # Player
- ply_Name = "Bob"
- ply_PosX = 3
- ply_PosY = 3
- label start:
- jump MovementMenu
- return
- label MovementMenu:
- menu:
- "Move Forward":
- jump MoveForward
- "Move Backward":
- jump MoveBackward
- "Move Right":
- jump MoveRight
- "Move Left":
- jump MoveLeft
- label MoveForward:
- python:
- tmp_x = ply_PosX
- tmp_y = ply_PosY - 1
- if tmp_y > -1:
- block = MapGrid_BlockType(tmp_x, tmp_y)
- entity = MapGrid_Entity(tmp_x, tmp_y)
- if block == BLOCK_TYPE_FLOOR:
- ply_PosY = tmp_y
- jump FinishMove
- label MoveBackward:
- python:
- tmp_x = ply_PosX
- tmp_y = ply_PosY + 1
- if tmp_y < MAP_SIZE_X:
- block = MapGrid_BlockType(tmp_x, tmp_y)
- entity = MapGrid_Entity(tmp_x, tmp_y)
- if block == BLOCK_TYPE_FLOOR:
- ply_PosY = tmp_y
- jump FinishMove
- label MoveRight:
- python:
- tmp_x = ply_PosX + 1
- tmp_y = ply_PosY
- if tmp_x < MAP_SIZE_X:
- block = MapGrid_BlockType(tmp_x, tmp_y)
- entity = MapGrid_Entity(tmp_x, tmp_y)
- if block == BLOCK_TYPE_FLOOR:
- ply_PosX = tmp_x
- jump FinishMove
- label MoveLeft:
- python:
- tmp_x = ply_PosX - 1
- tmp_y = ply_PosY
- if tmp_x > -1:
- block = MapGrid_BlockType(tmp_x, tmp_y)
- entity = MapGrid_Entity(tmp_x, tmp_y)
- if block == BLOCK_TYPE_FLOOR:
- ply_PosX = tmp_x
- jump FinishMove
- label FinishMove:
- "You are at grid: X = %(ply_PosX)d Y = %(ply_PosY)d"
- jump MovementMenu
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement