From c9e6ef90a87b2f8bf9e64004ae8d3fca2804d3b1 Mon Sep 17 00:00:00 2001 From: adrien Date: Thu, 26 Sep 2019 10:40:10 +0200 Subject: [PATCH] Import files --- images/bg.jpg | Bin 0 -> 157118 bytes images/blue_mino.png | Bin 0 -> 165 bytes images/cyan_mino.png | Bin 0 -> 151 bytes images/green_mino.png | Bin 0 -> 167 bytes images/magenta_mino.png | Bin 0 -> 165 bytes images/matrix.png | Bin 0 -> 1497 bytes images/orange_mino.png | Bin 0 -> 165 bytes images/red_mino.png | Bin 0 -> 165 bytes images/yellow_mino.png | Bin 0 -> 143 bytes tetrarcade.py | 698 ++++++++++++++++++++++++++++++++++++++++ 10 files changed, 698 insertions(+) create mode 100644 images/bg.jpg create mode 100644 images/blue_mino.png create mode 100644 images/cyan_mino.png create mode 100644 images/green_mino.png create mode 100644 images/magenta_mino.png create mode 100644 images/matrix.png create mode 100644 images/orange_mino.png create mode 100644 images/red_mino.png create mode 100644 images/yellow_mino.png create mode 100644 tetrarcade.py diff --git a/images/bg.jpg b/images/bg.jpg new file mode 100644 index 0000000000000000000000000000000000000000..9899746b37642532ecdd7f9bb00f225124dd4faa GIT binary patch literal 157118 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 CL^d)2 literal 0 HcmV?d00001 diff --git a/images/cyan_mino.png b/images/cyan_mino.png new file mode 100644 index 0000000000000000000000000000000000000000..b4d92aecae548cf5de573521ed5048033fce077d GIT binary patch literal 151 zcmeAS@N?(olHy`uVBq!ia0vp^q9Dw{1|(OCFP#RYSkfJR9T^xl_H+M9WCij$3p^r= z85sBufiR<}hF1en(9+YzF~q_@`42w}PY7FrbNbyX-lsu)m#(--&RCGMswvQUCBGZ* sQacILDZdh~1iWINCE?X<)z!$zusMcbMzZTuJ!lvI6;>1s;*b3=Digg?tAYcTCKF3ly~Rba4!^@K3J!|Nn7pTRTq*V=7zaG2{RG zxoJ0;MHK{p80|1{ocW|F@b8pH7;e1gANljR0zbn8BfjRY2ewW?a~M2b{an^LB{Ts5 D3|2IX literal 0 HcmV?d00001 diff --git a/images/magenta_mino.png b/images/magenta_mino.png new file mode 100644 index 0000000000000000000000000000000000000000..4dde03f3bdb62067c5920e803f4ab136ec950164 GIT binary patch literal 165 zcmeAS@N?(olHy`uVBq!ia0vp^q9Dw{1SHi;jSd1S#^NA%Cx&(BWL^R}Ea{HEjtmSN z`?>!lvI6;>1s;*b3=Digg?tAYcTCKF3ly~Sba4!^@K65p^WFdHw|Sm0%7wBW+phk9 z{~flclev!Um6)->r|95{x>E;W*x~i^HGhIr85kxn=36QGyX6+p6b4UMKbLh*2~7Zv CSvb)E literal 0 HcmV?d00001 diff --git a/images/matrix.png b/images/matrix.png new file mode 100644 index 0000000000000000000000000000000000000000..26d39e8850c062396f920ddbc1c12719a7a85556 GIT binary patch literal 1497 zcmeAS@N?(olHy`uVBq!ia0vp^Cm9$RCvva>S?6=6YXd39;vjb?hIQv;UIIBR>5jgR z3=A9lx&I`x0{NT;9+AZi415Pbm@(^GCno~~Yo4czV@O5Z+uMeIQxip81Gkjw@Ezz{ z>HM@~jp!7y@H_?9{w=YnF))0-OYif|)xuZnxa{{FrQ${>fwao*kJd{k?JT*{Qbt zl2S$Yud#zdGC-v?<+i7e5j=6facD39)0T(7m6@tXU)JG6|%Q^O`NLSAm zuFku|{>?1>o6Q|XB0>PDJT?o1Y8Xi3kCp5c27BER0}MQ89ZJ6T-G@y GGywnv3K5e4 literal 0 HcmV?d00001 diff --git a/images/orange_mino.png b/images/orange_mino.png new file mode 100644 index 0000000000000000000000000000000000000000..29e4bd6e9227d96f5322ccb203123f4487e9348d GIT binary patch literal 165 zcmeAS@N?(olHy`uVBq!ia0vp^q9Dw{1SHi;jSd1S#^NA%Cx&(BWL^R}Ea{HEjtmSN z`?>!lvI6;>1s;*b3=Digg?tAYcTCKF3ly~Sba4!^@K65p|Eulc+0{Hx7zI_2{pUY# z6my5=>13`ie`hSvDLS~K?$iMoc6hyf%^%@FCI(+izS)nP>cWAhFnGH9xvX!lvI6;>1s;*b3=DinK$vl=HlH+5(8|-rF~q_@`Op8K#)m&Y=Xt{D>3Qt`_B=zK zSgxm&xfU&+xj?7r;EK9a2VmIY_3|};CQo5u$X4fDy6VR<6QC&!p00i_>zopr0O`#( AlmGw# literal 0 HcmV?d00001 diff --git a/images/yellow_mino.png b/images/yellow_mino.png new file mode 100644 index 0000000000000000000000000000000000000000..ed0b6b72a2269b916d768622c67932e44162d895 GIT binary patch literal 143 zcmeAS@N?(olHy`uVBq!ia0vp^q9Dw{1SHi;jSd1S#^NA%Cx&(BWL^R}Ea{HEjtmSN z`?>!lvI6;>1s;*b3=DinK$vl=HlH+5P{q^5F~q_@`Op7N^BS2Buq-{vy7-qSGYl(7 c+cPsW@N8w8_~6o=XrOuqPgg&ebxsLQ0NU{-^Z)<= literal 0 HcmV?d00001 diff --git a/tetrarcade.py b/tetrarcade.py new file mode 100644 index 0000000..702fb81 --- /dev/null +++ b/tetrarcade.py @@ -0,0 +1,698 @@ +# -*- coding: utf-8 -*- +import sys +try: + import arcade +except ImportError: + sys.exit( +"""This game require arcade library. +You can install it with: +python -m pip install --user arcade +""" +) +import random + + +# Constants +# Window +WINDOW_WIDTH = 800 +WINDOW_HEIGHT = 600 +WINDOW_TITLE = "TETRARCADE" + +# Sprites paths +WINDOW_BG = "images/bg.jpg" +MATRIX_SPRITE_PATH = "images/matrix.png" +MINOES_SPRITES_PATHS = { + "orange": "images/orange_mino.png", + "blue": "images/blue_mino.png", + "yellow": "images/yellow_mino.png", + "cyan": "images/cyan_mino.png", + "green": "images/green_mino.png", + "red": "images/red_mino.png", + "magenta": "images/magenta_mino.png" +} +NORMAL_ALPHA = 200 +PRELOCKED_ALPHA = 127 +GHOST_ALPHA = 50 + +# Matrix +NB_LINES = 20 +NB_COLS = 10 + +# Delays +AUTOREPEAT_DELAY = 0.170 # Official : 0.300 +AUTOREPEAT_INTERVAL = 0.010 # Official : 0.010 +LOCK_DELAY = 0.5 +FALL_DELAY = 1 + + +class Coord: + + def __init__(self, x, y): + self.x = x + self.y = y + + def __add__(self, other): + return Coord(self.x+other.x, self.y+other.y) + + +# Piece init position +MATRIX_PIECE_INIT_POSITION = Coord(4, NB_LINES) +NEXT_PIECE_POSITION = Coord(NB_COLS+3, NB_LINES-4) +HELD_PIECE_POSITION = Coord(-4, NB_LINES-4) +HELD_I_POSITION = Coord(-5, NB_LINES-4) + + +class Status: + + STARTING = "starting" + PLAYING = "playing" + PAUSED = "paused" + OVER = "over" + + +class Movement: + + LEFT = Coord(-1, 0) + RIGHT = Coord(1, 0) + DOWN = Coord(0, -1) + + +class Rotation: + + CLOCKWISE = -1 + COUNTERCLOCKWISE = 1 + + +class T_Spin: + + NO_T_SPIN = "" + MINI_T_SPIN = "MINI T-SPIN" + T_SPIN = "T-SPIN" + + +class Tetromino: + + + class TetrominoBase: + # Super rotation system + SRS = { + Rotation.COUNTERCLOCKWISE: ( + (Coord(0, 0), Coord(1, 0), Coord(1, 1), Coord(0, -2), Coord(1, -2)), + (Coord(0, 0), Coord(-1, 0), Coord(-1, -1), Coord(0, 2), Coord(-1, 2)), + (Coord(0, 0), Coord(-1, 0), Coord(-1, 1), Coord(0, -2), Coord(-1, -2)), + (Coord(0, 0), Coord(1, 0), Coord(1, -1), Coord(0, 2), Coord(1, 2)) + ), + Rotation.CLOCKWISE: ( + (Coord(0, 0), Coord(-1, 0), Coord(-1, 1), Coord(0, -2), Coord(-1, -2)), + (Coord(0, 0), Coord(-1, 0), Coord(-1, -1), Coord(0, -2), Coord(-1, 2)), + (Coord(0, 0), Coord(1, 0), Coord(1, 1), Coord(0, -2), Coord(1, -2)), + (Coord(0, 0), Coord(1, 0), Coord(1, -1), Coord(0, 2), Coord(1, 2)) + ) + } + lock_delay = LOCK_DELAY + fall_delay = FALL_DELAY + + def __init__(self): + self.position = NEXT_PIECE_POSITION + self.minoes_positions = self.MINOES_POSITIONS + self.orientation = 0 + self.last_rotation_point_used = None + self.hold_enabled = True + self.prelocked = False + + def ghost(self): + return self.__class__() + + + class O(TetrominoBase): + + SRS = { + Rotation.COUNTERCLOCKWISE: (tuple(), tuple(), tuple(), tuple()), + Rotation.CLOCKWISE: (tuple(), tuple(), tuple(), tuple()) + } + MINOES_POSITIONS = (Coord(0, 0), Coord(1, 0), Coord(0, 1), Coord(1, 1)) + MINOES_COLOR = "yellow" + + def rotate(self, direction): + return False + + + class I(TetrominoBase): + + SRS = { + Rotation.COUNTERCLOCKWISE: ( + (Coord(0, -1), Coord(-1, -1), Coord(2, -1), Coord(-1, 1), Coord(2, -2)), + (Coord(1, 0), Coord(-1, 0), Coord(2, 0), Coord(-1, -1), Coord(2, 2)), + (Coord(0, 1), Coord(1, 1), Coord(-2, 1), Coord(1, -1), Coord(-2, 2)), + (Coord(-1, 0), Coord(1, 0), Coord(-2, 0), Coord(1, 1), Coord(-2, -2)) + ), + Rotation.CLOCKWISE: ( + (Coord(1, 0), Coord(-1, 0), Coord(2, 0), Coord(-1, -1), Coord(2, 2)), + (Coord(0, -1), Coord(1, 1), Coord(-2, 1), Coord(1, -1), Coord(-2, 2)), + (Coord(-1, 0), Coord(1, 0), Coord(-2, 0), Coord(1, 1), Coord(-2, -2)), + (Coord(0, -1), Coord(-1, -1), Coord(2, -1), Coord(-1, 1), Coord(2, -2)) + ) + } + MINOES_POSITIONS = (Coord(-1, 0), Coord(0, 0), Coord(1, 0), Coord(2, 0)) + MINOES_COLOR = "cyan" + + + class T(TetrominoBase): + + MINOES_POSITIONS = (Coord(-1, 0), Coord(0, 0), Coord(0, 1), Coord(1, 0)) + MINOES_COLOR = "magenta" + + + class L(TetrominoBase): + + MINOES_POSITIONS = (Coord(-1, 0), Coord(0, 0), Coord(1, 0), Coord(1, 1)) + MINOES_COLOR = "orange" + + + class J(TetrominoBase): + + MINOES_POSITIONS = (Coord(-1, 1), Coord(-1, 0), Coord(0, 0), Coord(1, 0)) + MINOES_COLOR = "blue" + + + class S(TetrominoBase): + + MINOES_POSITIONS = (Coord(-1, 0), Coord(0, 0), Coord(0, 1), Coord(1, 1)) + MINOES_COLOR = "green" + + + class Z(TetrominoBase): + + MINOES_POSITIONS = (Coord(-1, 1), Coord(0, 1), Coord(0, 0), Coord(1, 0)) + MINOES_COLOR = "red" + + + TETROMINOES = (O, I, T, L, J, S, Z) + random_bag = [] + + def __new__(cls): + if not cls.random_bag: + cls.random_bag = list(cls.TETROMINOES) + random.shuffle(cls.random_bag) + return cls.random_bag.pop()() + + +class GameLogic(): + + T_SLOT = (Coord(-1, 1), Coord(1, 1), Coord(1, -1), Coord(-1, -1)) + SCORES = ( + {"name": "", T_Spin.NO_T_SPIN: 0, T_Spin.MINI_T_SPIN: 1, T_Spin.T_SPIN: 4}, + {"name": "SINGLE", T_Spin.NO_T_SPIN: 1, T_Spin.MINI_T_SPIN: 2, T_Spin.T_SPIN: 8}, + {"name": "DOUBLE", T_Spin.NO_T_SPIN: 3, T_Spin.MINI_T_SPIN: 12}, + {"name": "TRIPLE", T_Spin.NO_T_SPIN: 5, T_Spin.T_SPIN: 16}, + {"name": "TETRIS", T_Spin.NO_T_SPIN: 8} + ) + + def __init__(self, ui): + self.ui = ui + self.high_score = 0 + self.status = Status.STARTING + + def new_game(self): + self.level = 0 + self.score = 0 + self.nb_lines = 0 + self.goal = 0 + + self.lock_delay = LOCK_DELAY + self.fall_delay = FALL_DELAY + + self.matrix = [ + [None for x in range(NB_COLS)] + for y in range(NB_LINES+3) + ] + self.next_piece = Tetromino() + self.current_piece = None + self.held_piece = None + self.status = Status.PLAYING + self.new_level() + self.new_current_piece() + + def new_level(self): + self.level += 1 + self.goal += 5 * self.level + if self.level <= 20: + self.fall_delay = pow(0.8 - ((self.level-1)*0.007), self.level-1) + if self.level > 15: + self.lock_delay = 0.5 * pow(0.9, self.level-15) + self.ui.new_level() + + def new_current_piece(self): + self.current_piece = self.next_piece + self.current_piece.position = MATRIX_PIECE_INIT_POSITION + self.ghost_piece = self.current_piece.ghost() + self.move_ghost() + self.ui.new_current_piece() + self.next_piece = Tetromino() + self.ui.new_next_piece() + if self.can_move( + self.current_piece.position, + self.current_piece.minoes_positions + ): + self.ui.start_fall() + else: + self.game_over() + + def cell_is_free(self, position): + return ( + 0 <= position.x < NB_COLS + and 0 <= position.y + and not self.matrix[position.y][position.x] + ) + + def can_move(self, potential_position, minoes_positions): + return all( + self.cell_is_free(potential_position+mino_position) + for mino_position in minoes_positions + ) + + def move(self, movement, prelock_on_stuck=True): + potential_position = self.current_piece.position + movement + if self.can_move(potential_position, self.current_piece.minoes_positions): + if self.current_piece.prelocked: + self.ui.prelock(restart=True) + self.current_piece.position = potential_position + self.current_piece.last_rotation_point_used = None + self.move_ghost() + return True + else: + if ( + prelock_on_stuck and not self.current_piece.prelocked + and movement == Movement.DOWN + ): + self.current_piece.prelocked = True + self.ui.prelock() + return False + + def rotate(self, direction): + rotated_minoes_positions = tuple( + Coord(-direction*mino_position.y, direction*mino_position.x) + for mino_position in self.current_piece.minoes_positions + ) + for rotation_point, liberty_degree in enumerate( + self.current_piece.SRS[direction][self.current_piece.orientation], + start = 1 + ): + potential_position = self.current_piece.position + liberty_degree + if self.can_move(potential_position, rotated_minoes_positions): + if self.current_piece.prelocked: + self.ui.prelock(restart=True) + self.current_piece.position = potential_position + self.current_piece.minoes_positions = rotated_minoes_positions + self.current_piece.orientation = ( + (self.current_piece.orientation + direction) % 4 + ) + self.current_piece.last_rotation_point_used = rotation_point + self.move_ghost() + return True + else: + return False + + def move_ghost(self): + self.ghost_piece.position = self.current_piece.position + self.ghost_piece.minoes_positions = self.current_piece.minoes_positions + while self.can_move( + self.ghost_piece.position + Movement.DOWN, + self.ghost_piece.minoes_positions + ): + self.ghost_piece.position += Movement.DOWN + + def soft_drop(self): + if self.move(Movement.DOWN): + self.score += 1 + return True + else: + return False + + def hard_drop(self): + drop_score = 0 + while self.move(Movement.DOWN, prelock_on_stuck=False): + drop_score += 2 + self.score += drop_score + return drop_score + + def lock(self): + if self.move(Movement.DOWN): + self.ui.stop_fall() + self.ui.cancel_prelock() + return + + if all( + (mino_position + self.current_piece.position).y >= NB_LINES + for mino_position in self.current_piece.minoes_positions + ): + self.current_piece.prelocked = False + self.ui.update_current_piece() + self.game_over() + return + + for mino_position in self.current_piece.minoes_positions: + position = mino_position + self.current_piece.position + if position.y <= NB_LINES+3: + self.matrix[position.y][position.x] = self.current_piece.MINOES_COLOR + + nb_lines_cleared = 0 + for y, line in reversed(list(enumerate(self.matrix))): + if all(mino for mino in line): + nb_lines_cleared += 1 + self.matrix.pop(y) + self.matrix.append([None for x in range(NB_COLS)]) + self.ui.update_matrix() + + if ( + self.current_piece.__class__ == Tetromino.T + and self.current_piece.last_rotation_point_used is not None + ): + position = self.current_piece.position + orientation = self.current_piece.orientation + nb_orientations = len(self.current_piece.SRS[Rotation.CLOCKWISE]) + a = not self.cell_is_free(position+self.T_SLOT[orientation]) + b = not self.cell_is_free(position+self.T_SLOT[(orientation-1)%nb_orientations]) + c = not self.cell_is_free(position+self.T_SLOT[(orientation-3)%nb_orientations]) + d = not self.cell_is_free(position+self.T_SLOT[(orientation-2)%nb_orientations]) + + if self.current_piece.last_rotation_point_used == 5 or (a and b and (c or d)): + t_spin = T_Spin.T_SPIN + elif c and d and (a or b): + t_spin = T_Spin.MINI_T_SPIN + else: + t_spin = T_Spin.NO_T_SPIN + else: + t_spin = T_Spin.NO_T_SPIN + + if t_spin: + self.ui.display(t_spin) + if nb_lines_cleared: + self.ui.display(self.SCORES[nb_lines_cleared]["name"]) + self.combo += 1 + else: + self.combo = -1 + + if nb_lines_cleared or t_spin: + self.nb_lines += nb_lines_cleared + ds = self.SCORES[nb_lines_cleared][t_spin] + self.goal -= ds + ds *= 100 * self.level + self.score += ds + self.ui.display(str(ds)) + + if self.combo >= 1: + self.ui.display("COMBO x%d" % self.combo) + ds = (20 if nb_lines_cleared==1 else 50) * self.combo * self.level + self.score += ds + self.ui.display(str(ds)) + + if self.score > self.high_score: + self.high_score = self.score + if self.goal <= 0: + self.new_level() + + self.new_current_piece() + + def swap(self): + if self.current_piece.hold_enabled: + self.current_piece.hold_enabled = False + self.current_piece.prelocked = False + self.ui.cancel_prelock() + self.ui.stop_fall() + self.current_piece, self.held_piece = self.held_piece, self.current_piece + if self.held_piece.__class__ == Tetromino.I: + self.held_piece.position = HELD_I_POSITION + else: + self.held_piece.position = HELD_PIECE_POSITION + self.held_piece.minoes_positions = self.held_piece.MINOES_POSITIONS + self.ui.new_held_piece() + if not self.current_piece: + self.new_current_piece() + else: + self.current_piece.position = MATRIX_PIECE_INIT_POSITION + self.ui.new_current_piece() + self.ui.start_fall() + + def game_over(self): + self.status = Status.OVER + self.ui.game_over() + + +class UI(arcade.Window): + + def __init__(self): + super().__init__( + width = WINDOW_WIDTH, + height = WINDOW_HEIGHT, + title = WINDOW_TITLE, + resizable = False + ) + center_x = self.width / 2 + center_y = self.height / 2 + self.bg_sprite = arcade.Sprite(WINDOW_BG) + self.bg_sprite.center_x = center_x + self.bg_sprite.center_y = center_y + self.matrix_minoes_sprites = arcade.SpriteList() + self.held_piece_sprites = arcade.SpriteList() + self.current_piece_sprites = arcade.SpriteList() + self.ghost_piece_sprites = arcade.SpriteList() + self.next_piece_sprites = arcade.SpriteList() + self.matrix_sprite = arcade.Sprite(MATRIX_SPRITE_PATH) + self.matrix_sprite.center_x = center_x + self.matrix_sprite.center_y = center_y + self.matrix_sprite.left = int(self.matrix_sprite.left) + self.matrix_sprite.top = int(self.matrix_sprite.top) + self.matrix_sprite.alpha = 100 + + self.actions = { + Status.PLAYING: { + arcade.key.LEFT: self.move_left, + arcade.key.NUM_4: self.move_left, + arcade.key.RIGHT: self.move_right, + arcade.key.NUM_6: self.move_right, + arcade.key.SPACE: self.hard_drop, + arcade.key.NUM_8: self.hard_drop, + arcade.key.DOWN: self.soft_drop, + arcade.key.NUM_2: self.soft_drop, + arcade.key.UP: self.rotate_clockwise, + arcade.key.X: self.rotate_clockwise, + arcade.key.NUM_1: self.rotate_clockwise, + arcade.key.NUM_5: self.rotate_clockwise, + arcade.key.NUM_9: self.rotate_clockwise, + arcade.key.Z: self.rotate_counterclockwise, + arcade.key.NUM_3: self.rotate_counterclockwise, + arcade.key.NUM_7: self.rotate_counterclockwise, + arcade.key.C: self.swap, + arcade.key.MOD_SHIFT: self.swap, + arcade.key.NUM_0: self.swap, + arcade.key.ESCAPE: self.pause, + arcade.key.F1: self.pause, + }, + Status.PAUSED: { + arcade.key.ESCAPE: self.resume, + arcade.key.F1: self.resume + } + } + self.autorepeatable_actions = (self.move_left, self.move_right, self.soft_drop) + + self.game = GameLogic(self) + self.new_game() + + def new_game(self): + self.pressed_actions = [] + self.auto_repeat = False + self.game.new_game() + + def new_level(self): + print("Level", self.game.level) + + def new_piece(self, piece): + piece_sprites = arcade.SpriteList() + for mino_position in piece.minoes_positions: + mino_sprite_path = MINOES_SPRITES_PATHS[piece.MINOES_COLOR] + mino_sprite = arcade.Sprite(mino_sprite_path) + mino_sprite.alpha = NORMAL_ALPHA + piece_sprites.append(mino_sprite) + return piece_sprites + + def new_held_piece(self): + self.held_piece_sprites = self.new_piece(self.game.held_piece) + self.update_held_piece() + + def new_next_piece(self): + self.next_piece_sprites = self.new_piece(self.game.next_piece) + self.update_next_piece() + + def new_current_piece(self): + self.current_piece_sprites = self.new_piece(self.game.current_piece) + self.ghost_piece_sprites = self.new_piece(self.game.ghost_piece) + self.update_current_piece() + + def on_key_press(self, key, modifiers): + for key_or_modifier in (key, modifiers): + try: + action = self.actions[self.game.status][key_or_modifier] + except KeyError: + pass + else: + action() + if action in self.autorepeatable_actions: + self.stop_autorepeat() + self.pressed_actions.append(action) + arcade.schedule(self.repeat_action, AUTOREPEAT_DELAY) + + def on_key_release(self, key, modifiers): + try: + action = self.actions[self.game.status][key] + except KeyError: + pass + else: + if action in self.autorepeatable_actions: + self.pressed_actions.remove(action) + if not self.pressed_actions: + self.stop_autorepeat() + arcade.schedule(self.repeat_action, AUTOREPEAT_DELAY) + + def repeat_action(self, delta_time=0): + if self.pressed_actions: + self.pressed_actions[-1]() + if not self.auto_repeat: + self.auto_repeat = True + arcade.unschedule(self.repeat_action) + arcade.schedule(self.repeat_action, AUTOREPEAT_INTERVAL) + else: + self.auto_repeat = False + arcade.unschedule(self.repeat_action) + + def stop_autorepeat(self): + self.auto_repeat = False + arcade.unschedule(self.repeat_action) + + def move_left(self, delta_time=0): + if self.game.move(Movement.LEFT): + self.update_current_piece() + + def move_right(self, delta_time=0): + if self.game.move(Movement.RIGHT): + self.update_current_piece() + + def soft_drop(self, delta_time=0): + if self.game.soft_drop(): + self.update_current_piece() + + def hard_drop(self, delta_time=0): + self.game.hard_drop() + self.lock() + + def rotate_counterclockwise(self, delta_time=0): + if self.game.rotate(Rotation.COUNTERCLOCKWISE): + self.update_current_piece() + + def rotate_clockwise(self, delta_time=0): + if self.game.rotate(Rotation.CLOCKWISE): + self.update_current_piece() + + def fall(self, delta_time=0): + if self.game.move(Movement.DOWN): + self.update_current_piece() + + def start_fall(self): + arcade.schedule(self.fall, self.game.fall_delay) + + def stop_fall(self): + arcade.unschedule(self.fall) + + def prelock(self, restart=False): + if restart: + self.cancel_prelock() + arcade.schedule(self.lock, self.game.lock_delay) + + def cancel_prelock(self): + arcade.unschedule(self.lock) + + def lock(self, delta_time=0): + self.game.lock() + + def update_matrix(self): + self.current_piece_sprites = arcade.SpriteList() + self.matrix_minoes_sprites = arcade.SpriteList() + for y, line in enumerate(self.game.matrix): + for x, mino_color in enumerate(line): + if mino_color: + mino_sprite_path = MINOES_SPRITES_PATHS[mino_color] + mino_sprite = arcade.Sprite(mino_sprite_path) + mino_sprite.left = self.matrix_sprite.left + x*(mino_sprite.width-1) + mino_sprite.bottom = self.matrix_sprite.bottom + y*(mino_sprite.height-1) + mino_sprite.alpha = 200 + self.matrix_minoes_sprites.append(mino_sprite) + + def display(self, string): + print(string) + + def swap(self, delta_time=0): + self.game.swap() + + def pause(self, delta_time=0): + print("pause") + self.stop_fall() + self.cancel_prelock() + self.pressed_actions = [] + self.stop_autorepeat() + self.game.status = "paused" + + def resume(self, delta_time=0): + self.start_fall() + if self.game.current_piece.prelocked: + arcade.schedule(self.lock, self.game.lock_delay) + self.game.status = "playing" + + def on_draw(self): + arcade.start_render() + self.bg_sprite.draw() + self.matrix_sprite.draw() + if not self.game.status == "paused": + self.matrix_minoes_sprites.draw() + self.held_piece_sprites.draw() + self.current_piece_sprites.draw() + self.ghost_piece_sprites.draw() + self.next_piece_sprites.draw() + + def update_piece(self, piece, piece_sprites): + for mino_sprite, mino_position in zip( + piece_sprites, piece.minoes_positions + ): + mino_position += piece.position + mino_sprite.left = self.matrix_sprite.left + mino_position.x*(mino_sprite.width-1) + mino_sprite.bottom = self.matrix_sprite.bottom + mino_position.y*(mino_sprite.height-1) + + def update_next_piece(self): + self.update_piece(self.game.next_piece, self.next_piece_sprites) + + def update_held_piece(self): + self.update_piece(self.game.held_piece, self.held_piece_sprites) + + def update_current_piece(self): + self.update_piece(self.game.current_piece, self.current_piece_sprites) + if self.game.current_piece.prelocked: + alpha = PRELOCKED_ALPHA if self.game.current_piece.prelocked else NORMAL_ALPHA + for mino_sprite in self.current_piece_sprites: + mino_sprite.alpha = alpha + self.update_piece(self.game.ghost_piece, self.ghost_piece_sprites) + for mino_sprite in self.ghost_piece_sprites: + mino_sprite.alpha = GHOST_ALPHA + + def game_over(self): + arcade.unschedule(self.repeat_action) + self.cancel_prelock() + self.stop_fall() + print("game over") + + +def main(): + UI() + arcade.run() + +if __name__ == "__main__": + main() + \ No newline at end of file