Pygame - Редактор двумерной карты с сохранением

Поділитися
Вставка
  • Опубліковано 29 гру 2024

КОМЕНТАРІ • 7

  • @SP_StudioGAMES
    @SP_StudioGAMES Рік тому

    спасибо за туториал! щас буду для игровго движка редактор писать!

  • @migamestv0_0
    @migamestv0_0 2 роки тому +2

    Братан спасибо что объяснил, я не знал как делать карты. Очень помог!!!!

  • @DS-sf3ev
    @DS-sf3ev Рік тому

    классный урок!

  • @mkdm3617
    @mkdm3617 2 роки тому

    Йоу у тебя рабочий стол как и мой лол!

  • @FXUNDPLXGG
    @FXUNDPLXGG 2 роки тому

    Молодец , советую почитать об "сериализации"

  • @DenisTrebushnikov
    @DenisTrebushnikov 2 роки тому +1

    я, конечно, нуб, но мне видится, что небольшой рефактор обработки загрузки не помешает, т.к. редактировать текстовый файл пользователем - дело тоже важное, тем более, что многие игры берут именно строки, или даже блоки строк из текстового файла. Это пока мой лучший и *рабочий* вариант, мы избавились от двух циклов (сократив вложенность на 1), файлы закрываются сами, и сами текстовые файлы выглядят красивее.
    [____if event.type == pygame.KEYDOWN and event.key == pygame.K_s:
    with open('test_map.txt', 'w') as file:
    for row in world: # Нам не нужно перебирать колонки, возьмем сразу ряды целиком из самого "мира"
    file.writelines(f'{(str(row))}
    ') # и запишем их построчно; для этого форматированная строка с символом переноса строки

    print('Карта сохранена!')
    if event.type == pygame.KEYDOWN and event.key == pygame.K_l:
    try:
    with open('test_map.txt', 'r') as file:
    lines = file.read()
    row, col = 0, 0
    for letter in lines:
    if letter.isdigit(): # т.к. мы знаем, что храним числа - проверяем, если символ является строковой записью числа - вытаскиваем.
    world[row][col] = int(letter)
    col += 1
    if col >= worldWidth:
    row += 1
    col = 0
    except:
    print('Файл карты не найден')___]

  • @khorass
    @khorass 2 роки тому

    а как можно наложить текстуру ?