![]() |
В этом коде надо найти и исправить ошибки, вроде бы все правильно но пишет что есть ошибки
Код писал не я а нейросет дипсик import pygame import sys import random import math import os from pygame.locals import * from pygame import gfxdraw # Инициализация pygame.init() pygame.mixer.init() screen = pygame.display.set_mode((1280, 720), HWSURFACE | DOUBLEBUF) clock = pygame.time.Clock() class WorldGenerator: def __init__(self): self.palette = { 'time_rift': (45, 170, 255), 'chrono_steel': (80, 90, 100), 'void': (15, 25, 35), 'hud': (200, 220, 240) } def generate_terrain(self): terrain = pygame.Surface((1280, 720)) for y in range(720): for x in range(1280): n = math.sin(x * 0.01) * math.cos(y * 0.01) + random.random() * 0.1 color = [c * (0.4 + n * 0.6) for c in self.palette['chrono_steel']] terrain.set_at((x, y), color) return terrain class ChronoCore: def __init__(self): self.running = True self.phase = "dialogue" self.world = WorldGenerator() self.terrain = self.world.generate_terrain() self.font = pygame.font.SysFont('Arial', 24) self.save_file = "saves.txt" self.paradox_level = 0.0 self.current_era = 2023 self.player_pos = [640, 360] self.inventory = { 'crystals': 0, 'memories': [] } self.story_events = [ { 'year': 2023, 'text': "ВРЕМЕННОЙ РАЗРЫВ: Лаборатория квантовых исследований...\nВыберите действие:", 'choices': [ ("Активировать стабилизатор", "reduce_paradox"), ("Войти в портал", "era_1945") ] }, { 'year': 1945, 'text': "Альтернативная реальность: Третий Рейх победил...\nВыберите действие:", 'choices': [ ("Уничтожить лабораторию", "major_paradox"), ("Украсть чертежи", "add_memory") ] } ] self.current_event = 0 self.init_audio() def init_audio(self): if not os.path.exists('sounds'): os.makedirs('sounds') try: pygame.mixer.music.load('sounds/background.mp3') pygame.mixer.music.set_volume(0.3) pygame.mixer.music.play(-1) except Exception as e: print(f"Ошибка аудио: {e}") def save_game(self): try: with open(self.save_file, 'w') as f: f.write(f"era={self.current_era}\n") f.write(f"paradox={self.paradox_level}\n") f.write(f"crystals={self.inventory['crystals']}\n") f.write(f"memories={','.join(self.inventory['memories'])}\n") f.write(f"event={self.current_event}\n") except Exception as e: print(f"Ошибка сохранения: {e}") def load_game(self): try: if not os.path.exists(self.save_file): return with open(self.save_file, 'r') as f: data = {} for line in f.read().split('\n'): if '=' in line: key, val = line.split('=', 1) data[key] = val self.current_era = int(data.get('era', 2023)) self.paradox_level = float(data.get('paradox', 0)) self.inventory['crystals'] = int(data.get('crystals', 0)) self.inventory['memories'] = data.get('memories', '').split(',') self.current_event = int(data.get('event', 0)) except Exception as e: print(f"Ошибка загрузки: {e}") def draw_hud(self): bar_width = int(400 * (1 - self.paradox_level/100)) pygame.draw.rect(screen, (255,40,40), (20,20,400,30)) pygame.draw.rect(screen, (40,200,40), (20,20,bar_width,30)) text = self.font.render( f"Хроно-кристаллы: {self.inventory['crystals']}/7", True, self.world.palette['hud']) screen.blit(text, (20, 70)) def draw_dialogue(self, text, choices): dialog = pygame.Surface((800, 400), pygame.SRCALPHA) pygame.draw.rect(dialog, (30,40,50,200), (0,0,800,400), border_radius=20) lines = text.split('\n') for i, line in enumerate(lines): text_surf = self.font.render(line, True, (200,220,240)) dialog.blit(text_surf, (50, 30 + i*30)) for i, (choice, _) in enumerate(choices): btn = pygame.Rect(50, 150 + i*80, 700, 60) pygame.draw.rect(dialog, (60,70,80,200), btn, border_radius=15) text = self.font.render(choice, True, (160,180,200)) dialog.blit(text, (btn.x + 20, btn.centery - 10)) screen.blit(dialog, (240, 100)) def handle_choice(self, result): if result == "reduce_paradox": self.paradox_level = max(0, self.paradox_level - 25) elif result == "era_1945": self.current_era = 1945 elif result == "add_memory": self.inventory['memories'].append(f"Память {self.current_era}") self.save_game() self.current_event += 1 if self.current_event >= len(self.story_events): self.show_ending() else: self.phase = "dialogue" def show_ending(self): ending_text = ( "ХРОНО-ПАРАДОКС УСТАНОВЛЕН\n\n" f"Кристаллов собрано: {self.inventory['crystals']}/7\n" f"Уровень парадокса: {self.paradox_level}%\n" "Судьба временной линии зависит от ваших решений..." ) ending_screen = pygame.Surface((800, 400), pygame.SRCALPHA) pygame.draw.rect(ending_screen, (30,40,50,200), (0,0,800,400), border_radius=20) lines = ending_text.split('\n') for i, line in enumerate(lines): text = self.font.render(line, True, (200,220,240)) ending_screen.blit(text, (50, 30 + i*30)) screen.blit(ending_screen, (240, 100)) pygame.display.flip() pygame.time.wait(5000) self.running = False def run(self): self.load_game() if self.current_event >= len(self.story_events): self.show_ending() return while self.running: screen.fill(self.world.palette['void']) screen.blit(self.terrain, (0,0)) for event in pygame.event.get(): if event.type == QUIT: self.running = False if event.type == KEYDOWN: if event.key == K_ESCAPE: self.running = False if event.key == K_F5: self.save_game() if event.key == K_F9: self.load_game() if event.type == MOUSEBUTTONDOWN and self.phase == "dialogue": mouse_pos = pygame.mouse.get_pos() if 240 |
не знаю что ты хотел от нейросет дипсик, но на данный момент оно запускается, и даже даёт выбрать
https://forum.antichat.xyz/attachmen...8590e3a503.png https://forum.antichat.xyz/attachmen...9411c4e507.png |
| Время: 23:59 |