Python зробити інвентар в якому можна додавати і видаляти речі?

Информатика | 5 - 9 классы

Python зробити інвентар в якому можна додавати і видаляти речі.

Ответить на вопрос
Ответы (1)
Mashaym123 7 апр. 2024 г., 11:26:26

Ответ :

import pygame

import sys

import random

pygame.

Init()

# Определение цветов

BLACK = (0, 0, 0)

WHITE = (255, 255, 255)

GRAY = (200, 200, 200)

# Инициализация окна

WIDTH, HEIGHT = 800, 600

CELL_SIZE = 50

screen = pygame.

Display.

Set_mode((WIDTH, HEIGHT))

pygame.

Display.

Set_caption("Инвентарь")

# Инициализация инвентаря (8x8 сетка)

inventory_rows = 8

inventory_cols = 8

inventory = [["" for i in range(inventory_cols)] for j in range(inventory_rows)]

# Генерация случайных квадратиков

squares = [{"color" : (random.

Randint(0, 255), random.

Randint(0, 255), random.

Randint(0, 255)), "rect" : pygame.

Rect(random.

Randint(0, WIDTH - CELL_SIZE), random.

Randint(CELL_SIZE, HEIGHT - CELL_SIZE), CELL_SIZE, CELL_SIZE), "dragging" : False} for _ in range(5)] # Создаем 5 случайных квадратиков

# Основной цикл игры

while True : for event in pygame.

Event.

Get() : if event.

Type = = pygame.

QUIT : pygame.

Quit() sys.

Exit() elif event.

Type = = pygame.

KEYDOWN : if event.

Key = = pygame.

K_a : # Добавление предмета в первую пустую ячейку инвентаря for i in range(inventory_rows) : for j in range(inventory_cols) : if inventory[i][j] = = "" : inventory[i][j] = "Предмет" break elif event.

Type = = pygame.

MOUSEBUTTONDOWN : if event.

Button = = 1 : # Левая кнопка мыши for square in squares : if square["rect"].

Collidepoint(event.

Pos) : square["dragging"] = True elif event.

Type = = pygame.

MOUSEBUTTONUP : if event.

Button = = 1 : for square in squares : if square["dragging"] : # Проверяем, находится ли квадратик над инвентарем for i in range(inventory_rows) : for j in range(inventory_cols) : cell_rect = pygame.

Rect(j * CELL_SIZE, i * CELL_SIZE + CELL_SIZE, CELL_SIZE, CELL_SIZE) if cell_rect.

Collidepoint(square["rect"].

Center) : inventory[i][j] = "Предмет" break square["dragging"] = False for square in squares : if square["dragging"] : square["rect"].

Center = pygame.

Mouse.

Get_pos() # Отображение инвентаря и квадратиков screen.

Fill(WHITE) pygame.

Draw.

Rect(screen, BLACK, (0, 0, WIDTH, CELL_SIZE)) # Заголовок "Инвентарь" font = pygame.

Font.

Font(None, 36) text = font.

Render("Инвентарь : {}".

Format(sum(row.

Count("Предмет") for row in inventory)), True, WHITE) screen.

Blit(text, (10, 5)) for i in range(inventory_rows) : for j in range(inventory_cols) : color = WHITE if (i + j) % 2 = = 0 else GRAY pygame.

Draw.

Rect(screen, color, (j * CELL_SIZE, i * CELL_SIZE + CELL_SIZE, CELL_SIZE, CELL_SIZE)) if inventory[i][j] !

= "" : font = pygame.

Font.

Font(None, 20) text = font.

Render(inventory[i][j], True, BLACK) screen.

Blit(text, (j * CELL_SIZE + 10, i * CELL_SIZE + CELL_SIZE + 10)) for square in squares : pygame.

Draw.

Rect(screen, square["color"], square["rect"]) pygame.

Display.

Flip().

Aistk 10 апр. 2024 г., 22:22:40 | студенческий

Посторойте алгоритм в Python, чтобы он писал имя аня?

Посторойте алгоритм в Python, чтобы он писал имя аня.

Квазимод 7 янв. 2024 г., 04:39:13 | 10 - 11 классы

Даю 50 баловНаписать код на python?

Даю 50 балов

Написать код на python.

Dnr12 19 мар. 2024 г., 12:58:01 | 10 - 11 классы

Сделайте код на Python, где спрашиваться, "Как у вас дела"?

Сделайте код на Python, где спрашиваться, "Как у вас дела"?

​.

Коко12345ко 16 янв. 2024 г., 11:56:07 | 5 - 9 классы

Помогите пожалуйста решить на языке “Python”?

Помогите пожалуйста решить на языке “Python”.

Nata197 27 янв. 2024 г., 01:50:57 | 5 - 9 классы

Мова програмування Python, допоможіть прошу​?

Мова програмування Python, допоможіть прошу

​.

Настасья55555 9 февр. 2024 г., 17:51:38 | студенческий

Записать на языке Python ?

Записать на языке Python :

Nastiaalone1 29 мар. 2024 г., 07:15:31 | 10 - 11 классы

[Python Turtle] Выполнить задание с картинки?

[Python Turtle] Выполнить задание с картинки.

10ilik 29 мар. 2024 г., 11:37:11 | 10 - 11 классы

Как нельзя описывать переменные в Python​?

Как нельзя описывать переменные в Python​.

Katushaangel19 21 февр. 2024 г., 03:59:13 | студенческий

Записать по правилам python следующие выражения ?

Записать по правилам python следующие выражения :

Evgeniy70 22 мар. 2024 г., 06:42:11 | 5 - 9 классы

Чи можна достроково зупинити виконання команди Повторити?

Чи можна достроково зупинити виконання команди Повторити?

Як саме?

Вопрос Python зробити інвентар в якому можна додавати і видаляти речі?, расположенный на этой странице сайта, относится к категории Информатика и соответствует программе для 5 - 9 классов. Если ответ не удовлетворяет в полной мере, найдите с помощью автоматического поиска похожие вопросы, из этой же категории, или сформулируйте вопрос по-своему. Для этого ключевые фразы введите в строку поиска, нажав на кнопку, расположенную вверху страницы. Воспользуйтесь также подсказками посетителей, оставившими комментарии под вопросом.