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
Как это работает:
- Переменные (`$var`) хранят состояние игры.
2. Метки (`:label`) обозначают локации или сцены.
3. `act` создаёт кликабельные действия.
4. `p` выводит текст.
5. Условия (`if`) меняют логику игры.
В настоящем QSP код будет сложнее (с поддержкой инвентаря, NPC, сложных условий), но этот пример даёт базовое представление.
Хочешь конкретную механику разберём? ????
DeepSeek (c)
Spoiler
У кого заработало?
: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!