Skip to content

Commit

Permalink
New stats
Browse files Browse the repository at this point in the history
  • Loading branch information
lenemter committed Feb 22, 2022
1 parent 94e4a45 commit 35f2bf3
Show file tree
Hide file tree
Showing 6 changed files with 36 additions and 69 deletions.
14 changes: 6 additions & 8 deletions SquareGame/death_screen.py
Original file line number Diff line number Diff line change
Expand Up @@ -22,24 +22,22 @@ def __init__(self, surface):
def run(self):
stats_keys = [
"Количество сыгранных игр: ",
"Количество смертей: ",
"Количество убитых врагов: ",
"Количество взятых прокачек: ",
"Количество взятого оружия: ",
"Количество взятых сердечек: ",
"Количество пройденных комнат: ",
"Количество пройденных уровней: ",
"Максимальный уровень: ",
"Количество взятого оружия: ",
"Количество взятых сердечек: ",
]

stats = [
str(globals.game.games),
str(globals.game.deaths),
str(globals.game.kills),
str(globals.game.upgrades),
str(globals.game.weapons),
str(globals.game.hearts),
str(globals.game.rooms),
str(globals.game.levels),
str(globals.game.max_level),
str(globals.game.weapons),
str(globals.game.hearts),
]

# Fonts
Expand Down
4 changes: 2 additions & 2 deletions SquareGame/floor_piece.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,14 @@

import globals
from common import BLOCK_SIZE_X, BLOCK_SIZE_Y
from globals import game_group_1, entropy_step
from globals import game_group_1, entropy_step, floor_pieces


class FloorPiece(pygame.sprite.Sprite):
color = pygame.color.Color("#253841")

def __init__(self, x, y, w=1, h=1):
super().__init__(game_group_1)
super().__init__(game_group_1, floor_pieces)

self.x = x
self.y = y
Expand Down
Binary file modified SquareGame/images/icon.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
16 changes: 8 additions & 8 deletions SquareGame/main.py
Original file line number Diff line number Diff line change
Expand Up @@ -38,31 +38,31 @@ def __init__(self, surface):
self.level = None

# Stats
self.deaths = 1
self.games = 1
self.kills = 0
self.upgrades = 0
self.weapons = 0
self.hearts = 0
self.rooms = 0
self.levels = 0
self.max_level = 0
self.weapons = 0
self.hearts = 0

def end(self):
update_stats(
{
"games": self.games,
"deaths": self.deaths,
"kills": self.kills,
"upgrades": self.upgrades,
"weapons": self.weapons,
"hearts": self.hearts,
"rooms": self.rooms,
"levels": self.levels,
"max_level": self.max_level,
"weapons": self.weapons,
"hearts": self.hearts,
}
)

def launch_level(self):
self.current_level += 1
if self.current_level > self.max_level:
self.max_level = self.current_level

self.level = generate_level()
clock = pygame.time.Clock()
Expand Down
1 change: 1 addition & 0 deletions SquareGame/stats.json
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{"games": 1, "kills": 9, "rooms": 8, "levels": 1, "max_level": 2, "weapons": 1, "hearts": 0}
70 changes: 19 additions & 51 deletions SquareGame/stats.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,51 +10,39 @@

"""
games = Количество сыгранных игр
deaths = Количество смертей
kills = Количество убитых врагов
upgrades = Количество взятых прокачек
weapons = Количество взятого оружия
hearts = Количество взятых сердечек
rooms = Количество пройденных комнат
levels = Количество пройденных уровней
max_level = Максимальный уровень
weapons = Количество взятого оружия
hearts = Количество взятых сердечек
"""

title_font = pygame.font.Font("fonts/Press_Start_2P/PressStart2P-Regular.ttf", 20)
stats_font = pygame.font.Font("fonts/Press_Start_2P/PressStart2P-Regular.ttf", 16)

default_stats = {
"games": 0,
"kills": 0,
"rooms": 0,
"levels": 0,
"max_level": 0,
"weapons": 0,
"hearts": 0,
}

def update_stats(added_stats):
existence = os.path.exists(STATS_FILE_PATH)

if not existence:
defult_stats = {
"games": 0,
"deaths": 0,
"kills": 0,
"upgrades": 0,
"weapons": 0,
"hearts": 0,
"rooms": 0,
"levels": 0,
}

with open(STATS_FILE_PATH, mode="w", encoding="UTF-8") as stats_file_writer:
json.dump(defult_stats, stats_file_writer)
json.dump(default_stats.copy(), stats_file_writer)

with open(STATS_FILE_PATH, mode="r", encoding="UTF-8") as stats_file_reader:
try:
stats = json.load(stats_file_reader)
except json.JSONDecodeError:
stats = {
"games": 0,
"deaths": 0,
"kills": 0,
"upgrades": 0,
"weapons": 0,
"hearts": 0,
"rooms": 0,
"levels": 0,
}
stats = default_stats.copy()
logging.error(f"Unable to load stats from {STATS_FILE_PATH}")

for key in added_stats:
Expand All @@ -68,47 +56,27 @@ def render_stats(surface):
existence = os.path.exists(STATS_FILE_PATH)

if not existence:
default_stats = {
"games": 0,
"deaths": 0,
"kills": 0,
"upgrades": 0,
"weapons": 0,
"hearts": 0,
"rooms": 0,
"levels": 0,
}
with open(STATS_FILE_PATH, mode="w", encoding="UTF-8") as stats_file_writer:
json.dump(default_stats, stats_file_writer)
json.dump(default_stats.copy(), stats_file_writer)

with open(STATS_FILE_PATH, mode="r", encoding="UTF-8") as stats_file_reader:
try:
stats = json.load(stats_file_reader)
except json.JSONDecodeError:
stats = {
"games": 0,
"deaths": 0,
"kills": 0,
"upgrades": 0,
"weapons": 0,
"hearts": 0,
"rooms": 0,
"levels": 0,
}
stats = default_stats.copy()
logging.error(f"Unable to load stats from {STATS_FILE_PATH}")

text = title_font.render("Статистика:", FONT_ANTIALIAS, STATS_COLOR)
surface.blit(text, ((surface.get_width() - text.get_width()) // 2, 400))

stats_keys = [
"Количество сыгранных игр: ",
"Количество смертей: ",
"Количество убитых врагов: ",
"Количество взятых прокачек: ",
"Количество взятого оружия: ",
"Количество взятых сердечек: ",
"Количество пройденных комнат: ",
"Количество пройденных уровней: ",
"Максимальный уровень: ",
"Количество взятого оружия: ",
"Количество взятых сердечек: ",
]

stats = [str(value) for value in stats.values()]
Expand Down

0 comments on commit 35f2bf3

Please sign in to comment.