Ich programmiere gerade an einem Tetris und habe ein Problem.Habe schon umgefär analysiert wo das Problem ist und brauch Hilfe es genau zu finden um es zu Lösen.
Hier ist der code:
Code: Alles auswählen
import pygame as pg
from dataclasses import dataclass
BREITE, SPALTEN, ZEILEN = 400, 10, 20
ABSTAND = BREITE // SPALTEN
HÖHE = ABSTAND * ZEILEN
grid = [0] * SPALTEN * ZEILEN
speed = 500
pg.init()
display_width = 800
display_height = 600
gameDisplay = pg.display.set_mode((display_width,display_height))
pg.display.set_caption('A bit Racey')
black = (0,0,0)
white = (255,255,255)
clock = pg.time.Clock()
crashed = False
bilder = []
for n in range(8):
bilder.append(pg.transform.scale(pg.image.load(f'Tetrominos\\Cube_{n}.jpg'),(ABSTAND,ABSTAND)))
tetrominoes = [[0,1,1,0,0,1,1,0,0,0,0,0,0,0,0,0],
[0,0,0,0,3,3,3,3,0,0,0,0,0,0,0,0],
[0,0,0,0,5,5,5,0,0,0,5,0,0,0,0,0],
[0,0,7,0,7,7,7,0,0,0,0,0,0,0,0,0],
[0,2,2,0,2,2,0,0,0,0,0,0,0,0,0,0],
[4,4,0,0,0,4,4,0,0,0,0,0,0,0,0,0],
[0,0,0,0,6,6,6,0,0,6,0,0,0,0,0,0]]
@dataclass
class Tetrominoe():
tet : list
zeile : int = 0
spalte : int = 3
def show(self):
for n, farbe in enumerate(self.tet):
if farbe > 0:
y = (self.zeile + n // 4) * ABSTAND
x = (self.spalte + n % 4) * ABSTAND
screen.blit(bilder[farbe], (x,y))
def update(self, zoff, soff):
self.zeile += zoff
self.spalte += soff
def car(x,y):
gameDisplay.blit(carImg, (x,y))
x = (display_width * 0.45)
y = (display_height * 0.8)
x_change = 0
car_speed = 0
while not crashed:
for event in pg.event.get():
if event.type == pg.QUIT:
crashed = True
############################
if event.type == pg.KEYDOWN:
if event.key == pg.K_LEFT:
x_change = -5
elif event.key == pg.K_RIGHT:
x_change = 5
if event.type == pg.KEYUP:
if event.key == pg.K_LEFT or event.key == pg.K_RIGHT:
x_change = 0
######################
##
x += x_change
##
gameDisplay.fill(white)
car(x,y)
pg.display.update()
clock.tick(60)
pygame.quit()
quit()