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

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

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

Главная » Статьи » Уроки по созданию игр

Урок 31. Продаем вываленные из монстров предметы

Урок 31. Продаем вываленные из монстров предметы

 

Последнее, чего пока не хватает магазину - это возможности героя продавать в нем свой забранный на поле брани товар. Для этого нам сначала надо узнать, сколько каждый из предметов стоит. Пока мы такую информацию не выводили, поэтому дополним функцию GetItemName сведениями о цене предмета:

 

function GetltemName(Itm:   TGameltem):   string;

begin

case Itm.IType  of

ItemAmmo:GetltemName:=Itm.Name+ ' ( '

IntToStr(Itm.Ints[intAmmo])+   '    )    [    '   +

IntToStr(Itm.Price)+' ] ';

itemRangedWeapon:

GetItemName:=Itm.Name+'(‘+IntToStr(Itm.Ints[intRangedAmmo])+

'   )    [   '   +IntToStr(Itm.Price)+   '   ]    '   ;

MemMagik:GetltemName:=MagikltemsName[

itm.ints [intMagikType]    ]   +'    (    '   +IntToStr(Itm.Ints[intMagikNum])+

(   I   '   +        IntToStr(Itm.Price)+   '    ]    '    ;

itemMoney:   GetltemName   :=   Itm.Name   +

'    (    '   +IntToStr(Itm.Ints[intMoney])+   '    )    '    ;

else  GetltemName   :=   Itm.Name   +'    [    ' +IntToStr (Itm. Price) +   ' ] ';

end ;

end;

           

Теперь определим подходящий способ продажи предметов. По хорошему нам желательно разместить интерфейс магазина с интерфейсом инвентаря героя, эта задача не очень сложна в идеологическом плане, однако весьма трудоемка в плане техническом, так как требует довольно большого объема работы. Чтобы не перегружать материал чисто техническими особенностями, оставляем данную задачу на откуп читателям, а в программе реализуем демонстрационный режим продаж. Допустим, если, находясь в интерфейсе магазина, игрок введет отрицательный номер, то этот номер будет трактоваться как номер предмета из инвентаря героя, который надлежит продать. Так как само окно инвентаря в текущем контексте будет недоступно, играющему придется перед заходом в магазин запомнить, мин; предметы он хочет продать, и затем вводить соответствующие номера слотов инвентаря со знаком минус. Это неудобство, отметим еще раз, связано только с демонстрационным режимом создания программы. соответствующий код процедуры GoToShop, в месте, где мы проверяли значение " и иного номера в переменную п, модифицирован так:

 

ReadLn (n) ;

If  n  =   0   then

Break 

else if   (-n)   in   [1..MaxHeroItems]    then

begin

if heroes[curhero].items(-7).item in itemHeadWeapon

itemArmor,        ltemAmmo, ItemRangedWeapon,   itemMagik]   then
begin

ShowInfo(STR_SELL_ITEM   + Getltemname(Heroes[CurHero] .Items[-n])) ;

Heroes[CurHero].Items[-n].IType   :=   itemNone; if  i>0   then

Heroes[CurHero].Items[i].Ints[intMoney]    := Heroes[CurHero].Items[i].Ints[intMoney]   +

Heroes[CurHero].Items[-n].Price  

else if   i<0   then

begin

Heroes[CurHero].Items[-i].Ints[intMoney]:=

Heroes[CurHero].Items[-n].Price;

Heroes[CurHero].Items[-ij.IType:=itemMoney;

end;

end;

end

else if   i   <=   0   then

ShowInfo(STR_NO_MONEY)  

else if   n   in   [1..MaxShopIterns]   then

begin

 

Теперь прерывание цикла - выход из магазина - происходит лишь при вводе нуля, а если

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

На этом программирование работы с магазинами считаем завершенным.

Далее - реализуем сохранение и восстановление игры в файле.

 

Источник: Delgame.at.ua

Категория: Уроки по созданию игр | Добавил: Armageddets (05.12.2014) | Автор: Урок 31. Продаем вываленные из монс
Просмотров: 1561 | Теги: программирование игр, gamedev, Создание игр на Delphi, делфи игры, создание рпг игры, игра РПГ, уроки по созданию игр | Рейтинг: 1.0/1
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Наш опрос
Уроки по созданию каких игр Вам интересны?
Всего ответов: 167
Мини-чат
Друзья сайта
  • Официальный блог
  • Сообщество uCoz
  • FAQ по системе
  • Инструкции для uCoz
  • Статистика

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