Text Size
Text Size
Exit Full Screen
Python Mini
Show
Source Code
View Source Code in Full Screen
Open in New Tab
from processing import * width = 540 height = 450 tile_size = 30 num_columns = width/tile_size num_rows = height/tile_size print "number of columns:", num_columns print "number of rows:", num_rows maze = [ [2, 1, 1, 0, 0, 0, 1, 1, 0, 1, 0, 1, 1, 1, 0, 0, 0, 6], [0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 1, 2, 0, 0, 1, 1, 1], [1, 0, 1, 1, 1, 0, 0, 0, 0, 4, 0, 1, 1, 1, 0, 0, 0, 2], [1, 0, 0, 0, 2, 1, 2, 1, 0, 1, 0, 1, 0, 2, 1, 0, 0, 1], [2, 1, 1, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 1, 1, 1, 0, 1], [0, 3, 1, 0, 0, 1, 0, 0, 1, 1, 0, 1, 0, 4, 4, 4, 0, 1], [0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 0, 1, 0, 4, 4, 4, 2, 1], [0, 4, 0, 0, 0, 1, 0, 1, 2, 4, 0, 1, 1, 1, 1, 1, 1, 1], [1, 1, 0, 1, 4, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 0, 2, 1], [0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1], [1, 0, 1, 1, 4, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 0, 1, 1], [1, 0, 1, 1, 4, 1, 0, 0, 0, 1, 0, 0, 2, 1, 0, 0, 0, 2], [0, 0, 4, 4, 4, 1, 0, 1, 0, 1, 1, 0, 1, 3, 1, 0, 0, 1], [0, 1, 3, 1, 4, 1, 4, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 2], [5, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0] ] player = { "row":14, "column":0, "dead": False } def setup(): global playerImg, playerDead, fire, teleport size(width, height) playerImg = loadImage("http://turtle.oyosite.com/new+piskel.png") playerDead = loadImage("http://turtle.oyosite.com/new+piskel+%285%29.png") fire = loadImage("http://turtle.oyosite.com/new+piskel+%282%29.png") teleport = loadImage("http://turtle.oyosite.com/new+piskel+%283%29.png") def draw(): background(255, 150, 0) drawGrid() drawWalls() blackout() drawPlayer() def blackout(): for row in range(len(maze)): for column in range(len(maze[row])): if (player['row'] != row and player['column'] != column): stroke(0, 0, 0,) fill(0, 0, 0,) rect(column * tile_size, row * tile_size, tile_size, tile_size) def drawPlayer(): col = player['column'] row = player['row'] if maze[row][col] == 2: player['dead'] = True if not player['dead']: image(playerImg, col * tile_size, row * tile_size, tile_size, tile_size) else: image(playerDead, col * tile_size, row * tile_size, tile_size, tile_size) gameOver() if maze[row][col] == 6: win() def gameOver(): fill(255, 0, 0) textSize(40) text("Game Over!", 150, 250) exitp() def win(): fill(0, 255, 0) textSize(60) text("YOU WIN!", 150, 250) exitp() def drawGrid(): stroke(0, 200, 100) for x in range(0, width, tile_size): line(x, 0, x, height) for y in range(0, height, tile_size): line(0, y, width, y ) def drawWalls(): for row in range(num_rows): for column in range(num_columns): if maze[row][column] in [1, 4]: stroke(0, 15, 26) fill(0, 46, 77) rect(tile_size * column, tile_size * row, tile_size, tile_size) elif maze[row][column] == 2: image(fire, column * tile_size, row * tile_size, tile_size, tile_size) def movePlayer(direction): row = player['row'] col = player['column'] if direction == UP: new_row = row - 1 if (new_row >= 0 and maze[new_row][col] != 1): player['row'] = new_row elif direction == DOWN: new_row = row + 1 if (new_row < num_rows and maze[new_row][col] != 1): player['row'] = new_row elif direction == LEFT: new_col = col - 1 if (new_col >= 0 and maze[row][new_col] != 1): player['column'] = new_col elif direction == RIGHT: new_col = col + 1 if (new_col < num_columns and maze[row][new_col] != 1): player['column'] = new_col def keyPressed(): if keyboard.keyCode in [UP, DOWN, LEFT, RIGHT]: movePlayer(keyboard.keyCode) run()
maze-1.py
( around 128 lines python code )
Published By:
ju4082
Published on
2017-06-27T16:45:24Z
Python Mini
- an
OYOclass
application,
own your own class today
.
Run
Result
×
Error message shows here