Skip to content

Commit

Permalink
Lines generating as expected, need to adjust side values for vertical…
Browse files Browse the repository at this point in the history
… lines? (k maze gen algo)
  • Loading branch information
1024Adam committed Mar 11, 2017
1 parent 7dd0e29 commit 4c2d00c
Show file tree
Hide file tree
Showing 2 changed files with 54 additions and 7 deletions.
8 changes: 4 additions & 4 deletions infinite_maze/Game.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ def __init__(self):
self.xMin = 80
self.xMax = (self.width / 2)
self.yMin = 40
self.yMax = (self.height - 40)
self.yMax = (self.height - 32)

self.screen = pygame.display.set_mode((self.width, self.height))

Expand Down Expand Up @@ -52,9 +52,9 @@ def updateScreen(self, player, lines):
self.pace += 1

# Print Border
pygame.draw.line(self.getScreen(), self.fgColor, (self.xMin, self.yMin), (self.width, self.yMin), 1)
pygame.draw.line(self.getScreen(), self.fgColor, (self.xMin, self.yMax + 15), (self.width, self.yMax + 15), 1)
pygame.draw.line(self.getScreen(), self.fgColor, (80, self.yMin), (80, self.yMax + 15), 2)
pygame.draw.line(self.getScreen(), self.fgColor, (self.xMin, self.yMin), (self.width, self.yMin), 2)
pygame.draw.line(self.getScreen(), self.fgColor, (self.xMin, self.yMax + 10), (self.width, self.yMax + 10), 2)
pygame.draw.line(self.getScreen(), self.fgColor, (80, self.yMin), (80, self.yMax + 10), 2)

# Print Display Text
timeText = self.font.render('Time: ' + self.clock.getTimeString(), 1, self.fgColor)
Expand Down
53 changes: 50 additions & 3 deletions infinite_maze/Line.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
from random import randint

class Line:
def __init__(self):
self.start = (0, 0)
Expand Down Expand Up @@ -47,21 +49,66 @@ def getYEnd(self):
def setYEnd(self, newY):
self.end = (self.end[0], newY)

def getSideA(self):
return (self.sideA)

def setSideA(self, side):
self.sideA = side

def getSideB(self):
return (self.sideB)

def setSideB(self, side):
self.sideB = side

@staticmethod
def generateMaze(game, width, height):
lines = []
#side = 0
# Horizontal Line Gen
sideA = 0
sideB = 1
for x in range(width):
xPos = (22 * x) + game.getXMax()
for y in range(1, height - 1):
yPos = (22 * y) + game.getYMin()
lines.append(Line((xPos, yPos), (xPos + 22, yPos), 0, 0))
lines.append(Line((xPos, yPos), (xPos + 22, yPos), sideA, sideB))
sideA = sideB
sideB += 1
# Vertical Line Gen
sideA = 0
sideB = 1
for y in range(height - 1):
yPos = (22 * y) + game.getYMin()
for x in range(1, width):
xPos = (22 * x) + game.getXMax()
lines.append(Line((xPos, yPos), (xPos, yPos + 22), 0, 0))
lines.append(Line((xPos, yPos), (xPos, yPos + 22), sideA, sideB))
sideA = sideB
sideB += 1

sets = []
length = len(lines)
#while (len(sets) != 1):
# length = len(lines)
# lineNum = randint(0, length - 1)
# lineNum = 5
# tempSideA = lines[lineNum].getSideA()
# tempSideB = lines[lineNum].getSideB()
# if(tempSideA != tempSideB):
# del lines[lineNum]
# for line in lines:
# if (line.getSideA() == tempSideB):
# line.setSideA(tempSideA)
# elif (line.getSideB() == tempSideB):
# line.setSideB(tempSideA)
# sets = []
# for line in lines:
# tempSideA = line.getSideA()
# tempSideB = line.getSideB()
# print tempSideA, tempSideB
# if (tempSideA not in sets):
# sets.append(tempSideA)
# if (tempSideB not in sets):
# sets.append(tempSideB)
# print len(sets)

return (lines)

0 comments on commit 4c2d00c

Please sign in to comment.