aboutsummaryrefslogtreecommitdiff
path: root/src/compileAndRun/pythonSupportFiles/LuxcenaNeo/Matrix.py
diff options
context:
space:
mode:
Diffstat (limited to 'src/compileAndRun/pythonSupportFiles/LuxcenaNeo/Matrix.py')
-rw-r--r--src/compileAndRun/pythonSupportFiles/LuxcenaNeo/Matrix.py34
1 files changed, 29 insertions, 5 deletions
diff --git a/src/compileAndRun/pythonSupportFiles/LuxcenaNeo/Matrix.py b/src/compileAndRun/pythonSupportFiles/LuxcenaNeo/Matrix.py
index 0986b45..320da02 100644
--- a/src/compileAndRun/pythonSupportFiles/LuxcenaNeo/Matrix.py
+++ b/src/compileAndRun/pythonSupportFiles/LuxcenaNeo/Matrix.py
@@ -22,21 +22,45 @@ def getSegmentRange(segments, n):
class Matrix:
def __init__(self, segments, matrix):
- self.matrix = []
+ self.matrix = [] # Holds the matrix
+ self.xLen = 0 # The width of the matrix
+ self.yLen = len(matrix) # The heigth of the matrix
+
for yPos in range(len(matrix)):
yVal = matrix[yPos]
thisY = []
for xPos in range(len(yVal)):
- if matrix[yPos][xPos][1] == True:
- thisY += reversed(getSegmentRange(segments, matrix[yPos][xPos][0]))
- else:
- thisY += getSegmentRange(segments, matrix[yPos][xPos][0])
+ # This gets the range of segment n
+ segmentRange = getSegmentRange(segments, matrix[yPos][xPos][0])
+
+ # This adds the range to the current row's list
+ # if in the config [<segment_num>, <reversed>]
+ # reversed == true, revese the list before adding it
+ thisY += reversed(segmentRange) if matrix[yPos][xPos][1] else segmentRange
+
+ # This just finds the longest row in the matrix
+ if (len(thisY) > self.xLen):
+ self.xLen = len(thisY)
+
self.matrix.append(thisY)
def get(self, x, y):
""" Return the value of a place in the matrix given x and y coordinates """
return self.matrix[y][x]
+
+ def dump(self):
+ nSpacers = (self.xLen*6) // 2 - 6
+ print( ("=" * nSpacers) + "Matrix dump" + ("=" * nSpacers) )
+
+ for y in self.matrix:
+ thisYLine = ""
+ for x in y:
+ thisYLine += ( ' ' * (5 - len(str(x))) ) + str(x) + ' '
+ print(thisYLine)
+
+ print("=" * (self.xLen*6))
+
if __name__ == "__main__":
testMatrix = Matrix(