From 9c0866f83871b6518fff82ba2c0055284597a62f Mon Sep 17 00:00:00 2001 From: Yejining Date: Fri, 14 Feb 2020 03:17:42 +0900 Subject: [PATCH] feat: filling empty blank --- MainWindow.py | 12 ++++++++++-- src/input/form.py | 32 ++++++++++++++++++++++++++------ 2 files changed, 36 insertions(+), 8 deletions(-) diff --git a/MainWindow.py b/MainWindow.py index 740ff94..d78bbdf 100644 --- a/MainWindow.py +++ b/MainWindow.py @@ -71,15 +71,17 @@ def write_basics(self): self.lineEdit_pupiltimer.setText(str(self.basic.lineEdit_pupiltimer)) self.lineEdit_seqsize.setText(str(self.basic.lineEdit_seqsize)) self.show_sequence_matrix() + sequence = self.basic.generate_sequence(self.basic.lineEdit_seqsize) for i in range(self.form.seqsize): - self.form.sequence.elements[i].setText(self.basic.sequence[i]) + self.form.sequence.elements[i].setText(sequence[i]) self.lineEdit_seqtimer.setText(str(self.basic.lineEdit_seqtimer)) self.lineEdit_boardsizen.setText(str(self.basic.lineEdit_boardsizen)) self.lineEdit_boardsizem.setText(str(self.basic.lineEdit_boardsizem)) self.show_board_matrix() + matrix = self.basic.generate_matrix(self.basic.lineEdit_boardsizen, self.basic.lineEdit_boardsizem) for i in range(self.basic.lineEdit_boardsizem): for j in range(self.basic.lineEdit_boardsizen): - self.form.sequence.matrix[i][j].setText(self.basic.matrix[i][j]) + self.form.sequence.matrix[i][j].setText(matrix[i][j]) self.lineEdit_width.setText(str(self.basic.lineEdit_width)) self.lineEdit_height.setText(str(self.basic.lineEdit_height)) self.lineEdit_marginh.setText(str(self.basic.lineEdit_marginh)) @@ -143,8 +145,10 @@ def show_sequence_matrix(self): self.box_detailed.show() for element in self.form.sequence.elements: element.hide() + sequence = self.basic.generate_sequence(self.form.seqsize) for i in range(self.form.seqsize): self.form.sequence.elements[i].show() + self.form.sequence.elements[i].setText(sequence[i]) def show_board_matrix(self): error = self.form.is_boardsize_number() @@ -154,9 +158,13 @@ def show_board_matrix(self): for i in range(5): for j in range(5): self.form.sequence.matrix[i][j].hide() + n = int(self.form.lineEdit_boardsizen.displayText()) + m = int(self.form.lineEdit_boardsizem.displayText()) + matrix = self.basic.generate_matrix(n, m) for i in range(int(self.lineEdit_boardsizem.displayText())): for j in range(int(self.lineEdit_boardsizen.displayText())): self.form.sequence.matrix[i][j].show() + self.form.sequence.matrix[i][j].setText(matrix[i][j]) def game(self): error = self.form.is_all_filled_properly() diff --git a/src/input/form.py b/src/input/form.py index 8798dd5..def1a0e 100644 --- a/src/input/form.py +++ b/src/input/form.py @@ -1,3 +1,5 @@ +import random +import string from operator import eq from src.exception import Error @@ -126,19 +128,37 @@ def is_dwell_timer_numer(self): class Basic: def __init__(self): - self.lineEdit_pupiltimer = 3 + self.lineEdit_pupiltimer = 10 self.lineEdit_seqsize = 4 - self.sequence = ['A', 'B', 'C', 'D'] self.lineEdit_seqtimer = 5 self.lineEdit_boardsizen = 3 self.lineEdit_boardsizem = 4 - self.matrix = [['A', 'B', 'C'], - ['D', 'E', 'F'], - ['G', 'H', 'I'], - ['J', 'K', 'L']] self.lineEdit_width = 300 self.lineEdit_height = 300 self.lineEdit_marginh = 80 self.lineEdit_marginv = 80 self.lineEdit_dwell = 3000 + @staticmethod + def generate_sequence(seqsize): + sequence = [] + upper_alphabet = string.ascii_uppercase + while True: + random_letter = random.choice(upper_alphabet) + if random_letter not in sequence: + sequence.append(random_letter) + if len(sequence) == seqsize: return sequence + + @staticmethod + def generate_matrix(n, m): + matrix = [] + alphabet = 'A' + + for i in range(m): + row = [] + for j in range(n): + row.append(alphabet) + alphabet = chr(ord(alphabet) + 1) + matrix.append(row) + + return matrix