From c287decd4d3f3f4c772032da99f25efa2532fe7c Mon Sep 17 00:00:00 2001 From: KikooDX Date: Wed, 17 Jul 2019 17:05:08 +0200 Subject: [PATCH] Indentation set to 2 spaces instead of 4 (Casio Micro Python choice) --- locate2.py | 248 ++++++++++++++++++++++++++--------------------------- 1 file changed, 124 insertions(+), 124 deletions(-) diff --git a/locate2.py b/locate2.py index bb2c941..1f7473b 100644 --- a/locate2.py +++ b/locate2.py @@ -1,124 +1,124 @@ -class Screen: - def _check(self, x, o, name): - if not isinstance(x, int): - raise TypeError("{} is not an int object".format(name)) - elif x < 1: - raise ValueError("{} is lower than 1".format(name)) - if o is None: - o = 0 - elif x > o and o: - raise ValueError("{} is greater than the height of this object: {} > {}". - format(name, x, o)) - - def __init__(self, width=21, height=6, patern=" ", copy=None): - if isinstance(copy, Screen): - self._width = copy._width - self._height = copy._height - self._mat = copy._mat - else: - self._check(width, None, "width") - self._check(height, None, "height") - if not isinstance(patern, str): - raise TypeError("patern is not a string") - elif len(patern) > 1: - raise ValueError("patern is too long (length = {})".format(len(patern))) - self._width = width - self._height = height - self.fill(patern) - - def locate(self, x, y, string): - self._check(x, self._width, "x") - self._check(y, self._height, "y") - string = str(string) - i = -1 - for char in string: - if i + x < self._width: - self._mat[y - 1][x + i] = char - i += 1 - - def locate_v(self, x, y, string): - self._check(x, self._width, "x") - self._check(y, self._height, "y") - string = str(string) - i = -1 - for char in string: - if i + y < self._height: - self._mat[y + i][x - 1] = char - i += 1 - - def fill(self, patern=" "): - self._mat = [[patern[0] for i in range(self._width)] for i in range(self._height)] - - def refresh(self, ask_for_input=True, endl="\n"): - to_print = str() - for line in self._mat: - for cell in line: - to_print += cell - to_print += "\n" - to_print = to_print[:-1] - print(to_print) - if ask_for_input: - return input("> ") - else: - print("", end=endl) - return None - - def get_cell(self, x, y): - self._check(x, self._width, "x") - self._check(y, self._width, "y") - return self._mat[y - 1][x - 1] - - def get_dim(self): - return self._width, self._height - - def export(self): - result = str() - for line in self._mat: - for cell in line: - result += cell - return result - - def load(self, string): - if type(string) is not str: - raise TypeError("string is not a string type") - if len(string) != self._width * self._height: - raise ValueError("string lenght isn't equal to {}".format(self._width * self._height)) - i = 0 - s = 0 - while i != self._height: - self._mat[i] = list(string[s:s + self._width]) - i += 1 - s += self._width - - get_cell_content = get_cell # For retro-compability - -class Pad(Screen): - def refresh(self, x=1, y=1, width=21, height=6, ask_for_input=True, endl="\n"): - if width > self._width: - width = self._width - if height > self._height: - height = self._height - if x < 1: - x = 1 - if y < 1: - y = 1 - x -= 1 - y -= 1 - if x + width > self._width: - x = self._width - width - if y + height > self._height: - y = self._height - height - to_print = str() - for dy in range(y, height+y): - dy = dy - for dx in range(x, width+x): - print(dx, dy) - to_print += self._mat[dy][dx] - to_print += "\n" - to_print = to_print[:-1] - print(to_print) - if ask_for_input: - return input("> ") - else: - print("", end=endl) - return None +class Screen: + def _check(self, x, o, name): + if not isinstance(x, int): + raise TypeError("{} is not an int object".format(name)) + elif x < 1: + raise ValueError("{} is lower than 1".format(name)) + if o is None: + o = 0 + elif x > o and o: + raise ValueError("{} is greater than the height of this object: {} > {}". + format(name, x, o)) + + def __init__(self, width=21, height=6, patern=" ", copy=None): + if isinstance(copy, Screen): + self._width = copy._width + self._height = copy._height + self._mat = copy._mat + else: + self._check(width, None, "width") + self._check(height, None, "height") + if not isinstance(patern, str): + raise TypeError("patern is not a string") + elif len(patern) > 1: + raise ValueError("patern is too long (length = {})".format(len(patern))) + self._width = width + self._height = height + self.fill(patern) + + def locate(self, x, y, string): + self._check(x, self._width, "x") + self._check(y, self._height, "y") + string = str(string) + i = -1 + for char in string: + if i + x < self._width: + self._mat[y - 1][x + i] = char + i += 1 + + def locate_v(self, x, y, string): + self._check(x, self._width, "x") + self._check(y, self._height, "y") + string = str(string) + i = -1 + for char in string: + if i + y < self._height: + self._mat[y + i][x - 1] = char + i += 1 + + def fill(self, patern=" "): + self._mat = [[patern[0] for i in range(self._width)] for i in range(self._height)] + + def refresh(self, ask_for_input=True, endl="\n"): + to_print = str() + for line in self._mat: + for cell in line: + to_print += cell + to_print += "\n" + to_print = to_print[:-1] + print(to_print) + if ask_for_input: + return input("> ") + else: + print("", end=endl) + return None + + def get_cell(self, x, y): + self._check(x, self._width, "x") + self._check(y, self._width, "y") + return self._mat[y - 1][x - 1] + + def get_dim(self): + return self._width, self._height + + def export(self): + result = str() + for line in self._mat: + for cell in line: + result += cell + return result + + def load(self, string): + if type(string) is not str: + raise TypeError("string is not a string type") + if len(string) != self._width * self._height: + raise ValueError("string lenght isn't equal to {}".format(self._width * self._height)) + i = 0 + s = 0 + while i != self._height: + self._mat[i] = list(string[s:s + self._width]) + i += 1 + s += self._width + + get_cell_content = get_cell # For retro-compability + +class Pad(Screen): + def refresh(self, x=1, y=1, width=21, height=6, ask_for_input=True, endl="\n"): + if width > self._width: + width = self._width + if height > self._height: + height = self._height + if x < 1: + x = 1 + if y < 1: + y = 1 + x -= 1 + y -= 1 + if x + width > self._width: + x = self._width - width + if y + height > self._height: + y = self._height - height + to_print = str() + for dy in range(y, height+y): + dy = dy + for dx in range(x, width+x): + print(dx, dy) + to_print += self._mat[dy][dx] + to_print += "\n" + to_print = to_print[:-1] + print(to_print) + if ask_for_input: + return input("> ") + else: + print("", end=endl) + return None