Compare commits
2 Commits
c7f28e7f88
...
3843de008f
Author | SHA1 | Date | |
---|---|---|---|
3843de008f | |||
b7bd8b1b7b |
28
maze.csv
28
maze.csv
@ -1,16 +1,16 @@
|
|||||||
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1
|
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1
|
||||||
1,0,1,0,0,0,1,e,0,0,1,t11,1,0,0,1
|
1,0,0,0,0,1,0,1,0,1,0,0,0,0,0,1
|
||||||
1,0,1,1,1,t17,1,0,1,0,1,0,0,0,t6,1
|
1,0,0,0,0,0,0,1,0,1,1,1,1,1,0,1
|
||||||
1,0,1,0,1,0,0,0,1,0,1,0,1,0,g25,1
|
1,1,1,1,1,1,0,1,0,0,0,0,0,0,0,1
|
||||||
1,0,1,0,0,0,1,0,1,0,1,0,1,1,1,1
|
1,0,t19,b68,s,0,0,1,1,1,0,1,1,1,1,1
|
||||||
1,0,1,b89,1,0,1,0,1,0,1,0,1,g30,0,1
|
1,0,0,0,0,1,0,1,0,0,0,0,0,0,t7,1
|
||||||
1,0,0,0,1,0,1,0,1,0,1,0,1,l11,0,1
|
1,1,1,1,0,1,1,1,1,0,1,1,1,1,1,1
|
||||||
1,g30,1,0,1,0,1,0,1,0,1,0,0,g21,0,1
|
1,0,1,0,0,0,0,1,0,0,0,0,t16,0,0,1
|
||||||
1,0,1,0,1,s,1,t11,1,1,1,0,1,0,0,1
|
1,t16,1,0,0,0,0,1,0,1,1,0,1,1,1,1
|
||||||
1,0,1,0,1,t14,1,0,0,0,1,0,1,0,0,1
|
1,0,1,1,1,1,t11,1,0,1,0,g20,1,0,0,1
|
||||||
1,1,1,1,1,1,1,0,1,1,1,0,1,0,0,1
|
1,0,1,0,1,0,l12,0,g20,1,l29,0,0,g25,0,1
|
||||||
1,0,0,g21,0,0,0,0,0,0,1,0,1,0,0,1
|
1,0,1,t19,1,1,0,1,g30,1,1,1,1,1,1,1
|
||||||
1,1,1,1,0,1,1,1,1,1,1,1,1,0,1,1
|
1,e,1,0,1,0,0,1,0,1,0,0,1,0,0,1
|
||||||
1,0,l23,0,0,0,g17,0,0,g22,1,0,0,l26,0,1
|
1,0,1,0,1,0,0,1,0,1,1,0,1,1,0,1
|
||||||
1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1
|
1,0,0,0,0,0,g27,1,0,0,0,0,t10,0,0,1
|
||||||
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1
|
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1
|
||||||
|
|
24
maze.py
24
maze.py
@ -1,6 +1,6 @@
|
|||||||
import pygame
|
import pygame
|
||||||
from maze_generator import MazeGenerator
|
from maze_generator import MazeGenerator
|
||||||
from tanxin import *
|
from SourceCollector import SourceCollector
|
||||||
import time
|
import time
|
||||||
|
|
||||||
class Maze:
|
class Maze:
|
||||||
@ -18,9 +18,14 @@ class Maze:
|
|||||||
def generate(self):
|
def generate(self):
|
||||||
seed = int(time.time() * 1000) % (2**32)
|
seed = int(time.time() * 1000) % (2**32)
|
||||||
self.generater.generate(seed=seed)
|
self.generater.generate(seed=seed)
|
||||||
# player = GreedyPlayer(generater.maze)
|
|
||||||
|
obj = SourceCollector(filename=None, maze=self.generater.maze)
|
||||||
|
sn = obj.build_a_tree()
|
||||||
|
obj.dfs(sn)
|
||||||
|
|
||||||
# player.find_path()
|
# player.find_path()
|
||||||
self.grid = self.generater.maze
|
self.grid = obj.gen_maze(sn.dp_path)
|
||||||
|
print(self.grid)
|
||||||
|
|
||||||
def export_to_csv(self, filename):
|
def export_to_csv(self, filename):
|
||||||
self.generater.export_to_csv(filename=filename)
|
self.generater.export_to_csv(filename=filename)
|
||||||
@ -37,13 +42,16 @@ class Maze:
|
|||||||
for x in range(self.size):
|
for x in range(self.size):
|
||||||
if self.grid[y][x] == '1':
|
if self.grid[y][x] == '1':
|
||||||
screen.blit(wall_texture, (x * tile_size, y * tile_size))
|
screen.blit(wall_texture, (x * tile_size, y * tile_size))
|
||||||
|
continue
|
||||||
if self.grid[y][x].startswith('g'):
|
if self.grid[y][x].startswith('g'):
|
||||||
screen.blit(coin_texture, (x * tile_size, y * tile_size))
|
screen.blit(coin_texture, (x * tile_size, y * tile_size))
|
||||||
|
continue
|
||||||
if self.grid[y][x].startswith('t'):
|
if self.grid[y][x].startswith('t'):
|
||||||
screen.blit(trap_texture, (x * tile_size, y * tile_size))
|
screen.blit(trap_texture, (x * tile_size, y * tile_size))
|
||||||
if self.grid[y][x].startswith('|') or self.grid[y][x].startswith('-'):
|
continue
|
||||||
|
if self.grid[y][x].startswith('p') or self.grid[y][x].startswith('-'):
|
||||||
font = pygame.font.SysFont(None, tile_size // 2)
|
font = pygame.font.SysFont(None, tile_size // 2)
|
||||||
num = 12
|
num = int(self.grid[y][x][1:])
|
||||||
center = (x * tile_size + tile_size // 2, y * tile_size + tile_size // 2)
|
center = (x * tile_size + tile_size // 2, y * tile_size + tile_size // 2)
|
||||||
radius = tile_size // 3
|
radius = tile_size // 3
|
||||||
pygame.draw.circle(screen, (255, 215, 0), center, radius)
|
pygame.draw.circle(screen, (255, 215, 0), center, radius)
|
||||||
@ -51,7 +59,7 @@ class Maze:
|
|||||||
text = font.render(str(num), True, (0, 0, 0))
|
text = font.render(str(num), True, (0, 0, 0))
|
||||||
text_rect = text.get_rect(center=center)
|
text_rect = text.get_rect(center=center)
|
||||||
screen.blit(text, text_rect)
|
screen.blit(text, text_rect)
|
||||||
|
continue
|
||||||
if self.grid[y][x].startswith('s'):
|
if self.grid[y][x].startswith('s'):
|
||||||
font = pygame.font.SysFont(None, tile_size // 2)
|
font = pygame.font.SysFont(None, tile_size // 2)
|
||||||
text = "s"
|
text = "s"
|
||||||
@ -62,7 +70,7 @@ class Maze:
|
|||||||
text = font.render(text, True, (0, 0, 0))
|
text = font.render(text, True, (0, 0, 0))
|
||||||
text_rect = text.get_rect(center=center)
|
text_rect = text.get_rect(center=center)
|
||||||
screen.blit(text, text_rect)
|
screen.blit(text, text_rect)
|
||||||
|
continue
|
||||||
if self.grid[y][x].startswith('e'):
|
if self.grid[y][x].startswith('e'):
|
||||||
font = pygame.font.SysFont(None, tile_size // 2)
|
font = pygame.font.SysFont(None, tile_size // 2)
|
||||||
text = "e"
|
text = "e"
|
||||||
@ -73,7 +81,7 @@ class Maze:
|
|||||||
text = font.render(text, True, (0, 0, 0))
|
text = font.render(text, True, (0, 0, 0))
|
||||||
text_rect = text.get_rect(center=center)
|
text_rect = text.get_rect(center=center)
|
||||||
screen.blit(text, text_rect)
|
screen.blit(text, text_rect)
|
||||||
|
continue
|
||||||
|
|
||||||
pygame.draw.line(screen, (0, 0, 0), (self.maze_size, 0), (self.maze_size, self.maze_size), 5)
|
pygame.draw.line(screen, (0, 0, 0), (self.maze_size, 0), (self.maze_size, self.maze_size), 5)
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user