Меню сайта
Форма входа

Категории раздела
Уроки по созданию игр [38]
Программирование игр разной сложности
Игровые алгоритмы [24]
Алгоритмы, которые уже реализованы для разных жанров игр
Графика [5]
Учимся работать с графикой в Делфи
Мультимедиа [3]
Работа с мультимедийными возможностями Делфи
Другие статьи [18]
Статьи не вошедшие не в один из разделов
Ошибки [4]
Всевозможные ошибки и пути их решения
Четверг, 09.01.2025, 06:45
Приветствую Вас Гость

Статьи по программированию

Главная » Статьи » Игровые алгоритмы

Процедура расчета урона наносимого монстрам
Данная процедура будет просчитывать урон, который герой наносит и монстрам и его промахи

procedure UronMonstram(ix,iy,uron:Integer);
var
bah:Integer;
begin

if (Karta.monsters[ix,iy,2]<>0) and (monsters[Karta.monsters[ix,iy,2]].Visible=true) then
begin

if (Monsters[ Karta.monsters[ix,iy,2] ].health>0) then
begin
Player.udaril:=true;
//raschet udara
randomize;
bah:=random(Player.tochnost_udara+
Monsters[ Karta.monsters[ix,iy,2] ].lovkost)+1;

//esli promazal
if bah>Player.tochnost_udara then
begin
Pik.buf.Canvas.Draw(Monsters[ Karta.monsters[ix,iy,2] ].x-Karta.mx+20,
Monsters[ Karta.monsters[ix,iy,2] ].y-Karta.my-30,Pik.soobsheniya[1]);
end;

//esli popal
if bah<=Player.tochnost_udara then
begin
Player.udaril:=true;

if uron<10 then
Pik.buf.Canvas.Draw(Monsters[ Karta.monsters[ix,iy,2] ].x-Karta.mx+20,
Monsters[ Karta.monsters[ix,iy,2] ].y-Karta.my-30,
Pik.uron[uron,1]);

if (uron>=10)
and (uron<100) then
begin
Pik.buf.Canvas.Draw(Monsters[ Karta.monsters[ix,iy,2] ].x-Karta.mx+20,
Monsters[ Karta.monsters[ix,iy,2] ].y-Karta.my-30,Pik.uron[round(uron div 10),1]);
Pik.buf.Canvas.Draw(Monsters[ Karta.monsters[ix,iy,2] ].x-Karta.mx+45,
Monsters[ Karta.monsters[ix,iy,2] ].y-Karta.my-30,Pik.uron[round(uron mod 10),1]);
end;

if (uron>=100) then
begin
Pik.buf.Canvas.Draw(Monsters[ Karta.monsters[ix,iy,2] ].x-Karta.mx,
Monsters[ Karta.monsters[ix,iy,2] ].y-Karta.my-30,Pik.uron[round(uron div 100),1]);
Pik.buf.Canvas.Draw(Monsters[ Karta.monsters[ix,iy,2] ].x-Karta.mx+25,
Monsters[ Karta.monsters[ix,iy,2] ].y-Karta.my-30,Pik.uron[round(uron mod 10),1]);
Pik.buf.Canvas.Draw(Monsters[ Karta.monsters[ix,iy,2] ].x-Karta.mx+50,
Monsters[ Karta.monsters[ix,iy,2] ].y-Karta.my-30,Pik.uron[round(uron mod 100),1]);
end;

Monsters[ Karta.monsters[ix,iy,2] ].health:=
Monsters[ Karta.monsters[ix,iy,2] ].health-uron;

end;
end;

//proverka na smert monstrov
DeadMonsters(ix,iy);

end;
Категория: Игровые алгоритмы | Добавил: Armageddets (07.01.2013)
Просмотров: 918 | Теги: Процедура расчета урона наносимого , герой наносит урон | Рейтинг: 0.0/0
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Наш опрос
Какие уроки по созданию игр Вам удобнее?
Всего ответов: 141
Мини-чат
Друзья сайта
  • Официальный блог
  • Сообщество uCoz
  • FAQ по системе
  • Инструкции для uCoz
  • Статистика

    Онлайн всего: 6
    Гостей: 6
    Пользователей: 0