Как сделать?
…
Спасибо конечно,но мне все-таки нужна именно конкретика о том как сделать чтоб небыло таког идиотизма что например,в выводе потерь и убитых при подсчете если общая атака превышает,общую защиту и здоровья то потери больше имеющихся войск..
Orest,
урон_врага = атака_врага - защита_игрока
IF урон_врага < 0:
урон_врага = 0
END
IF урон_врага > здоровье_игрока:
урон_врага = здоровье_игрока
END
здоровье_игрока = здоровье_игрока - урон_врага
Nex, только, видимо, надо либо в конце добавлять урон_врага, либо в начале вычесть защиту из атаки.
Харч,
да, действительно. Обновил код.
Nex:
урон_врага = атака_врага - защита_игрока IF урон_врага < 0: урон_врага = 0 END IF урон_врага > здоровье_игрока: урон_врага = здоровье_игрока END здоровье_игрока = здоровье_игрока - урон_врага
Ну а чего бы не воспользоваться встроенными средствами Куспа, чтобы сделать код менее громоздким:
урон_врага = MAX(атака_врага - защита_игрока, 0)
здоровье_игрока = здоровье_игрока - MIN(урон_врага, здоровье_игрока)
Olegus t.Gl.,
я специально оставил с условиями, так понятнее новичку. Это во-первых.
Во-вторых, в твоём коде финальное значение переменной урона всё так же может превысить здоровье. Это имеет значение, если нанесённый урон показывается игроку: “убито N солдат”.
Orest:
чтоб небыло таког идиотизма что например,в выводе потерь и убитых при подсчете если общая атака превышает,общую защиту и здоровья то потери больше имеющихся войск..
Спасибо,ето полезный код но моя проблема таится не совсем в етом,вижу ты человек со светлой головой,скачай мою игру “Апокалиптика” и посмотри в коде что можно сделать, если не затруднит,буду весьма признателен…
Прости за навязчивость,просто я зделал такэе но в выводе потери все-равно выше имеющихся войск если атака выше здоровья…
Orest,
я не буду за тебя исправлять код. Учись это делать сам. Правильный код я тебе уже показал. Сравни свою логику боя с тем что я привёл, и исправь свой.
Я смотрел исходник. У тебя всё не так как в моём примере, ты пишешь что “сделал так же”, но ты не сделал.
Смотри. Правильный расчёт делается в четыре шага:
1. Вычисляется расчётный урон - из защиты игрока и атаки врага (со всеми модификаторами).
урон_врага = атака_врага - защита_игрока
2. Урон корректируется, чтобы если защита превышает атаку, то он не становился бы отрицательным.
IF урон_врага < 0:
урон_врага = 0
END
3. Далее из него вычисляется окончательный реальный урон - ограничиваем его по верхней границе, чтобы он не превышал здоровье игрока.
IF урон_врага > здоровье_игрока:
урон_врага = здоровье_игрока
END
4. Окончательный урон (Потери) отнимается от здоровья.
здоровье_игрока = здоровье_игрока - урон_врага
У тебя совсем другой порядок действий и условий, сами условия другие. Измени в соответствии с моим примером, и всё заработает.
GIF-анимация не анимируется. Что делать? Я хотел, чтобы на фоне, в основном окне описания $backimage, была gif-анимационная картинка. Она появилась, но просто застыла на первом кадре
RomaDova,
это известный баг классического плеера. Вкратце, чтобы с этим справиться, придётся отредактировать картинку. Либо найти другую. Аджента расскажет, она намучилась с гифками в своё время.
Всмысле “отредактировать”? Что именно? Другую мне не надо.
RomaDova,
Посмотри здесь.
Анимация не работает только в основном окне описания. В остальных окошках все нормально. Попробовал использовать “деоптимизацию”, но что-то ничего, кроме цвета фона не поменялось
а просто как изображение выводил в основном окне, или только в качестве бэка?