Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > разработка игр, графический дизайн и моделирование > Gamedev - cоздание игр: Unity, OpenGL, DirectX
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 10.10.2012, 00:21   #1
Serg-Grin
Дивиджей
Пользователь
 
Аватар для Serg-Grin
 
Регистрация: 05.01.2009
Сообщений: 84
По умолчанию Игра Дуэль

Доброго времени суток!
У меня такой вопрос ... как мне можно сделать в данном бою броню, и если противник меня ударит, то жизней снимет меньше чем всегда.
А также если я блокирую его удар, то в логе боя отписаться что игрок блокировал удар в голову или т.п.
Вот исходник ...
Вложения
Тип файла: rar Duel.rar (216.3 Кб, 32 просмотров)
Впишите в google:
DVJ Serg-Grin
И вы услышите мои песни
Serg-Grin вне форума Ответить с цитированием
Старый 10.10.2012, 16:48   #2
Serg-Grin
Дивиджей
Пользователь
 
Аватар для Serg-Grin
 
Регистрация: 05.01.2009
Сообщений: 84
По умолчанию

Прошу вашей помощи ребята!
Впишите в google:
DVJ Serg-Grin
И вы услышите мои песни
Serg-Grin вне форума Ответить с цитированием
Старый 10.10.2012, 18:18   #3
Luuzuk
Форумчанин
 
Аватар для Luuzuk
 
Регистрация: 18.01.2012
Сообщений: 975
По умолчанию

Вариация на тему "Броня"

Код:

// Это в секции с глобальными переменными
var shield: integer; // уровень брони, от нуля до ста. Если броня полная, то сюда запишите 100  
const DEFAULT_DAMAGE = 10; // урон по умолчанию
      SHIELD_DAMAGE = 10; // урон броне при пропущенном ударе


........

// Это - в TForm1.ButtonGoClick
var   damage: integer; // расчитанный уровень урона
...
If CompAttack <> MyDefense then
    Begin
      // рассчитываем урон с учетом уровня брони
      damage = 	DEFAULT_DAMAGE - round(DEFAULT_DAMAGE * (shield / 100))
      // рассчитываем урон, нанесенный броне
      if (shield-SHIELD_DAMAGE)>=0 then shield := shield - SHIELD_DAMAGE;
      ProgressBarMyHP.Position := ProgressBarMyHP.Position - damage;
    end;

  If CompDefense <> MyAttack then
    Begin
	  // А у компа брони не будет например
      ProgressBarCompHP.Position := ProgressBarCompHP.Position - 10;
    end;
Вариация на тему "Лог":

Код:
/ условия начисления очков повреждения (битва) ================================
  If CompAttack <> MyDefense then
    Begin
      // "мне вломили"
      ProgressBarMyHP.Position := ProgressBarMyHP.Position - 10;

      Case CompAttack of
        1: WriteToLog('Игроку вломили в голову');
        2: WriteToLog('Игроку вломили в корпус');
        3: WriteToLog('Игроку вломили в пояс');
        4: WriteToLog('Игроку вломили в ноги');
      end;
    end 
   else
    Case CompAttack of
      1: WriteToLog('Игрок блокировал удар в голову');
      2: WriteToLog('Игрок блокировал удар в корпус');
      3: WriteToLog('Игрок блокировал удар в пояс');
      4: WriteToLog('Игрок блокировал удар в ноги');
    end;

Объединить эти вариации в одну и реализовать метод записи в лог (WriteToLog) выполните в качестве домашнего задания
Благодарить в репутацию. Проклинать — туда же

Последний раз редактировалось Luuzuk; 10.10.2012 в 18:25.
Luuzuk вне форума Ответить с цитированием
Старый 14.10.2012, 14:05   #4
Serg-Grin
Дивиджей
Пользователь
 
Аватар для Serg-Grin
 
Регистрация: 05.01.2009
Сообщений: 84
По умолчанию

Luuzuk, Спасибо Вам большое) Помогли!
Впишите в google:
DVJ Serg-Grin
И вы услышите мои песни
Serg-Grin вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Игра( oltay Компьютерное железо 2 15.01.2012 22:47
Игра Шайен Помощь студентам 4 24.05.2011 16:47
Игра Кристинка89 C++ Builder 2 17.03.2011 01:39
Игра zumm Софт 0 15.10.2009 13:25