Compare commits

..

1 Commits

Author SHA1 Message Date
Ulad
302d178697 refactor: Code structure and variable nameing 2023-03-18 14:37:33 +01:00
11 changed files with 71 additions and 206 deletions

View File

@ -1,29 +0,0 @@
import pygame
import Flower
class Bee:
# typeOfBee = None
# genotype = None
# favFloweColor = None
# biome = None
# product = None
def __init__(self, typeOfBee, genotype, biome, product, favFlowerColor = Flower.Flower.color):
# self.x = 64
# self.y = 64
# self.xChange = 0
# self.yChange = 0
# self.height = 64
# self.width = 64
# self.beeImg = pygame.image.load("spritesNtiles/bee64.png")
self.typeOfBee = typeOfBee
self.genotype = genotype
self.favFlowerColor = favFlowerColor
self.biome = biome
self.product = product
self.amountOfPollinatedFlowers = 0
self.favFlowerColor = favFlowerColor
self.amountOfPollinatedFlowers = 0

View File

@ -1,14 +0,0 @@
import Frames
import Bee
class Beehive:
bees = []
coordinate = None
frames = [] #Frames
outputSlots = None #?
def __init__(self, bees, coordinate, frames, outputSlots):
self.bees = bees
self.coordinate = coordinate
self.frames = frames
self.outputSlots = outputSlots

View File

@ -1,15 +0,0 @@
import random
class PossibleFlower:
color = ['red', 'blue', 'yellow', 'white', 'pink']
name = ['tulip', 'sunflower', 'rose', 'dandelion', 'daisy']
class Flower:
color = None
name = None
coordinates = []
def __init__(self, coordinates, color = PossibleFlower.color[random.randint(0, 4)], name = PossibleFlower.name[random.randint(0, 4)]):
self.color = color
self.name = name
self.coordinates = coordinates

View File

@ -1,7 +0,0 @@
class Frames:
# name = None
# productivity = None
def __init__(self, name, productivity):
self.name = name
self.productivity = productivity

Binary file not shown.

Before

Width:  |  Height:  |  Size: 531 KiB

67
src/game.py Normal file
View File

@ -0,0 +1,67 @@
import pygame
def game_init():
pygame.init()
white = (255, 255, 255)
black = (0, 0, 0)
red = (255, 0, 0)
start_pos = [300, 300]
chnage_pos = [0, 0]
game_over = False
blocks = [[100, 20], [100, 500], [700, 20], [700, 500]]
clock = pygame.time.Clock()
dis = pygame.display.set_mode((800, 600))
pygame.display.set_caption('Intelegentny Pszczelarz')
game_env = dict(start_pos=start_pos, chnage_pos=chnage_pos, game_over=game_over, blocks=blocks, clock=clock,
white=white, red=red, black=black, dis=dis) # change it later
return game_env
def game_start(game_env):
pos = game_env["start_pos"]
chnage_pos = game_env["chnage_pos"]
game_over = game_env["game_over"]
blocks = game_env["blocks"]
clock = game_env["clock"]
white = game_env["white"]
red = game_env["red"]
black = game_env["black"]
dis = game_env["dis"]
while not game_over:
for event in pygame.event.get():
if event.type == pygame.QUIT:
game_over = True
if event.type == pygame.KEYDOWN:
if event.key == pygame.K_LEFT:
chnage_pos = [-10, 0]
elif event.key == pygame.K_RIGHT:
chnage_pos = [10, 0]
elif event.key == pygame.K_UP:
chnage_pos = [0, -10]
elif event.key == pygame.K_DOWN:
chnage_pos = [0, 10]
pos = [pos[0] + chnage_pos[0], pos[1] + chnage_pos[1]]
dis.fill(white)
pygame.draw.rect(dis, black, [pos[0], pos[1], 10, 10])
if pos in blocks:
game_over = True
pygame.draw.rect(dis, red, [blocks[0][0], blocks[0][1], 20, 20])
pygame.draw.rect(dis, red, [blocks[1][0], blocks[1][1], 20, 20])
pygame.draw.rect(dis, red, [blocks[2][0], blocks[2][1], 20, 20])
pygame.draw.rect(dis, red, [blocks[3][0], blocks[3][1], 20, 20])
pygame.display.update()
clock.tick(30)
pygame.quit()

View File

