To Mircosoft : spadne jako že se po spuštění programu vypne, žádná chybová hláška. mám asus A6M series s WIndows XP. V programu mám Detectgraph(Gd,Gm); Initgraph(Gd,Gm,''); tím by si TP sám zjistit grafický adaptér a rozlišení a v něm graph spustit ne? nevim
Příspěvky odeslané z IP adresy 85.71.195.–
mám dojem, že to dělá jednotka graph, protože bez toho mi to jede..
padá mi turbo pascal a nevim proč... na compu mi normálně šlape, i programy, co jsem tam dělal. teď jsem ho nainstaloval na notebook a zkompiluje mi to, ale když dám run, tak mi spadne... nevíte někdo co s tim? předtím to šlo
To Mircosoft : omlouvám se, že píšu až teď. momentálně na tvoření elmy nemám moc čas, ale určitě se k tomu vrátím a jsem rád, že jsi na mě nezapomněl :) já to vidím tak, že pro mě asi největší problém bude fyzika a sestavení nějakého enginu, aby se to jakž takž pohybovalo reálně... přemýšlel jsem nad tou fyzikou, když třeba roztočená motorka narazí jedním kolem do stěny, jaké přesně fyzikální pozadí to má no a moc jsem na nic nepřišel, ale snad to nějak půjde, nicméně zatím se na chvíli odmlčuji, ale já se vrátím :) a se mnou přijde elma :)
To Garret Raziel : dík moc, s tím "jede" myslíš ten prográmek?
Jak vytvořím v TP exe soubor? dík V tom Freepascalu se mi při kompilaci automaticky vytvořil, tady žádný exe soubor nevidím
tak koukám, že v TP to je jinak, tak jak říkáš, takže dobrý :)
To Mircosoft : Mám Freepascal. Příkazem Initgraph se otevře okno s názvem graph window application kde se mi vykresluje ta motorka. Ale zvlášť je okno Freepascalu, kde je textový režim, kde se mi vypisujou věci jako třeba po příkazu writeln atd... no a tohle okno musím mít aktivní, abych mohl Readkeyem načíst nějaké klávesy a aby se třeba mohla změnit úhlová rychlost kola, změna se mi vykreslí ale do toho okna graph window application. Když tohle okno není přes celou obrazovku, tak to není třeba takový problém, ale když je, tak to Freepascalský okno není aktivní... Omlouvám se za laické vysvětlení, co se týče počítačového pozadí jsem celkem lama...
To Petr : jo jeste zastavuje se to escapem a za slovem "programem" mel byt otaznik :)
Tak jsem udělal pomocí vektorů a kružnic opravdu mega-jednoduchou reprezentaci motorky a mam zatim jen procedury na pohyb tyhle hybridni "motorky". bude potřeba posunovat celou motorku (proc posun), otacet celou (proc otoc_moto) a otacet s kolem, ktery motorku pohani (otoc_kolo). pro otestování těchto procedur jsem udělal ještě funkci na mačkání kláves. šipkami nahoru a dolu se zrychluje kolo, doleva doprava se zrychluje otaceni cele motorky a klavesami a,s,d,w se motorkou da hybat... kdyz ale chci takto klavesami menit to, co se meni v okne graph, musim mit aktivni okno s programem a okno graph je samostatne, v pripade hry pak tedy budu muset udelat neustale prepinani mezi maximalizovanym graph oknem a "programem"
jinak co na to rikate? ty draty uprostred kola jsou pri zrychlovani a zpomalovani stale mene kolme, ale to zase bude nejake zaokrouhlovani nebo nevim :) ted je na rade fyzika...
To Mircosoft : ano, i když to zaokrouhlím jen při předání kreslícím procedurám, stejně se to zkracuje
To Mircosoft : tak jsem to změnil, ale zkracuje se mi to, i když to zaokrouhluju jen při vykreslování... doplnil jsem to kontrolou, jestli se délka zkrátila a v případě že jo, tak to souřadnice podle toho zdelší...
udělal jsem jen první krůček s procedurami na otaceni a posun tech dvou kolecek, ale nevim, proc se pri kazdem otoceni ta tyc o trochu zkrati.. je to kvuli zaokrouhlovani?
program elma;
uses math, crt, graph;
const rad=5;
pol=20;
motox=200;
motoy=100;
type
vektor = record
x,y: integer;
end;
var
Gd, Min, Max, i: integer;
moto, tyc: vektor;
procedure inic_kola;
begin
tyc.x:=pol;
tyc.y:=0;
end;
procedure inic_moto;
begin
moto.x:= motox;
moto.y:= motoy;
end;
procedure otoc(alpha: real);
begin
tyc.x:=round(cos(alpha)*tyc.x - sin(alpha)*tyc.y);
tyc.y:=round(sin(alpha)*tyc.x + cos(alpha)*tyc.y);
end;
procedure posun(x,y: integer);
begin
moto.x:=moto.x+x;
moto.y:=moto.y+x;
end;
procedure vykresli;
var px,py,zx,zy: integer;
begin
px:=moto.x+tyc.x;
py:=moto.y+tyc.y;
zx:=moto.x-tyc.x;
zy:=moto.y-tyc.y;
line(px,py,zx,zy);
circle(px,py,rad);
circle(zx,zy,rad);
end;
begin
Gd:=9;
GetModeRange(Gd, Min, Max);
SetGraphMode(Max);
InitGraph(Gd, Min,'');
inic_moto;
inic_kola;
vykresli;
repeat
otoc(pi/18);
vykresli;
delay(500);
until keypressed;
end.
To KIIV : jasně, já si uvědomuju, že naprogramovat např. kompletní elmu s levely, atd.. je obtížný, aby to bylo hratelný. co mě spíš na elmě zaujalo je to, že ačkoliv je to dost jednoduchá 2D hra, tak je velice hratelná právě kvůli skvěle reálné fyzice. pružiny, brždění atd... takže spíš mě zajímá jak naprogramovat fyzikálně reálné chování objektů a praávě proto chci začít s tím, třeba jen s těmi dvěma koly bez pružin, pak jen třeba objekt na pružině atd. prostě naučit se podstatu částí k elmě potřebných, které vypsal mircosoft a pak až někdy se pokusit vše dát dohromady a zkusit z toho poskládat hru, a to asi ne v pascalu :)
To Mircosoft : díky moc za odpověď! programovat se teprve učím, takže BSP stromy a složitější grafiku vynechám (jelikož taky umím jen v pascalu :)) takže zkusím začít s hodně redukovanou "elmou" jak jsem psal jen např. dvě kola bez pružin spojená tyčí, která se odráží od "stěn" obrazovky. začnu si s tím hrát :) to, že tě to také zajímá je super, aspoň nejsem sám :)
To KIIV : ok, s objekty jsem ještě nepracoval, takže v objektovém prog. nejsem vůbec sběhlý. takže začnu tam :)
no dobře to znám. takhle, umím v pascalu "naprogramovat" míček (circle), který se odráží od stěn například. a teď hodně zjednodušená elastomania, chci naprogramovat dvě kolečka (nemusí se ani otáčet) spojená nějakou třeba bezhmotnou pevnou tyčí, aby se reálně odrážely od stěn. jak na to?
Čau všem, určitě spousta z Vás zná hru elastomania. Zajímalo by mě, jak by se taková hra dala naprogramovat, nebo spíš co člověk potřebuje umět, aby takovou hru naprogramoval? Budu rád i za nějaký link, protože jsem nic moc o programování fyziky nenašel.
Čau všem, určitě spousta z Vás zná hru elastomania. Zajímalo by mě, jak by se taková hra dala naprogramovat, nebo spíš co člověk potřebuje umět, aby takovou hru naprogramoval? Budu rád i za nějaký link, protože jsem nic moc o programování fyziky nenašel.