Built something? We create video reels & spotlights for GitHub projects.Promote your project →
Catalog / salimmakhdom / salim
Public GitHub Catalog Discovered Sep 27, 2026

salimmakhdom / salim

my name is salim

View repository on GitHub ↗ View creator profile Browse directory

About this discovery

Public repository record indexed from GitHub. Explore verified star velocity metrics, source code repositories, and curated developer tool directories across the GitHubRepo ecosystem.

#9540997GitHub System ID
salimmakhdomOrganization / User
PublicVisibility
ActiveCatalog Status

More from salimmakhdom

↗

salimmakhdom/project

import maze import turtle import random def turn_left(): mario.dir = maze.LEFT def turn_right(): mario.dir = maze.RIGHT def turn_up(): mario.dir = maze.UP def turn_down(): mario.dir = maze.DOWN def is_wall(cell): """Returns true if the given cell contains an outer on inner wall""" return (abs(cell.x) == maze.width + 1) or \ (abs(cell.y) == maze.height + 1) or \ cell in walls # inner wall def debug(): maze.clear_cell(drawer, maze.Cell(6,6)) mario.move_to_cell(maze.Cell(0,0)) def update(): if (mario.dir != maze.STAND): old_heading = mario.heading() if (mario.dir == maze.LEFT): new_heading = 180 elif (mario.dir == maze.RIGHT): new_heading = 0 elif (mario.dir == maze.UP): new_heading = 90 else: new_heading = 270 if (old_heading != new_heading): # turn mario old_speed = mario.speed() mario.speed(0) # turn off animation mario.setheading(new_heading) mario.speed(old_speed) # determine new cell assuming mario can move new_cell = maze.Cell(mario.cell.x, mario.cell.y) # copy current cell if (mario.dir == maze.LEFT): new_cell.x -= 1 elif (mario.dir == maze.RIGHT): new_cell.x += 1 elif (mario.dir == maze.UP): new_cell.y += 1 else: new_cell.y -= 1 if (not is_wall(new_cell)): mario.forward(maze.cell_size) mario.cell = new_cell if(mario.cell in items): mario.score += 10 score_drawer.undo() # clear latest text score_drawer.write("SCORE = {0}".format(mario.score), move=False, \ align="center", font=("Arial", 9, "normal")) else: # mario can't move mario.dir = maze.STAND # until the user presses antoher arrow key, just stand wn.title("Mario at ({0}, {1}) SCORE={2}".format(mario.cell.x, mario.cell.y, mario.score)) wn.ontimer(update, 200) wn = turtle.Screen() wn.bgcolor(maze.bg_color) wn.title("Maze") wn.setup(710,710) wn.screensize(700,700) wn.onkey(turn_left, "Left") wn.onkey(turn_right, "Right") wn.onkey(turn_up, "Up") wn.onkey(turn_down, "Down") wn.onkey(debug, "d") mario = maze.MazeTurtle() # mario.moveToCell(5,5) mario.shapesize(0.7) mario.color("darkblue", "blue") drawer = turtle.Turtle() score_drawer = turtle.Turtle() for t in [drawer, score_drawer]: t.fillcolor("black") t.speed(0) t.hideturtle() t.penup() (x,y) = maze.Cell(0,maze.height+2).to_coord() score_drawer.goto(x,y-8) score_drawer.write("SCORE = {0}".format(mario.score), move=False, \ align="center", font=("Arial", 9, "normal")) # draw outer walls short_side = maze.cell_size long_side_w = (2*maze.width+3)*maze.cell_size long_side_h = (2*maze.height+3)*maze.cell_size (x,y) = maze.Cell(-maze.width-1, maze.height+1).to_coord(True) maze.fill_rect(drawer,x,y,short_side, long_side_h) maze.fill_rect(drawer,x,y,long_side_w,short_side) (x,y) = maze.Cell(-maze.width-1, -maze.height-1).to_coord(True) maze.fill_rect(drawer,x,y,long_side_w,short_side) (x,y) = maze.Cell(maze.width+1, maze.height+1).to_coord(True) maze.fill_rect(drawer,x,y,short_side,long_side_h) rng = random.Random() items = [maze.Cell(-7, -5), maze.Cell(6,6), maze.Cell(-7, 5), maze.Cell(6, -8)] drawer.color("black", "darkgreen") drawer.shape("circle") drawer.shapesize(0.8) for cell in items: (x,y) = cell.to_coord() drawer.goto(x,y) drawer.stamp() ## drawer.goto(x,y-(maze.cell_size/2)+2) ## drawer.begin_fill() ## drawer.circle((maze.cell_size / 2) - 3) ## drawer.end_fill() # draw inner walls walls = [] wall_count = 20 while (wall_count > 0): i = rng.randint(-maze.width+1, maze.width-1) # inner walls not adjacent to outer walls j = rng.randint(-maze.height+1, maze.height-1) new_cell = maze.Cell(i,j) if ((i == 0 and j == 0) or new_cell in walls or new_cell in items): continue else: walls.append(new_cell) wall_count -= 1 print(walls) drawer.fillcolor("black") for cell in walls: (x,y) = cell.to_coord(True) # maze.fill_rect(drawer, x, y, maze.cell_size, maze.cell_size) # use the below code to draw squares a little bit smaller than the full cell x += 1 y -= 1 maze.fill_rect(drawer, x, y, maze.cell_size-2, maze.cell_size-2) update() wn.listen() # listen events on this window wn.mainloop() # keep the window open

Discovered
FOR MAINTAINERS

Built something? Put it in front of millions of developers.

We make a short reel about your project and post it across YouTube, Instagram, Threads, and X. Send a link, we do the rest.

SPONSORED Sponsored Partner