@ -1,141 +1,4 @@
import pygame import pygame
import Flower import game
import Beehive
import Frames game.game_start(game.game_init())
white = (255, 255, 255)
#setting caption and icon
pygame.display.set_caption('Smart Bee')
setIcon = pygame.image.load('spritesNtiles/bee64.png')
pygame.display.set_icon(setIcon)
#
###
########################################
#SHORT = pygame.image.load('spritesNtiles/shortGrass64.png') #0
#TALL = pygame.image.load('spritesNtiles/tallGrass64.png') #1
#TREE = pygame.image.load('spritesNtiles/dirtTree64.png') #10
### tilemap
SHORT = 0
TALL = 1
TREE = 10
BEE = pygame.image.load('spritesNtiles/bee64.png')
tiles = {
SHORT: pygame.image.load('spritesNtiles/shortGrass64.png'),
TALL: pygame.image.load('spritesNtiles/tallGrass64.png'),
TREE: pygame.image.load('spritesNtiles/dirtTree64.png')
}
tilemap = [
[SHORT, SHORT, SHORT, TREE, SHORT, TALL, TALL, SHORT, SHORT, TREE, SHORT, SHORT, TALL, SHORT, SHORT],
[SHORT, SHORT, SHORT, TALL, TALL, SHORT, SHORT, TREE, SHORT, SHORT, SHORT, SHORT, SHORT, SHORT, SHORT],
[SHORT, SHORT, SHORT, SHORT, TALL, SHORT, SHORT, SHORT, SHORT, SHORT, SHORT, SHORT, TALL, SHORT, SHORT],
[TALL, TREE, SHORT, SHORT, SHORT, TREE, SHORT, SHORT, SHORT, SHORT, SHORT, TALL, SHORT, SHORT, TREE],
[SHORT, SHORT, SHORT, SHORT, SHORT, SHORT, SHORT, TREE, SHORT, TREE, SHORT, SHORT, SHORT, SHORT, SHORT],
[SHORT, SHORT, SHORT, SHORT, TALL, SHORT, SHORT, SHORT, SHORT, TALL, SHORT, SHORT, SHORT, SHORT, TALL],
[SHORT, SHORT, TALL, SHORT, SHORT, SHORT, SHORT, SHORT, TREE, SHORT, SHORT, TREE, SHORT, SHORT, SHORT],
[SHORT, TREE, SHORT, TREE, SHORT, SHORT, SHORT, SHORT, TALL, TALL, SHORT, SHORT, SHORT, TALL, SHORT],
[SHORT, SHORT, SHORT, SHORT, TALL, SHORT, SHORT, SHORT, SHORT, TREE, SHORT, SHORT, SHORT, SHORT, SHORT],
[TALL, SHORT, SHORT, SHORT, SHORT, SHORT, TREE, SHORT, SHORT, SHORT, SHORT, SHORT, SHORT, SHORT, TALL],
[SHORT, SHORT, SHORT, SHORT, SHORT, TREE, SHORT, SHORT, SHORT, TALL, SHORT, SHORT, SHORT, SHORT, SHORT],
[SHORT, SHORT, SHORT, SHORT, TALL, SHORT, SHORT, SHORT, SHORT, SHORT, SHORT, SHORT, TALL, SHORT, SHORT],
]
tilemapSizeY = 12
tilemapSizeX = 15
tileSize = 64
###
#calculate the window size
disX = tilemapSizeX * tileSize
disY = tilemapSizeY * tileSize
# tilemap = [
# [0, 0, 0, 10, 0, 1, 1, 0, 0, 10],
# [0, 0, 0, 1, 1, 0, 0, 10, 0, 0],
# [0, 0, 0, 0, 1, 0, 0, 0, 0, 0],
# [1, 10, 0, 0, 0, 10, 0, 0, 0, 0],
# [0, 0, 0, 0, 0, 0, 0, 10, 0, 10],
# [0, 0, 0, 0, 1, 0, 0, 0, 0, 1],
# [0, 0, 1, 0, 0, 0, 0, 0, 10, 0],
# [0, 10, 0, 10, 0, 0, 0, 0, 1, 1],
# [0, 0, 0, 0, 1, 0, 0, 0, 0, 10],
# [1, 0, 0, 0, 0, 0, 10, 0, 0, 0]
# ]
pygame.init()
dis = pygame.display.set_mode((disX, disY))
clock = pygame.time.Clock()
#position of the bee and pos changings
XChanges = 0
XPosBee = 64
YChanges = 0
YPosBee = 64
while True:
for event in pygame.event.get():
#check to quit
if (event.type == pygame.QUIT) or (event.type == pygame.KEYDOWN and event.key == pygame.K_ESCAPE):
# game_over = True
pygame.quit()
quit()
#printing map
for i in range(len(tilemap)):
for j in range(len(tilemap[i])):
dis.blit(tiles[tilemap[i][j]], (j * tileSize, i * tileSize))
#movement speed
if event.type == pygame.KEYDOWN:
if event.key == pygame.K_UP:
XChanges = 0
YChanges = -16
if event.key == pygame.K_DOWN:
XChanges = 0
YChanges = 16
if event.key == pygame.K_LEFT:
XChanges = -16
YChanges = 0
if event.key == pygame.K_RIGHT:
XChanges = 16
YChanges = 0
#stopmovement when a key is up
if event.type == pygame.KEYUP:
XChanges = 0
YChanges = 0
#calculating position of the bee
if disX >= XPosBee >= 0:
XPosBee = XPosBee + XChanges
if disY >= YPosBee >= 0:
YPosBee = YPosBee + YChanges
#left and up restriction
if XPosBee <= 0:
XPosBee = 0
elif XPosBee >= disX:
XPosBee = disX
elif YPosBee <= 0:
YPosBee = 0
elif YPosBee >= disY:
YPosBee = disY
#beatiful bee
dis.blit(BEE, (XPosBee, YPosBee))
#updating
# pygame.display.flip()
pygame.display.update()
clock.tick(10000)

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB