forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Основной форум (http://forum.boolean.name/forumdisplay.php?f=49)
-   -   проект (http://forum.boolean.name/showthread.php?t=481)

Red Ninja(Михайлов Никита) 30.12.2005 18:26

SubZer0
Я просто 1 раз Танк смотрел и код непомню! :)

SubZer0 30.12.2005 20:53

Цитата:

Originally posted by Red Ninja(Михайлов Никита)@Dec 30 2005, 05:26 PM
SubZer0
Я просто 1 раз Танк смотрел и код непомню! :)

к сожалению никто не может мне подать реальную идею, как это можно улучшить... и по нету чето я не могу найти ничего подобного... :unsure:

jimon 30.12.2005 22:33

неюзать интерполяцию

SubZer0 30.12.2005 23:24

Цитата:

Originally posted by jimon@Dec 30 2005, 09:33 PM
неюзать интерполяцию
ага... тогда криво все получится... а кодить кривые игры - мастдай


PS сорри за флейм

Red Ninja(Михайлов Никита) 30.12.2005 23:48

Замути танчики как на Дэнди были!
Сделай картинки 8х8!
Если прикольно замутишь,то довольна классная игра получиться!

jimon 31.12.2005 13:02

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

а остальные картинки юзаем с интерполяцией - только осторожно

Red Ninja(Михайлов Никита) 31.12.2005 13:26

А самое легкое и гибкое решение это на Яве! :D

SubZer0 31.12.2005 16:43

Цитата:

Originally posted by jimon@Dec 31 2005, 12:02 PM
вот смотри - карта зачастую однообразная - выводится одна картинка фон, на ней есть другие картинки
вот фон мы двигаем то в низ то верх на чтобы было видно шершавость или то что оно вообще как нить двигается

а остальные картинки юзаем с интерполяцией - только осторожно

да, я уже думал над этим, но... смотри, это ведь еще только карта... допустим я зделаю по такой технологии, допустим я выиграю с десяток ФПС, но это ведь только карта... а на ней еще танчики должны быть + пули/снаряды + взрывы + бонусы + логика... и тут уже о дополнительных эффектах вообще и думать не приходится...

думаю тут не надо быть большого ума человеком, чтоб понять что это нереально! (поэтому я даже не пробую)

:'(( :'(( :'((


:offtop:

вот сейчас праздники пройдут... попробую это на MobileBasic там есть функции для тайловой карты... если уж и там не получится, то прийдется на OmegaBasic извращаться...

jimon 31.12.2005 17:33

имхо - ето же мобила
она сравнима с компом i486 60 mhz и 1 метром оперативы
что же ты хочеш ? :)

Red Ninja(Михайлов Никита) 31.12.2005 17:35

НА MobileBasic должно получиться!

Но в MobileBasic плохой отклик от клавишь!И
Там есть одна проблема рисовать тайлы ;)

Red Ninja(Михайлов Никита) 01.01.2006 00:25

Вот измени в своём танке код на этот и проверь!

Код:

program Tanks;
var

 GameFF: array[1..30, 1..30] of integer;
 MO: array[0..10] of image;
 i,j,t,xc,yc,xc1,yc1: integer;
 SXPos,SYPos: integer; { Position Screen on Map }
 StageRes: resource;
 Tank1: array [1..4] of image;
 
 keyAction :integer;{Click Key}
 
 UTT:integer; { Type of Tank for User }
 UXPos,UYpos: integer; { UserPosition on Area }
 Exit:integer;{Exit}
 
 Secund:command;
 Secund1,Secund2,SecundD:integer;
 
Procedure Camera(xi,yi:integer;);
begin
 for i:=1 to (getwidth/16) do for j:=1 to (getheight/16) do

 begin
 if xi<0 then xi:=0;
 if yi<0 then yi:=0;
 
 if xi>(30-getwidth/16) then xi:=(30-getwidth/16);
 if yi>(30-getheight/16) then yi:=(30-getheight/16);
 
 drawimage(MO[GameFF[i+xi,j+yi]],(i*16)-16,(j*16)-16);
 end;
end;

 
begin


{ Loading Stage 1 }

{ Setting Stage Constants }

UXPos:=32;UYPos:=32;

{ Loading Images }

MO[1]:=loadimage('/Wall1.png');
MO[0]:=loadimage('/Floor1.png');

Tank1[1]:=loadimage('/tank1.png');
Tank1[2]:=loadimage('/tank2.png');
Tank1[3]:=loadimage('/tank3.png');
Tank1[4]:=loadimage('/tank4.png');

{ Loading Map }

StageRes:=OpenResource('/stage1.tt');

if ResourceAvailable(StageRes) then begin
 for i:=1 to 30 do for j:=1 to 30 do begin
 repeat
 t:=readbyte(StageRes);
 until (t=$30)OR(t=$31);
 GameFF[j,i]:=t-$30;
 end;
end;
CloseResource(StageRes);


{ Main Loop }
SXPos:=0;
SYPos:=0;
t:=1;
SecundD:=1000;

 repeat
 Secund1:=GetRelativeTimeMs;
 keyAction := keyToAction(getKeyClicked);
 

 if keyAction = GA_RIGHT then SXPos:=SXPos+t;
 if keyAction = GA_LEFT then SXPos:=SXPos-t;
 
 if keyAction = GA_DOWN then SYPos:=SYPos+t;
 if keyAction = GA_UP  then SYPos:=SYPos-t;
 
 Camera(SXPos,SYPos);
 if keyAction = GA_FIRE  then Exit:=999;{EXIT}

 repaint;
 
 delay(SecundD);
 Secund2:=GetRelativeTimeMs;
 RemoveCommand(Secund);
 Secund := CreateCommand(IntegerToString((Secund2-Secund1)-SecundD),CM_OK, 1);
 AddCommand(Secund);
 
 until Exit=999

end.

ФПС должно быть получше и скажи солько у тебя будет равно Secund
Чтобы приложение стало быстрее поставь делай SecundD:=1;

Red Ninja(Михайлов Никита) 01.01.2006 18:33

Тут правда ошибки есть но их легко исправить!
А вот в файле stag.ttt удали ; они там уже ненужны.

Я сам начел писать РПГ,у меня написана такаеже процедупра Камера и на X100
идёт как на компе! :) :D 8)

SubZer0 02.01.2006 02:22

заменил полностью код и теперь " Unable to load class M " :unsure:

Red Ninja(Михайлов Никита) 02.01.2006 09:26

Вложений: 2
Страно!
Давай я тебе сразу код скину!

Вот качай:

SubZer0 02.01.2006 12:27

Работает реально, и ФПС около 100, но хотелось-бы все-равно чтоб присутствовала интерполяция...

значит в тех вычислениях был тормоз... хммм... надо от них избавиться... я поработаю над этим...

:)


Часовой пояс GMT +4, время: 07:25.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot