as long as you're using PyGame (there are three different things of python in the replit database as far as I know: normal Python, Python with Turtle, and PyGame) the code is perfectly fine. if you want a more, visually appealing background, you just have to use the command:
pygame.draw.rect()
and make something like a list that shows what your map wants to look like:
map1 = ["WWWWWWWWWWWWWWWWWWWWWWW",
"WWWWWWWWWGGGWWWWWWWWWWW",
"WWWWWGGGGGGGGGGGWWWWWWW",
"WWWWGGGGGFFFGGGGGGWWWWW",
"WWWGGGGGFFFFFFGGGGGWWWW",
"WWWGGGGGGFFFFFGGGGGGWWW",
"WWGGGGGGGGGFFGGGGGGGWWW",
"WWGGGGGGGGGGGGGGGGGGGWW",
"WWGGGGGGSSSSSSSGGGGGGGW",
"WWGGGGSSSSSSSSSSGGGGGGW",
"WGGGGGGGSSGGGGGGGGGGGSW",
"WGGGGGGGGGGGGGGGGGGGSSW",
"WSGGGGGGGGFFGGGGGGGGSSW",
"WSSGGGGGGFFFGGGGGFFGGSW",
"WSSGGGGGFFFFFFGGFFFFFGW",
"WSGGGGFFFFFFFFFFFFFFGGW",
"WWGGGGGFFFFFFFFFFFFGGWW",
"WWGGGGGGGFFFFFFFFGGGWWW",
"WWWWGGGGGGGGFFGGGGGWWWW",
"WWWWWWSSSSSGGGGSSSWWWWW",
"WWWWWWWWWSSSSSSSSWWWWWW",
"WWWWWWWWWWWWWWSWWWWWWWW",
"WWWWWWWWWWWWWWWWWWWWWWW"
]
with each of the letters representing a different color:
WATER = (0, 0, 255)
SAND = (194, 176, 128)
GRASS = (124, 252, 0)
FOREST = (0, 100, 0)
WALL = (124,79,19)
FLOOR = (183,141,106)
STONEFLOOR = (133,133,133)
STONEWALL = (77,77,77)
TileColor = {'W': WATER, 'S': SAND, 'G': GRASS, 'F': FOREST, 'A': WALL, 'L': FLOOR, }
you can pretty much make whatever base you want
full code of something a bit simple (with a moving character if you want it):
import pygame, sys
WATER = (0, 0, 255)
SAND = (194, 176, 128)
GRASS = (124, 252, 0)
FOREST = (0, 100, 0)
WALL = (124,79,19)
FLOOR = (183,141,106)
STONEFLOOR = (133,133,133)
STONEWALL = (77,77,77)
TileColor = {'W': WATER, 'S': SAND, 'G': GRASS, 'F': FOREST, 'A': WALL, 'L': FLOOR, }
map1 = ["WWWWWWWWWWWWWWWWWWWWWWW",
"WWWWWWWWWGGGWWWWWWWWWWW",
"WWWWWGGGGGGGGGGGWWWWWWW",
"WWWWGGGGGFFFGGGGGGWWWWW",
"WWWGGGGGFFFFFFGGGGGWWWW",
"WWWGGGGGGFFFFFGGGGGGWWW",
"WWGGGGGGGGGFFGGGGGGGWWW",
"WWGGGGGGGGGGGGGGGGGGGWW",
"WWGGGGGGSSSSSSSGGGGGGGW",
"WWGGGGSSSSSSSSSSGGGGGGW",
"WGGGGGGGSSGGGGGGGGGGGSW",
"WGGGGGGGGGGGGGGGGGGGSSW",
"WSGGGGGGGGFFGGGGGGGGSSW",
"WSSGGGGGGFFFGGGGGFFGGSW",
"WSSGGGGGFFFFFFGGFFFFFGW",
"WSGGGGFFFFFFFFFFFFFFGGW",
"WWGGGGGFFFFFFFFFFFFGGWW",
"WWGGGGGGGFFFFFFFFGGGWWW",
"WWWWGGGGGGGGFFGGGGGWWWW",
"WWWWWWSSSSSGGGGSSSWWWWW",
"WWWWWWWWWSSSSSSSSWWWWWW",
"WWWWWWWWWWWWWWSWWWWWWWW",
"WWWWWWWWWWWWWWWWWWWWWWW"
]
TILESIZE = 22
MAPWIDTH = 23
MAPHEIGHT = 23
pygame.init()
DISPLAY = pygame.display.set_mode((MAPWIDTH * TILESIZE, MAPHEIGHT * TILESIZE))
clock = pygame.time.Clock()
character = [5, 11]
run = True
while run:
c_col, c_row = character
for event in pygame.event.get():
if event.type == pygame.QUIT:
run = False
if event.type == pygame.KEYDOWN:
if event.key == pygame.K_RIGHT:
c_col += 1
if event.key == pygame.K_LEFT:
c_col -= 1
if event.key == pygame.K_UP:
c_row -= 1
if event.key == pygame.K_DOWN:
c_row += 1
if 0 <= c_col < MAPWIDTH and 0 <= c_row < MAPHEIGHT:
if map1[c_row][c_col] == 'G':
character = [c_col, c_row]
elif map1[c_row][c_col] == 'F':
character = [c_col, c_row]
elif map1[c_row][c_col] == 'S':
character = [c_col, c_row]
for row in range(MAPHEIGHT):
for col in range(MAPWIDTH):
pygame.draw.rect(
DISPLAY, TileColor[map1[row][col]],
(col * TILESIZE, row * TILESIZE, TILESIZE, TILESIZE))
pygame.draw.rect(
DISPLAY, (202, 141, 61),
(character[0] * TILESIZE, character[1] * TILESIZE, TILESIZE, TILESIZE))
pygame.display.update()
clock.tick(100)
pygame.quit()
sys.exit()