RU 📌 Pinned

Как сделать?

Dark[Ol(U23)leneri] #34 18.04.2010 22:57 6408 comments 2437128 views

Спасибо конечно,но мне все-таки нужна именно конкретика о том как сделать чтоб небыло таког идиотизма что например,в выводе потерь и убитых при подсчете если общая атака превышает,общую защиту и здоровья то потери больше имеющихся войск..

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,
это известный баг классического плеера. Вкратце, чтобы с этим справиться, придётся отредактировать картинку. Либо найти другую. Аджента расскажет, она намучилась с гифками в своё время.

Всмысле “отредактировать”? Что именно? Другую мне не надо.

Aleks Versus Moderator 02.06.2014 17:04 (11 years ago)

RomaDova,
Посмотри здесь.

Анимация не работает только в основном окне описания. В остальных окошках все нормально. Попробовал использовать “деоптимизацию”, но что-то ничего, кроме цвета фона не поменялось

Aleks Versus Moderator 02.06.2014 19:42 (11 years ago)

а просто как изображение выводил в основном окне, или только в качестве бэка?

Log in or Register to post comments.