Compare commits

..

No commits in common. "3843de008f73fe06e4bb869c72561dd6eac5411c" and "c7f28e7f88637ad8abec17189d958ad3d00e7ade" have entirely different histories.

2 changed files with 22 additions and 30 deletions

View File

@ -1,16 +1,16 @@
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1
1,0,0,0,0,1,0,1,0,1,0,0,0,0,0,1
1,0,0,0,0,0,0,1,0,1,1,1,1,1,0,1
1,1,1,1,1,1,0,1,0,0,0,0,0,0,0,1
1,0,t19,b68,s,0,0,1,1,1,0,1,1,1,1,1
1,0,0,0,0,1,0,1,0,0,0,0,0,0,t7,1
1,1,1,1,0,1,1,1,1,0,1,1,1,1,1,1
1,0,1,0,0,0,0,1,0,0,0,0,t16,0,0,1
1,t16,1,0,0,0,0,1,0,1,1,0,1,1,1,1
1,0,1,1,1,1,t11,1,0,1,0,g20,1,0,0,1
1,0,1,0,1,0,l12,0,g20,1,l29,0,0,g25,0,1
1,0,1,t19,1,1,0,1,g30,1,1,1,1,1,1,1
1,e,1,0,1,0,0,1,0,1,0,0,1,0,0,1
1,0,1,0,1,0,0,1,0,1,1,0,1,1,0,1
1,0,0,0,0,0,g27,1,0,0,0,0,t10,0,0,1
1,0,1,0,0,0,1,e,0,0,1,t11,1,0,0,1
1,0,1,1,1,t17,1,0,1,0,1,0,0,0,t6,1
1,0,1,0,1,0,0,0,1,0,1,0,1,0,g25,1
1,0,1,0,0,0,1,0,1,0,1,0,1,1,1,1
1,0,1,b89,1,0,1,0,1,0,1,0,1,g30,0,1
1,0,0,0,1,0,1,0,1,0,1,0,1,l11,0,1
1,g30,1,0,1,0,1,0,1,0,1,0,0,g21,0,1
1,0,1,0,1,s,1,t11,1,1,1,0,1,0,0,1
1,0,1,0,1,t14,1,0,0,0,1,0,1,0,0,1
1,1,1,1,1,1,1,0,1,1,1,0,1,0,0,1
1,0,0,g21,0,0,0,0,0,0,1,0,1,0,0,1
1,1,1,1,0,1,1,1,1,1,1,1,1,0,1,1
1,0,l23,0,0,0,g17,0,0,g22,1,0,0,l26,0,1
1,0,0,0,0,0,0,0,0,0,0,0,0,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 1
2 1 0 0 1 0 0 1 0 0 1 1 e 0 1 0 0 1 0 t11 0 1 0 0 1
3 1 0 0 1 0 1 0 1 0 t17 0 1 1 0 0 1 1 0 1 1 0 1 0 1 0 0 t6 1
4 1 1 0 1 1 0 1 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 g25 1
5 1 0 t19 1 b68 0 s 0 0 0 1 1 0 1 1 0 0 1 1 0 1 1 1 1
6 1 0 0 1 0 b89 0 1 1 0 0 1 1 0 0 1 0 0 1 0 0 1 0 g30 t7 0 1
7 1 1 0 1 0 1 0 0 1 1 0 1 1 0 1 0 1 1 0 1 1 l11 1 0 1
8 1 0 g30 1 0 0 1 0 0 1 1 0 0 1 0 0 1 0 t16 0 0 g21 0 1
9 1 t16 0 1 0 0 1 0 s 0 1 1 t11 0 1 1 1 0 1 1 0 1 0 1
10 1 0 1 1 0 1 1 t14 t11 1 1 0 0 1 0 0 1 g20 0 1 0 0 1
11 1 0 1 1 0 1 1 0 1 l12 1 0 g20 1 1 l29 1 0 0 1 g25 0 0 1
12 1 0 1 0 t19 g21 1 0 1 0 0 1 0 g30 0 1 0 1 1 0 1 1 0 1 0 1
13 1 e 1 1 0 1 1 0 0 1 0 1 1 0 1 1 0 1 0 1 1 0 0 1 1
14 1 0 1 l23 0 1 0 0 0 g17 1 0 0 1 g22 1 0 1 0 1 l26 0 1
15 1 0 0 0 0 0 g27 0 1 0 0 0 0 0 t10 0 0 0 1
16 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

24
maze.py
View File

@ -1,6 +1,6 @@
import pygame
from maze_generator import MazeGenerator
from SourceCollector import SourceCollector
from tanxin import *
import time
class Maze:
@ -18,14 +18,9 @@ class Maze:
def generate(self):
seed = int(time.time() * 1000) % (2**32)
self.generater.generate(seed=seed)
obj = SourceCollector(filename=None, maze=self.generater.maze)
sn = obj.build_a_tree()
obj.dfs(sn)
# player = GreedyPlayer(generater.maze)
# player.find_path()
self.grid = obj.gen_maze(sn.dp_path)
print(self.grid)
self.grid = self.generater.maze
def export_to_csv(self, filename):
self.generater.export_to_csv(filename=filename)
@ -42,16 +37,13 @@ class Maze:
for x in range(self.size):
if self.grid[y][x] == '1':
screen.blit(wall_texture, (x * tile_size, y * tile_size))
continue
if self.grid[y][x].startswith('g'):
screen.blit(coin_texture, (x * tile_size, y * tile_size))
continue
if self.grid[y][x].startswith('t'):
screen.blit(trap_texture, (x * tile_size, y * tile_size))
continue
if self.grid[y][x].startswith('p') or self.grid[y][x].startswith('-'):
if self.grid[y][x].startswith('|') or self.grid[y][x].startswith('-'):
font = pygame.font.SysFont(None, tile_size // 2)
num = int(self.grid[y][x][1:])
num = 12
center = (x * tile_size + tile_size // 2, y * tile_size + tile_size // 2)
radius = tile_size // 3
pygame.draw.circle(screen, (255, 215, 0), center, radius)
@ -59,7 +51,7 @@ class Maze:
text = font.render(str(num), True, (0, 0, 0))
text_rect = text.get_rect(center=center)
screen.blit(text, text_rect)
continue
if self.grid[y][x].startswith('s'):
font = pygame.font.SysFont(None, tile_size // 2)
text = "s"
@ -70,7 +62,7 @@ class Maze:
text = font.render(text, True, (0, 0, 0))
text_rect = text.get_rect(center=center)
screen.blit(text, text_rect)
continue
if self.grid[y][x].startswith('e'):
font = pygame.font.SysFont(None, tile_size // 2)
text = "e"
@ -81,7 +73,7 @@ class Maze:
text = font.render(text, True, (0, 0, 0))
text_rect = text.get_rect(center=center)
screen.blit(text, text_rect)
continue
pygame.draw.line(screen, (0, 0, 0), (self.maze_size, 0), (self.maze_size, self.maze_size), 5)