|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#106
|
||||
|
||||
У меня тоже норм закачалось. Наверно действительно нужно на мыле быть зареганным.
А так игруха норм. Отшлифовать и на выставку 11011111 INED Home code VK |
#107
|
||||
|
||||
Цитата:
А я без игры как-нибудь проживу. |
#108
|
||||
|
||||
Цитата:
Ам... Нееет, что Вы, какие битмапы? Просто там три мелодии весьма тяжелых... Они то вес и делают по сути ) Спасибо, я надеялся, что у меня хоть что-то получится и не ожидал подобной оценки, потому я удивлен и очень благодарен ) Да я бы очень хотел бы разобрать код "до ума", дабы в последующем иметь представление, как не "быдлокодерить", так как один знакомый говорил, что у меня там половина кода - длинное и буквальное ) Вот если бы понять как делать еще круче, то я бы создал еще более сильную игру, да xD И в этой игре я так и не додумал, как же все таки заставить монстров атаковать по отдельности. Где-то у меня ошибка с этим массивом, потому что: во-первых, у меня монстры появляются по такой формуле: макс количество монстров*2. Ну то есть всегда умножается на два, что меня тоже поставило в ступор, но я решил этим и воспользоваться. Ну и с таблицей затык вышел. Вроде создал, даже выводил (на секунду), но как вывести её "нормально" пока не додумал =\ Но я буду стараться! ^^ Цитата:
Цитата:
Цитата:
Спасибо всем за Ваши отзывы ) Вот уж не думал, что столько народу поглядит на моё творение xD Очень приятно, правда ) Сталкиваться с препятствиями полезно. Только отвечая на вызовы судьбы, мы узнаем пределы наших возможностей. |
#109
|
||||
|
||||
Цитата:
jmp $ ; Happy End! The Cake Is A Lie. |
#110
|
||||
|
||||
Еще и бэкапы этих дфмок.
— Как тебя понимать? — Понимать меня не обязательно. Обязательно меня любить и кормить вовремя. На Delphi, увы, больше не программирую. Рекомендуемая литература по программированию |
#111
|
||||
|
||||
Цитата:
Я не понял Вашего вопроса, но всё же Вам на него отвечу! |
#112
|
|||
|
|||
Добрый день.
Честно говоря впечатлен вашей статьей, не могли бы вы мне помочь Сразу говорю, я относительно недавно начал изучать язык, поэтому попрошу сильно не ругаться, за некоторые возможно глупые вопросы). Сейчас сам пытаюсь реализовать небольшую игру. И у меня возникла проблемка в самом начале, не могли бы подсказать как вы реализовали создание объектов Player (игрок) и Enemy(враги). Вот, например, (начну с самого начала): у меня есть модуль main и модуль objects: Код:
TBase=class private x: Integer; y: Integer; public constructor Create(x0, y0: Integer); procedure setX (x0: Integer); //назначают координаты procedure setY (y0: Integer); function getX: Integer; //возвращают координаты function getY: Integer; end; { TStatic } TStatic=class(TBase) private bitmap: TBitmap; public constructor Create(x0, y0: Integer; bitmap0: TBitmap); procedure setBitmap (bitmap0: TBitmap); // меняет изображ. внутри объекта function getBitmap: TBitmap; // возвращает изображение end; { TAnimate } TAnimate=class(TBase) private bitmap: array[0..100] of TBitmap; curFrame: Integer; //текущий кадр maxFrame: Integer; //максим.кадр public constructor Create(x0, y0: Integer; bitmap0: array of TBitmap; maxFrame0: Integer); procedure nextFrame; //меняет кадры procedure setBitmap(bitmap0: array of TBitmap); function getBitmap:TBitmap; end; { TEnemy } TEnemy=class(TAnimate) public procedure move; end; { TPlayer } TPlayer=class(TAnimate) private health: Integer; public constructor Create(x0, y0: Integer; bitmap0: array of TBitmap; maxFrame0: Integer); procedure moveLeft; procedure moveRight; function getHealth: Integer; end; implementation { TEnemy } procedure TEnemy.move; begin y:= y+3; end; { TPlayer } constructor TPlayer.Create(x0, y0: Integer; bitmap0: array of TBitmap; maxFrame0: Integer); begin inherited; health:= 100; end; procedure TPlayer.moveLeft; begin x:= x-5; end; procedure TPlayer.moveRight; begin x:= x+5; end; { TAnimate } constructor TAnimate.Create(x0, y0: Integer; bitmap0: array of TBitmap; maxFrame0: Integer); begin x:=x0; y:=y0; bitmap:=bitmap0; curFrame:= 0; maxFRame:= maxFrame0; end; procedure TAnimate.nextFrame; begin if curFrame < maxFrame then curFrame:=curFrame+1 else curFrame:=0; end; procedure TAnimate.setBitmap(bitmap0: array of TBitmap); begin bitmap:=bitmap0; end; function TAnimate.getBitmap: TBitmap; begin result:=bitmap[curFrame]; end; { TStatic } constructor TStatic.Create(x0, y0: Integer; bitmap0: TBitmap); begin x:=x0; y:=y0; bitmap:=bitmap0; end; procedure TStatic.setBitmap(bitmap0: TBitmap); begin bitmap:=bitmap0; end; function TStatic.getBitmap: TBitmap; begin result:=bitmap; end; { TBase } constructor TBase.Create(x0, y0: Integer); begin x:=x0; y:=y0; end; procedure TBase.setX(x0: Integer); begin x:=x0; end; procedure TBase.setY(y0: Integer); begin y:=y0; end; function TBase.getX: Integer; begin result:=x; end; function TBase.getY: Integer; begin result:=y; end; end. В модуле main у меня след.образом объявлены переменные: Код:
Form1: TForm1; //graphics plPic: array [0..2] of TBitmap; grPic: array [0..2] of TBitmap; enPic: array [0..2] of TBitmap; seaPic: TBitmap; bulPic: TBitmap; //objects Player: TPlayer; Sea: array [0..1] of Tsea ; Ground: array [0..2] of TGround; Bullet: array [0..100] of TBullet; Enemy: array [0..100] of TEnemy; //booleans MoveL, MoveR: boolean; Shoot: boolean; //Integers delay:Integer; score: Integer; И подгружается графика: //load graphics //player for i:=0 to 2 do begin plPic[i]:= TBitmap.Create; plPic[i].LoadFromFile('img/player'+IntToStr(i)+'.bmp'); plPic[i].Transparent:= True; end; //enemies (графика для enemy) for i:=0 to 2 do begin enPic[i]:= TBitmap.Create; enPic[i].LoadFromFile('img/enemy'+IntToStr(i)+'.bmp'); enPic[i].Transparent:= True; end; Далее идет реализация процедур. Проблема в том, что в модуле objects выдает ошибку incompetible types (bitmap и bitmap0).........прошу вас посмотреть, что можно исправить. А также подскажите, пож-та, как вы реализовали создание объектов. Последний раз редактировалось M.A.D.M.A.N., 24.03.2014 в 15:07. |
#113
|
||||
|
||||
Цитата:
Код:
{ TAnimate } TAnimate=class(TBase) private bitmap: array of TBitmap; Код:
procedure TAnimate.setBitmap(bitmap0: array of TBitmap); var i: Integer; begin SetLength(bitmap, Length(bitmap0)); for i := 0 to High(bitmap) do bitmap[i] := bitmap0[i]; end; |