mirror of
https://github.com/kristoferssolo/2048.git
synced 2025-10-21 15:20:35 +00:00
feat: add sprite collision check
This commit is contained in:
parent
104fed4705
commit
72b31e90c0
@ -1,9 +1,9 @@
|
|||||||
|
import random
|
||||||
import sys
|
import sys
|
||||||
|
|
||||||
import pygame
|
import pygame
|
||||||
|
|
||||||
from .block import Block
|
from .block import Block
|
||||||
|
|
||||||
from .colors import COLORS
|
from .colors import COLORS
|
||||||
from .config import Config
|
from .config import Config
|
||||||
|
|
||||||
@ -14,8 +14,7 @@ class Game:
|
|||||||
self.screen = pygame.display.set_mode((Config.WIDTH, Config.HEIGHT))
|
self.screen = pygame.display.set_mode((Config.WIDTH, Config.HEIGHT))
|
||||||
pygame.display.set_caption("2048")
|
pygame.display.set_caption("2048")
|
||||||
self.sprites = pygame.sprite.Group()
|
self.sprites = pygame.sprite.Group()
|
||||||
block = Block(0, 0)
|
self.generate_random_block()
|
||||||
self.sprites.add(block)
|
|
||||||
|
|
||||||
def run(self) -> None:
|
def run(self) -> None:
|
||||||
while True:
|
while True:
|
||||||
@ -36,3 +35,16 @@ class Game:
|
|||||||
if event.type == pygame.QUIT:
|
if event.type == pygame.QUIT:
|
||||||
pygame.quit()
|
pygame.quit()
|
||||||
sys.exit()
|
sys.exit()
|
||||||
|
|
||||||
|
def generate_random_block(self) -> None:
|
||||||
|
for _ in range(Config.INITIAL_BLOCK_COUNT):
|
||||||
|
while True:
|
||||||
|
x = random.randint(0, 2) * Config.BLOCK_SIZE # random column position
|
||||||
|
y = random.randint(0, 2) * Config.BLOCK_SIZE # random row position
|
||||||
|
|
||||||
|
block = Block(x, y)
|
||||||
|
colligin_blocks = pygame.sprite.spritecollide(block, self.sprites, False)
|
||||||
|
|
||||||
|
if not colligin_blocks:
|
||||||
|
self.sprites.add(block)
|
||||||
|
break
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user