86 lines
3.4 KiB
Python
86 lines
3.4 KiB
Python
import pygame as pg
|
|
from modules import DB
|
|
from modules.sprites import FrogsInBook
|
|
|
|
|
|
def get_frogs_img(name):
|
|
frogs_img = {
|
|
"Квакуша": "1.jpg",
|
|
"Квакша": "2.jpg",
|
|
"Квак": "3.jpg",
|
|
"Ква": "4.jpg",
|
|
"Кваква": "5.jpg",
|
|
"Джабба-хатт": "6.jpg",
|
|
"Квендальф": "7.jpg",
|
|
"Лягуша": "8.jpg",
|
|
"Жаба": "9.jpg",
|
|
"Абажаю": "10.jpg",
|
|
"Пучеглазый": "11.jpg",
|
|
"Вафля": "12.jpg",
|
|
"13": "13.jpg",
|
|
"14": "14.jpg",
|
|
"15": "15.jpg",
|
|
"16": "16.jpg",
|
|
"17": "17.jpg",
|
|
"18": "18.jpg",
|
|
"19": "19.jpg",
|
|
"20": "20.jpg",
|
|
"21": "21.jpg",
|
|
"22": "22.jpg",
|
|
"23": "23.jpg"
|
|
}
|
|
frogs_img_prepare = frogs_img[name]
|
|
frogs_img_str = f"styles/frogs/{frogs_img_prepare}"
|
|
return frogs_img_str
|
|
|
|
|
|
class Book: # Окно с необходимой информацией
|
|
@staticmethod
|
|
def info(screen, event):
|
|
db = DB.UseDB("game")
|
|
response = db.find_document(
|
|
{}
|
|
)[0]
|
|
pg.draw.rect(screen, (38, 33, 55), (85, 0, 520, 500))
|
|
pg.draw.rect(screen, (255, 255, 255), (100, 90, 495, 280), 1)
|
|
texts = [f'День {response["day"]}', 'Сегодня произошло следующее:',
|
|
f"{event['name']}", f"{event['description']}"]
|
|
sizes = [60, 30, 30, 30]
|
|
coords = [(260, 30), (110, 100), (110, 150), (110, 190)]
|
|
for i in range(len(texts)):
|
|
font = pg.font.Font(None, sizes[i])
|
|
text = font.render(texts[i], True, (255, 255, 255))
|
|
screen.blit(text, coords[i])
|
|
frogs = []
|
|
for i in response["frogs"]:
|
|
frogs.append((i["name"], [i["hp"], i["hunger"]]))
|
|
|
|
font = pg.font.Font(None, 15) # Здесь будет указана информация о некоторых лягушках
|
|
for col in range((len(frogs) - 1) % 4 + 1):
|
|
for row in range((len(frogs) - 1) // 4 + 1):
|
|
if col == 0:
|
|
i = row
|
|
elif col == 1:
|
|
i = row + 3
|
|
elif col == 2:
|
|
i = row + 6
|
|
else:
|
|
i = row + 9
|
|
|
|
all_sprites = pg.sprite.Group()
|
|
FrogsInBook(get_frogs_img(frogs[i][0]), 100 + 120 * col + 1, 375 + 40 * row + 1, all_sprites)
|
|
all_sprites.draw(screen)
|
|
all_sprites.update()
|
|
# myimage = pg.image.load(get_frogs_img(frogs[i][0]))
|
|
# scaled_image = pg.transform.smoothscale(myimage, (34, 34))
|
|
# screen.blit(scaled_image, (100 + 120 * col + 1, 375 + 40 * row + 1))
|
|
|
|
pg.draw.rect(screen, (0, 0, 0), (100 + 120 * col, 375 + 40 * row, 35, 35),
|
|
3) # Рамка с портретом лягушки
|
|
text = font.render(f'{frogs[i][0]} - ', True, (255, 255, 255))
|
|
screen.blit(text, (140 + 120 * col, 375 + 40 * row))
|
|
text = font.render(f'{frogs[i][-1][0]}% зд.,', True, (255, 255, 255))
|
|
screen.blit(text, (140 + 120 * col, 385 + 40 * row))
|
|
text = font.render(f'{frogs[i][-1][1]}% голода', True, (255, 255, 255))
|
|
screen.blit(text, (140 + 120 * col, 395 + 40 * row))
|