RU

DeepSeek: пример игры на QSP

Ntropy Moderator 26.03.2025 09:14 2 comments 1584 views

Вот простой пример текстовой игры, написанной в стиле QSP (Quest Soft Player). Это классический “выбор пути” с инвентарём, переменными и взаимодействиями.

“Побег из подземелья”

(Упрощённый код на QSP-подобном языке)

! Инициализация переменных

$loc = 'start'

$has_key = false

$health = 100



! Стартовая локация

:start

cls

p 'Вы очнулись в темнице. Каменные стены, лужи воды на полу, тусклый свет факелов.'

p '1 - Осмотреться'

p '2 - Попробовать открыть дверь'

p '3 - Проверить карманы'

act 'Осмотреться', 'look_around'

act 'Попробовать открыть дверь', 'try_door'

act 'Проверить карманы', 'check_pockets'



:look_around

cls

p 'В углу вы замечаете ржавую железную дверь и разбитый бочонок.'

act 'Вернуться', 'start'



:try_door

cls

if $has_key:

    p 'Вы открываете дверь и сбегаете! Победа!'

    act 'Конец', 'end'

else:

    p 'Дверь заперта. Нужен ключ.'

    act 'Вернуться', 'start'



:check_pockets

cls

p 'В вашем кармане лежит странный ключ!'

$has_key = true

act 'Взять ключ', 'start'



:end

p 'Спасибо за игру!'

exit

Как это работает:

  1. Переменные (`$var`) хранят состояние игры.

2. Метки (`:label`) обозначают локации или сцены.

3. `act` создаёт кликабельные действия.

4. `p` выводит текст.

5. Условия (`if`) меняют логику игры.

В настоящем QSP код будет сложнее (с поддержкой инвентаря, NPC, сложных условий), но этот пример даёт базовое представление.

Хочешь конкретную механику разберём? ????
DeepSeek (c)

Spoiler

У кого заработало?

Aleks Versus Moderator 26.03.2025 09:58 (10 months ago)

:D всё напутано же. Не заработает без существенных правок.

# start

if no started:
    false = 0
    true = 1
    has_key = false
    health = 100
    started = true
end

*pl 'Вы очнулись в темнице. Каменные стены, лужи воды на полу, тусклый свет факелов.'
*pl '1 - Осмотреться'
*pl '2 - Попробовать открыть дверь'
*pl '3 - Проверить карманы'

act 'Осмотреться': goto 'look_around'
act 'Попробовать открыть дверь': goto 'try_door'
act 'Проверить карманы': goto 'check_pockets'
--

# look_around
*pl 'В углу вы замечаете ржавую железную дверь и разбитый бочонок.'
act 'Вернуться': goto 'start'
--

# try_door
if has_key:
    *pl 'Вы открываете дверь и сбегаете! Победа!'
    act 'Конец': goto 'end'
else:
    *pl 'Дверь заперта. Нужен ключ.'
    act 'Вернуться': goto 'start'
end
--

# check_pockets
*pl 'В вашем кармане лежит странный ключ!'
has_key = true
act 'Взять ключ': goto 'start'
--

# end
*p 'Спасибо за игру!'
--

можно конечно в одной локации и на джампах, но зачем? :)

Отличная идея научить DeepSeek / ChatGPT писать игры на QSP!

Log in or Register to post comments.