Refactor constants, draw blocks, fix push
This commit is contained in:
parent
b1d51f3b2c
commit
cf2bf0ae51
@ -2,24 +2,13 @@ import pygame
|
|||||||
import sys
|
import sys
|
||||||
import random
|
import random
|
||||||
|
|
||||||
|
from constants import *
|
||||||
from player import *
|
from player import *
|
||||||
|
from blocks import *
|
||||||
|
|
||||||
pygame.init()
|
pygame.init()
|
||||||
clock = pygame.time.Clock()
|
clock = pygame.time.Clock()
|
||||||
|
|
||||||
bg_color = pygame.Color('cornsilk4')
|
|
||||||
red = pygame.Color('brown4')
|
|
||||||
blue = pygame.Color('cadetblue3')
|
|
||||||
green = pygame.Color('green3')
|
|
||||||
black = pygame.Color("black")
|
|
||||||
|
|
||||||
tile = 34
|
|
||||||
tileCountx = 50
|
|
||||||
tileCounty = 30
|
|
||||||
|
|
||||||
screen_width = tile * tileCountx
|
|
||||||
screen_height = tile * tileCounty
|
|
||||||
|
|
||||||
screen = pygame.display.set_mode((screen_width,screen_height))
|
screen = pygame.display.set_mode((screen_width,screen_height))
|
||||||
pygame.display.set_caption('Arctic Masher')
|
pygame.display.set_caption('Arctic Masher')
|
||||||
|
|
||||||
@ -81,6 +70,15 @@ players.append(Player(
|
|||||||
gameMap,
|
gameMap,
|
||||||
))
|
))
|
||||||
|
|
||||||
|
for i in range(300):
|
||||||
|
try:
|
||||||
|
spot = [random.randint(0, tileCountx - 1), random.randint(0, tileCounty - 1)]
|
||||||
|
if gameMap[spot[0]][spot[1]]:
|
||||||
|
raise Exception("spot taken!")
|
||||||
|
gameMap[spot[0]][spot[1]] = Block(spot[0], spot[1], gameMap)
|
||||||
|
except Exception as error:
|
||||||
|
print(error)
|
||||||
|
|
||||||
for player in players:
|
for player in players:
|
||||||
for i in range(50):
|
for i in range(50):
|
||||||
try:
|
try:
|
||||||
@ -123,8 +121,14 @@ while True:
|
|||||||
|
|
||||||
# Rendering
|
# Rendering
|
||||||
screen.fill(bg_color)
|
screen.fill(bg_color)
|
||||||
for player in players:
|
for column in gameMap:
|
||||||
screen.blit(frame_0, ((tile*player.x)+2, (tile*player.y)+2))
|
for spot in column:
|
||||||
|
if not spot:
|
||||||
|
continue
|
||||||
|
elif isinstance(spot, Player):
|
||||||
|
screen.blit(frame_0, ((tile*spot.x)+2, (tile*spot.y)+2))
|
||||||
|
elif isinstance(spot, Block):
|
||||||
|
pygame.draw.rect(screen, blue, spot.sprite)
|
||||||
|
|
||||||
pygame.display.flip()
|
pygame.display.flip()
|
||||||
clock.tick(60)
|
clock.tick(60)
|
11
blocks.py
11
blocks.py
@ -1,8 +1,13 @@
|
|||||||
|
import pygame
|
||||||
|
|
||||||
|
from constants import *
|
||||||
|
|
||||||
class Block:
|
class Block:
|
||||||
def __init__(self, x, y, gameMap):
|
def __init__(self, x, y, gameMap):
|
||||||
self.x = x
|
self.x = x
|
||||||
self.y = y
|
self.y = y
|
||||||
self.gameMap = gameMap
|
self.gameMap = gameMap
|
||||||
|
self.sprite = pygame.Rect((x*tile) + 2, (y*tile) + 2, tile - 2, tile - 2)
|
||||||
|
|
||||||
def move(self, x, y, caller=False):
|
def move(self, x, y, caller=False):
|
||||||
try:
|
try:
|
||||||
@ -10,7 +15,9 @@ class Block:
|
|||||||
self.gameMap[self.x + x][self.y + y].move(x, y, caller=self)
|
self.gameMap[self.x + x][self.y + y].move(x, y, caller=self)
|
||||||
self.gameMap[self.x][self.y] = 0
|
self.gameMap[self.x][self.y] = 0
|
||||||
self.x += x
|
self.x += x
|
||||||
|
self.sprite.x = (self.x*tile)+2
|
||||||
self.y += y
|
self.y += y
|
||||||
|
self.sprite.y = (self.y*tile)+2
|
||||||
self.gameMap[self.x][self.y] = self
|
self.gameMap[self.x][self.y] = self
|
||||||
except:
|
except Exception as error:
|
||||||
pass
|
raise error
|
14
constants.py
Normal file
14
constants.py
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
import pygame
|
||||||
|
|
||||||
|
bg_color = pygame.Color('cornsilk4')
|
||||||
|
red = pygame.Color('brown4')
|
||||||
|
blue = pygame.Color('cadetblue3')
|
||||||
|
green = pygame.Color('green3')
|
||||||
|
black = pygame.Color("black")
|
||||||
|
|
||||||
|
tile = 34
|
||||||
|
tileCountx = 50
|
||||||
|
tileCounty = 30
|
||||||
|
|
||||||
|
screen_width = tile * tileCountx
|
||||||
|
screen_height = tile * tileCounty
|
@ -35,7 +35,7 @@ class Player:
|
|||||||
|
|
||||||
def move(self, x, y, caller=False):
|
def move(self, x, y, caller=False):
|
||||||
try:
|
try:
|
||||||
if isinstance(caller, Player):
|
if caller:
|
||||||
raise Exception("Cannot push other players.")
|
raise Exception("Cannot push other players.")
|
||||||
if self.gameMap[self.x + x][self.y + y]:
|
if self.gameMap[self.x + x][self.y + y]:
|
||||||
self.gameMap[self.x + x][self.y + y].move(x, y, caller=self)
|
self.gameMap[self.x + x][self.y + y].move(x, y, caller=self)
|
||||||
|
Loading…
Reference in New Issue
Block a user