починил авторизацию, ускорил систему с помощью сервера, сделал спрайты по правильному
This commit is contained in:
+10
-3
@@ -1,5 +1,6 @@
|
||||
import pygame as pg
|
||||
from modules import DB
|
||||
from modules.sprites import FrogsInBook
|
||||
|
||||
|
||||
def get_frogs_img(name):
|
||||
@@ -65,9 +66,15 @@ class Book: # Окно с необходимой информацией
|
||||
i = row + 6
|
||||
else:
|
||||
i = row + 9
|
||||
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))
|
||||
|
||||
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))
|
||||
|
||||
+2
-2
@@ -2,6 +2,7 @@ import pygame
|
||||
import pygame_menu
|
||||
import configparser
|
||||
from modules.DB import UseDB
|
||||
import requests
|
||||
|
||||
|
||||
def set_difficulty(value: dict, _) -> None:
|
||||
@@ -44,8 +45,7 @@ def start_new_game() -> None:
|
||||
config['Settings']['sound'] = sound # перезаписываю настройку звука
|
||||
with open('conf/config.ini', 'w') as configfile: # открываю файл для записи
|
||||
config.write(configfile) # записываю
|
||||
db = UseDB("game")
|
||||
db.create_new_game()
|
||||
requests.get("http://194.61.1.147:52540/create_new_game")
|
||||
menu.toggle() # останавливаю меню
|
||||
|
||||
|
||||
|
||||
+8
-30
@@ -1,44 +1,22 @@
|
||||
from modules.DB import UseDB
|
||||
from loguru import logger
|
||||
import random
|
||||
import configparser
|
||||
import requests
|
||||
|
||||
|
||||
def get_random_event():
|
||||
db = UseDB("events")
|
||||
response = db.find_document({})
|
||||
random_event = random.choices([i["_id"] for i in response],
|
||||
weights=[i["probability"] for i in response])
|
||||
return db.find_document({"_id": random_event[0]})[0]
|
||||
response = requests.get("http://194.61.1.147:52540/get_random_event")
|
||||
return response.json()
|
||||
|
||||
|
||||
def recalculation_events(well):
|
||||
difficulties = {
|
||||
"Простая": [5, 5],
|
||||
"Средняя": [5, 2],
|
||||
"Сложная": [5, 1],
|
||||
"Проигрывать весело": [10, 1]
|
||||
}
|
||||
config = configparser.ConfigParser()
|
||||
config.read("conf/config.ini")
|
||||
difficulty = config['Settings']['difficulty']
|
||||
db = UseDB("events")
|
||||
not_well_events = db.find_document({"well": False})
|
||||
well_events = db.find_document({"well": True})
|
||||
if well:
|
||||
for i in not_well_events:
|
||||
db.update_document({"_id": i["_id"]},
|
||||
{"probability": i["probability"] + difficulties[difficulty][0]})
|
||||
ratio = len(not_well_events) * difficulties[difficulty][0] / len(well_events)
|
||||
for i in well_events:
|
||||
db.update_document({"_id": i["_id"]}, {"probability": i["probability"] - ratio})
|
||||
else:
|
||||
for i in well_events:
|
||||
db.update_document({"_id": i["_id"]},
|
||||
{"probability": i["probability"] + difficulties[difficulty][1]})
|
||||
ratio = len(well_events) * difficulties[difficulty][1] / len(not_well_events)
|
||||
for i in not_well_events:
|
||||
db.update_document({"_id": i["_id"]}, {"probability": i["probability"] - ratio})
|
||||
requests.get("http://194.61.1.147:52540/recalculation_events",
|
||||
params={
|
||||
"well": well,
|
||||
"difficulty": config['Settings']['difficulty']
|
||||
})
|
||||
|
||||
|
||||
def start_calculating():
|
||||
|
||||
+26
-18
@@ -7,16 +7,23 @@ class Game:
|
||||
def __init__(self):
|
||||
self.line = None
|
||||
self.old_color = None
|
||||
self.interval_x = None
|
||||
self.interval_y = None
|
||||
self.colors = [tuple([randrange(50, 256, 40) for _ in range(3)]) for _ in range(10)]
|
||||
self.interval_x = None
|
||||
self.colors = [(235, 26, 26), (235, 26, 235), (51, 51, 255),
|
||||
(255, 128, 0), (51, 255, 153), (255, 255, 0),
|
||||
(255, 255, 255), (139, 69, 19), (0, 255, 127),
|
||||
(255, 218, 185), (147, 112, 219), (128, 0, 128),
|
||||
(128, 128, 0), (47, 79, 79), (139, 0, 0),
|
||||
(255, 192, 203), (124, 252, 0), (46, 139, 87),
|
||||
(0, 128, 128), (0, 255, 255)]
|
||||
self.need_colors = sample(self.colors, 10)
|
||||
self.intervals_x = [(430, 460), (350, 430), (245, 350), (165, 245), (130, 165), (130, 165), (165, 245),
|
||||
(245, 350), (350, 430), (430, 460)]
|
||||
self.intervals_y = [(170, 265), (113, 170), (113, 113), (113, 170), (170, 265), (265, 360), (360, 425),
|
||||
(425, 425), (365, 425), (265, 365)]
|
||||
self.line_color = choice(self.colors)
|
||||
self.line_color = choice(self.need_colors)
|
||||
self.clock = pg.time.Clock()
|
||||
self.speed = 15 # Здесь можно менять скорость
|
||||
self.speed = 25 # Здесь можно менять скорость
|
||||
self.right = False
|
||||
self.lose = False
|
||||
self.corner = 440
|
||||
@@ -25,25 +32,25 @@ class Game:
|
||||
self.y = 430
|
||||
|
||||
def render(self, screen_move): # Создание круга из случайных цветов и стрелки
|
||||
pg.draw.arc(screen_move, (self.colors[0]),
|
||||
pg.draw.arc(screen_move, (self.need_colors[0]),
|
||||
(120, 90, 350, 350), 0, pi / 5, 7)
|
||||
pg.draw.arc(screen_move, (self.colors[1]),
|
||||
pg.draw.arc(screen_move, (self.need_colors[1]),
|
||||
(120, 90, 350, 350), pi / 5, 2 * pi / 5, 7)
|
||||
pg.draw.arc(screen_move, (self.colors[2]),
|
||||
pg.draw.arc(screen_move, (self.need_colors[2]),
|
||||
(120, 90, 350, 350), 2 * pi / 5, 3 * pi / 5, 7)
|
||||
pg.draw.arc(screen_move, (self.colors[3]),
|
||||
pg.draw.arc(screen_move, (self.need_colors[3]),
|
||||
(120, 90, 350, 350), 3 * pi / 5, 4 * pi / 5, 7)
|
||||
pg.draw.arc(screen_move, (self.colors[4]),
|
||||
pg.draw.arc(screen_move, (self.need_colors[4]),
|
||||
(120, 90, 350, 350), 4 * pi / 5, pi, 7)
|
||||
pg.draw.arc(screen_move, (self.colors[5]),
|
||||
pg.draw.arc(screen_move, (self.need_colors[5]),
|
||||
(120, 90, 350, 350), pi, 6 * pi / 5, 7)
|
||||
pg.draw.arc(screen_move, (self.colors[6]),
|
||||
pg.draw.arc(screen_move, (self.need_colors[6]),
|
||||
(120, 90, 350, 350), 6 * pi / 5, 7 * pi / 5, 7)
|
||||
pg.draw.arc(screen_move, (self.colors[7]),
|
||||
pg.draw.arc(screen_move, (self.need_colors[7]),
|
||||
(120, 90, 350, 350), 7 * pi / 5, 8 * pi / 5, 7)
|
||||
pg.draw.arc(screen_move, (self.colors[8]),
|
||||
pg.draw.arc(screen_move, (self.need_colors[8]),
|
||||
(120, 90, 350, 350), 8 * pi / 5, 9 * pi / 5, 7)
|
||||
pg.draw.arc(screen_move, (self.colors[9]),
|
||||
pg.draw.arc(screen_move, (self.need_colors[9]),
|
||||
(120, 90, 350, 350), 9 * pi / 5, 2 * pi, 7)
|
||||
pg.draw.line(screen_move, self.line_color, [300, 270], [self.x, self.y], 9)
|
||||
|
||||
@@ -64,13 +71,14 @@ class Game:
|
||||
if color_change:
|
||||
self.old_color = self.line_color
|
||||
while self.old_color == self.line_color:
|
||||
self.line_color = choice(self.colors)
|
||||
self.line_color = choice(self.need_colors)
|
||||
|
||||
self.interval_x = self.intervals_x[self.colors.index(self.old_color)]
|
||||
self.interval_y = self.intervals_y[self.colors.index(self.old_color)]
|
||||
self.interval_x = self.intervals_x[self.need_colors.index(self.old_color)]
|
||||
self.interval_y = self.intervals_y[self.need_colors.index(self.old_color)]
|
||||
if self.interval_x[0] <= round(self.x) <= self.interval_x[1] and \
|
||||
((round(self.y) <= self.interval_y[0] == self.interval_y[1]) or
|
||||
(self.interval_y[0] <= round(self.y) <= self.interval_y[1])):
|
||||
(self.interval_y[0] <= round(self.y) <= self.interval_y[1]) or
|
||||
(round(self.y) >= self.interval_y[0] == self.interval_y[1])):
|
||||
self.scores += 1
|
||||
self.speed += 10
|
||||
else:
|
||||
|
||||
@@ -0,0 +1,22 @@
|
||||
import os
|
||||
import sys
|
||||
import pygame
|
||||
|
||||
|
||||
def load_image(name, x, y):
|
||||
fullname = os.path.join(name)
|
||||
if not os.path.isfile(fullname):
|
||||
print(f"Файл с изображением '{fullname}' не найден")
|
||||
sys.exit()
|
||||
image = pygame.image.load(fullname)
|
||||
image = pygame.transform.smoothscale(image, (x, y))
|
||||
return image
|
||||
|
||||
|
||||
class FrogsInBook(pygame.sprite.Sprite):
|
||||
def __init__(self, img, x, y, *group):
|
||||
super().__init__(*group)
|
||||
self.image = load_image(img, 34, 34)
|
||||
self.rect = self.image.get_rect()
|
||||
self.rect.x = x
|
||||
self.rect.y = y
|
||||
Reference in New Issue
Block a user