Как сделать?
…
Использовать статичные картинки - это одно. Создать полноценную графическую игру - другое.
Движки для стратегий есть. Например, Stratagus.
act ‘Выбрать камень’: $player_atack=‘камень’ & ‘Вы выбрали камень’
act ‘Выбрать ножницы’: $player_atack=‘ножницы’ & ‘Вы выбрали ножницы’
act ‘Выбрать бумагу’: $player_atack=‘бумагу’ & ‘Вы выбрали бумагу’
act ‘Ход противника’:
$enemy_atack[0]=‘камень’
$enemy_atack[1]=‘ножницы’
$enemy_atack[2]=‘бумагу’
$result_enemy=$enemy_atack[rand(0,2)]
‘Противник поставил <<$result_enemy>>’
if $result_enemy=$player_atack: ‘Ничья’
if ($result_enemy=‘ножницы’ and $player_atack=‘бумагу’) or ($result_enemy=‘бумагу’ and $player_atack=‘камень’) or($result_enemy=‘камень’ and $player_atack=‘ножницы’): ‘Вы проиграли’
if ($result_enemy=‘бумагу’ and $player_atack=‘ножницы’) or ($result_enemy=‘камень’ and $player_atack=‘бумагу’) or($result_enemy=‘ножницы’ and $player_atack=‘камень’): ‘Вы выиграли’
end
Подскажите на примере, как сделать так, чтобы игра шла до определенного количества побед/поражений? Не знаю как правильно переменные прописать и где)
Как сделать так чтобы при нажатии на предмет в инвентаре появлялась картинка?
Как сделать так чтобы вовремя игры играла музыка?
Mergan:
Подскажите на примере, как сделать так, чтобы игра шла до определенного количества побед/поражений?
Выкладываю пример.
snail:
Выкладываю пример.
Большое спасибо)
Как реализовать прочтение письма из инвентаря бесконечное количество раз в любой момент?
Rioka:
Как сделать так чтобы при нажатии на предмет в инвентаре появлялась картинка?
Как сделать так чтобы вовремя игры играла музыка?
Предположим, мы хотим, чтобы при выборе предмета «Деньги» появлялась картинка из файла money.png, и всё время играла музыка из файла story.mid. Если бы программу писал я, я сделал бы так:
# Начало
$onobjsel = 'onobjsel'
$counter = 'counter'
addobj 'Деньги'
$music = 'story.mid'
--- Начало ---------------------------------
# counter
if no isplay($music): play $music
--- counter ---------------------------------
# onobjsel
if $selobj = 'Деньги':
view 'money.png'
unsel
end
--- onobjsel ---------------------------------
Если что-то неправильно, пусть меня поправят.
Я хочу, чтобы числовая переменная, имела свой аналог в текстовом виде. Короче, я написал так:
Spoiler
$здоровье[10]="Здоров"
$здоровье[9]="Слегка ранен"
$здоровье[8]="Слегка ранен"
$здоровье[7]="Глубокая рана"
$здоровье[6]="Глубокая рана"
$здоровье[5]="Серьезное ранение"
и чтобы потом, вместо <<$здоровье>> были написаны не цифры, а текст. Например, если у персонажа здоровье 7 и переменная соответственно равна 7, то было написано “Глубокая рана”. Но почему-то у меня эта конструкция не работает, хотя вроде как должна. Как надо сделать, чтобы получилось то, что я хочу?
здоровье=7
$здоровье[7]=“Глубокая рана”
$урон=$здоровье[здоровье]
msg ‘<<$урон>>’
Вы меня, судя по всему, не поняли, так как и я вас тоже нет. Мне надо, чтобы вместо чисел отображался текст, чтобы за каждое число, отвечал какой-то свой текст. Кто-то уже задавал этот вопрос, ему ответили, но как всегда трудно найти среди сотен страниц. Надо еще поискать.
Можете посмотреть код? У меня получается что шанс разбудить хозяйку 100%, а должен быть 50 на 50.
if sha=0:
if afk=1:
act "Пробраться в дом и взять еду":
chance=rand(1,2)
end
end
if chance=1:
pl "Вы взяли еду"
addobj "Еда"
eda=1
else
pl "Пол заскрипел, вы разбудили хозяйку, которая выгнала вас из дома"
sha=1
end
end
end
Благодарю :)
RomaDova,
я тоже тебя не понял.
почему-то у меня эта конструкция не работает
Выложи, пожалуйста, код неработающей конструкции.
SneakBug8,
проверку переменной chance и остальное (взять еду либо разбудить хозяйку) нужно переместить внутрь действия “Пробраться в дом и взять еду”.
if sha=0:
if afk=1:
act "Пробраться в дом и взять еду":
chance=rand(1,2)
if chance=1:
pl "Вы взяли еду"
addobj "Еда"
eda=1
else
pl "Пол заскрипел, вы разбудили хозяйку, которая выгнала вас из дома"
sha=1
end
end
end
end
snail:
RomaDova,
я тоже тебя не понял.почему-то у меня эта конструкция не работает
Выложи, пожалуйста, код неработающей конструкции.
SneakBug8,
проверку переменной chance и остальное (взять еду либо разбудить хозяйку) нужно переместить внутрь действия “Пробраться в дом и взять еду”.if sha=0: if afk=1: act "Пробраться в дом и взять еду": chance=rand(1,2) if chance=1: pl "Вы взяли еду" addobj "Еда" eda=1 else pl "Пол заскрипел, вы разбудили хозяйку, которая выгнала вас из дома" sha=1 end end end end
Thanks. А какой командой можно остановить все звуки в игре?
Так, я это и сделал.
Spoiler
Сначала каждому числу дается свое текстовое пояснение
$здоровье[10]="Здоров"
$здоровье[9]="Слегка ранен"
$здоровье[8]="Слегка ранен"
$здоровье[7]="Глубокая рана"
$здоровье[6]="Глубокая рана"
$здоровье[5]="Серьезное ранение"
… и т.д.
В игре будет возможность проверить свое здоровье и если оно полное, то бишь переменная “здоровье” равна 10, то будет написано “Здоров”, если упадет до 5 например, то текстовое значение сменится на “Серьезное ранение”, но это по замыслу. В итоге, у меня постоянно отображается “Мертв”, так как это слово присвоено к $здоровье[0], вне зависимости от того, какой на самом деле уровень здоровья. Конечно все можно было бы сделать так
if здоровье=10:
msg "Здоров"
end
и т.д., но в некоторых случаях, эта штука слишком громоздкая, а я не люблю огроменные строки кода с незнакомыми операторами - в этой куче трудно найти ошибку. Если на то пошло, там вообще трудно что-то найти.