def draw_game_over(): global USERNAME, mas, score, GAMERS_DB img2048 = pygame.image.load('2048_logo.png') font = pygame.font.SysFont('comicsansms', 45) text_game_over = font.render('Game over! ', True, WHITE) text_score = font.render(f'Your score is {score} ', True, WHITE) best_score = GAMERS_DB[0][1] if score > best_score: text = 'New record!' else: text = f'Best score is {best_score}' text_record = font.render(text, True, WHITE) insert_result(USERNAME, score) GAMERS_DB = get_best() make_decision = False while not make_decision: for event in pygame.event.get(): if event.type == pygame.QUIT: pygame.quit() sys.exit(0) elif event.type == pygame.KEYDOWN: if event.key == pygame.K_SPACE: make_decision = True init_const() elif event.type == pygame.K_RETURN: USERNAME = None make_decision = True init_const() screen.fill(BLACK) screen.blit(text_game_over, (220, 80)) screen.blit(text_score, (30, 250)) screen.blit(text_record, (30, 300)) screen.blit(pygame.transform.scale(img2048, [200, 200]), [10, 10]) pygame.display.update() screen.fill(BLACK)
def similar_user_recs(user): sim_user_list = get_similar(user) if not sim_user_list: return ('No data available on user {}'.format(user)) best = [] most_common = {} for i in sim_user_list: best.append( get_best(i)) #give user id, return a list of tv with max score for i in range(len(best)): for j in best[i]: if j in most_common: most_common[j] += 1 else: most_common[j] = 1 sorted_list = sorted(most_common.items(), key=operator.itemgetter(1), reverse=True) return sorted_list[:5], [sorted_list[i][0] for i in range(5)]
def draw_game_over(): global USERNAME, mas, score, GAMERS_DB img2048 = pygame.image.load('IMG2048.png') font = pygame.font.SysFont("comicsansms", 50) text_game_over = font.render("Game over!", True, WHITE) text_score = font.render(f"Your score {score} ", True, WHITE) best_score = GAMERS_DB[0][1] if score > best_score: text = "New record" else: text = f"Record {best_score}" text_record = font.render(text, True, WHITE) insert_result(USERNAME, score) GAMERS_DB = get_best() make_disicion = False while not make_disicion: for event in pygame.event.get(): if event.type == pygame.QUIT: pygame.quit() sys.exit(0) elif event.type == pygame.KEYDOWN: if event.key == pygame.K_SPACE: make_disicion = True init_const() # restart with name elif event.key == pygame.K_RETURN: # restart without name USERNAME = None make_disicion = True init_const() screen.fill(BLACK) screen.blit(text_game_over, (220, 80)) screen.blit(text_score, (30, 250)) screen.blit(text_record, (30, 300)) screen.blit(pygame.transform.scale(img2048, [200, 200]), [10, 10]) pygame.display.update() screen.fill(BLACK)
def draw_game_over(): # функция завершающей заставки global USERNAME, mas, score, GAMERS_DB img2048 = pygame.image.load('og_image.png') font = pygame.font.SysFont("comicsansms", 50) text_game_over = font.render("Game over!", True, WHITE) text_score = font.render(f"Вы набрали {score}", True, WHITE) best_score = GAMERS_DB[0][1] if score > best_score: # условие, побит ли рекорд? text = "Рекорд побит" else: text = f"Рекорд {best_score}" text_record = font.render(text, True, WHITE) insert_result(USERNAME, score) GAMERS_DB = get_best() make_disicion = False while not make_disicion: # бесконечный цикл, в котором обрабатываются события for event in pygame.event.get(): if event.type == pygame.QUIT: pygame.quit() sys.exit(0) elif event.type == pygame.KEYDOWN: if event.key == pygame.K_SPACE: # restart game with name make_disicion = True init_const() elif event.key == pygame.K_RETURN: # restart gamr without name USERNAME = None make_disicion = True init_const() screen.fill(BLACK) screen.blit(text_game_over, (220, 85)) screen.blit(text_score, (30, 250)) screen.blit(text_record, (30, 300)) screen.blit(pygame.transform.scale(img2048, [200, 200]), [10, 10]) pygame.display.update() screen.fill(BLACK)
def draw_game_over(): global USERNAME, mas, score, GAMERS_DB img2048 = pygame.image.load('image.png') font = pygame.font.SysFont('comicsansms', 45) text_game_over = font.render('Game over!', True, white) text_score = font.render(f'Вы набрали {score}', True, white) best_score = GAMERS_DB[0][1] if score > best_score: text = 'Рекорд побит' else: text = f'Рекорд {best_score}' text_record = font.render(text, True, white) insert_result(USERNAME, score) GAMERS_DB = get_best() make_decision = False while not make_decision: for event in pygame.event.get(): if event.type == pygame.QUIT: pygame.quit() sys.exit(0) elif event.type == pygame.KEYDOWN: if event.key == pygame.K_SPACE: # restart game with name make_decision = True init_const() elif event.key == pygame.K_RETURN: # restart game without name USERNAME = None make_decision = True init_const() screen.fill(black) screen.blit(text_game_over, (220, 80)) screen.blit(text_score, (30, 250)) screen.blit(text_record, (30, 320)) screen.blit(pygame.transform.scale(img2048, [200, 200]), [10, 10]) pygame.display.update() screen.fill(black)
def draw_game_over(): global USERNAME, mas, score, GAMERS_DB img = pygame.image.load("2048_logo.svg.png") font_game_end = pygame.font.SysFont("simsum", 70) text_game_end = font_game_end.render("The end", True, WHITE) text_score = font_game_end.render('Your score is: {0}'.format(score), True, WHITE) best_score = GAMERS_DB[0][1] if score > best_score: text = "YOU WIN" else: text = 'Record {0}'.format(best_score) text_record = font_game_end.render(text, True, WHITE) insert_result(USERNAME, score) GAMERS_DB = get_best() make_desigion = False while not make_desigion: for event in pygame.event.get(): if event.type == pygame.QUIT: pygame.quit() sys.exit(0) elif event.type == pygame.KEYDOWN: if event.key == pygame.K_SPACE: # restart with name make_desigion = True init_const() elif event.key == pygame.K_RETURN: # restart new gamer USERNAME = None make_desigion = True init_const() screen.fill(BLACK) screen.blit(text_game_end, (220, 80)) screen.blit(text_score, (30, 250)) screen.blit(text_record, (30, 300)) screen.blit(pygame.transform.scale(img, [200, 200]), [10, 10]) pygame.display.update() screen.fill(BLACK)
from logics import * import pygame import sys from database import get_best, cur, insert_result import json import os GAMERS_DB = get_best() def draw_top_gamers(): font_top = pygame.font.SysFont("comicsansms", 20) font_gamer = pygame.font.SysFont("comicsansms", 20) text_head = font_top.render("Best tries:", True, COLOR_TEXT) screen.blit(text_head, (260, 5)) for index, gamer in enumerate(GAMERS_DB): name, score = gamer s = f"{index + 1}. {name} - {score}" text_gamer = font_gamer.render(s, True, COLOR_TEXT) screen.blit(text_gamer, (260, 23 + 23 * index)) print(index, name, score) def draw_interface(score, delta=0): pygame.draw.rect(screen, WHITE, TITLE_REC) font = pygame.font.SysFont("comicsansms", 70) font_score = pygame.font.SysFont("comicsansms", 38) font_delta = pygame.font.SysFont("comicsansms", 25) text_score = font_score.render("Score :", True, COLOR_TEXT) text_score_value = font_score.render(f"{score}", True, COLOR_TEXT)