Exemple #1
0
    def apply_requirements(self):
        funcs = {"f": shiftUp, "b": shiftDown, "l": shiftLeft, "r": shiftRight, "fr": shiftRightUp, "br": shiftRightDown, "fl": shiftLeftUp, "bl": shiftLeftDown} # f: forward, b: backward, l:left, r: right
        name = {"f": "Forward", "b": "Backward", "l": "Left", "r": "Right", "fr": "Right Forward", "br": "Right Backward", "fl": "Left Forward", "bl": "Left Backward"}

        order = sorted([int(n) for n in self.requirements.keys()])
        luckier = choice(order)
        print("Luckier: " + str(luckier) + "\n")
        order = order[order.index(luckier):] + order[:order.index(luckier)]

        for req in order:
            no, direction, steps = self.requirements[str(req)]
            row, col = self.find(no)
            if col != None and row != None:
                if direction in funcs.keys():
                    funcs[direction](row, col, steps, self.seats)
                    print(no, name[direction], steps)
                    printArr(self.seats)
                    print()
        return self.seats
Exemple #2
0
generate - generate a random seat
switch <no1> <no2> - switch seats of two students
run - apply requirements
export - export requirements to requirements.txt
print - print the current seat
debug - dry run'''

if __name__ == "__main__":
    if len(sys.argv) <= 1 or sys.argv[1] == "help":
        print(help_msg)
        sys.exit(1 if len(sys.argv) <= 1 else 0)
    else:
        mode = sys.argv[1]
        if mode == "generate":
            seats = Seat(generateSeats())
            printArr(seats.seats)
            seats.save()
            print("Done!")
        elif mode == "run" or mode == "debug":
            seats = Seat()
            print("Original:")
            printArr(seats.seats)
            
            seats.apply_requirements()

            print("Result:")
            printArr(seats.seats)

            # save
            if mode == "run":
                seats.save()