Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

peromalosutra,srki_82....come here

[es] :: Pascal / Delphi / Kylix :: peromalosutra,srki_82....come here

[ Pregleda: 1896 | Odgovora: 10 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Passwd

Član broj: 54624
Poruke: 640
*.cmu.carnet.hr.



Profil

icon peromalosutra,srki_82....come here10.04.2005. u 17:41 - pre 231 meseci
Ovako:

Code:

program kretanje;
uses graph,crt;
var a,b,c,d:integer;
begin
detectgraph(a,b);
initgraph(a,b, 'c:\tp\bgi\');
rectangle(0,0,getmaxx,getmaxy);
c:=getmaxx div 2;
d:=getmaxy div 2;
circle(c,d,50);
readln;
end.


Mene sada zanima kako napravit da uz pomoc tastera (a-lijevo;d-desno;
w-gore;s-dolje) krecem ovaj krug u prostoru ogranicenom sa rectangle,
to sam zapravo htio da skuzim iz tvog koda od igrice (peromalosutra) al
bezuspjesno.....;)
 
Odgovor na temu

Srki_82
Srdjan Tot
Me @ My Home
Ljubljana

Član broj: 28226
Poruke: 1403
82.208.201.*

ICQ: 246436949


+10 Profil

icon Re: peromalosutra,srki_82....come here10.04.2005. u 18:40 - pre 231 meseci
Ovako... imas krug ima precnik R, njegov centar cX, cY, i vrednosti za MinX, MaxX, MinY, MaxY koje definisu deo u kom krug moze da se krece. To znaci da cX + R / 2 ne sme da bude vece od MaxX, cX - R / 2 ne sme da bude manje od MinX, cY + R / 2 ne sme da bude vece od MaxY, cY - R / 2 ne sme da bude manje od MinY. Ako pazis na to onda je lako. Imas ReadKey i ako se pritisne neko od definisanih tastera pomeris cX ili cY na novu vrednost ako ce krug ostati u definisanom regionu. Mozes pre nego sto updatujes vrednosti da na staroj poziciji nacrtas krug boje pozadine cime ces ga obrisati.
 
Odgovor na temu

Passwd

Član broj: 54624
Poruke: 640
*.cmu.carnet.hr.



Profil

icon Re: peromalosutra,srki_82....come here10.04.2005. u 19:18 - pre 231 meseci
Potrudit cu se da napravim,ako ne doc cu ovdje po pomoc..:)Hvala
 
Odgovor na temu

peromalosutra
Ivan Rajkovic
Software engineer
Luxoft
Berlin

Član broj: 54774
Poruke: 875
*.dialup.blic.net.



+148 Profil

icon Re: peromalosutra,srki_82....come here10.04.2005. u 20:03 - pre 231 meseci
Ja sam uradio nesto slicno sa pravougaonikom (pogledaj "program sa grafikom"), samo nema ogranicenja.

 
Odgovor na temu

peromalosutra
Ivan Rajkovic
Software engineer
Luxoft
Berlin

Član broj: 54774
Poruke: 875
*.dialup.blic.net.



+148 Profil

icon Re: peromalosutra,srki_82....come here10.04.2005. u 20:17 - pre 231 meseci
Ovaj dio upravlja figurom. X i Y su vrijednosti koordinata figure, (u tvom slucaju centra kruga).

Repeat
brisanje;
znak:=readkey;
ind:=ord (znak);
if (ind=97) or (ind=115) or (ind=100) or (ind=119) then
Case ind of
100: x:=x+1;
97: x:=x-1;
119: y:=y-1;
115: y:=y+1;
End;

Until ind=27 {odnosno ponavljaj dok se ne stisne taster ESC}

Umjesto procedure brisanje mozes staviti i ClrScr, medjutim docice do bljeskanja ako budes zelio taj program prosiriti pa u repeat petlji dodavati nove stvari koje ce se pojavljivati na ekranu. I ja sam imao ovaj problem sa prvom verzijom moje igre, ali sam ga otklonio uz pomoc Srki_82-ovog savjeta i on preveden na jezik pocetnika (u koje se i ja ubrajam) glasi: nacrtati isti lik na prethodnim koordinatama, obojen bojom pozadine. Efekat ovoga je isti kao i brisanje. A evo i procedure koja bi to radila:

Procedure brisanje;
begin
gotoxy (xs,ys); {xs,ys su stare koordinate tacke, ili u tvom slucaju, centra kruga}
if (x<>xs) or (y<>ys) then {ako je tijelo pomjereno, onda...}
circle (xs,ys,50); {samo ga moras nacrtati bojom pozadine}
xs:=x;
ys:=y;
end;

Vjerovatno negdje ima gresaka, ali to je otprilike to.

 
Odgovor na temu

Passwd

Član broj: 54624
Poruke: 640
*.net.t-com.hr.



Profil

icon Re: peromalosutra,srki_82....come here10.04.2005. u 22:41 - pre 231 meseci
Ajd napisi program od a do z,jer vec petljam 2 sata s njim,tak cu najlakse skuzit.
Sa sto manje petljanja da ga lakse skuzim a onda cu lako ga nadogradjivati..:)
 
Odgovor na temu

Toyo

Član broj: 45193
Poruke: 227
*.kovnet.co.yu.



+1 Profil

icon Re: peromalosutra,srki_82....come here11.04.2005. u 00:13 - pre 231 meseci
Evo momci-uzivajte. :)

Code:

uses graph, crt;
const
     radius=100;
var
   gd,gm:Integer;
   xp,yp: integer;
   ch:char;
   kraj : boolean;
begin
     gd:=detect;
     initgraph(gd,gm,'..\bgi');
     rectangle(0,0,getmaxx-1, getmaxy-1);
     xp := 200;
     yp := 200;
     kraj := false;
     setcolor(5);
     circle(xp,yp, radius);
     while not kraj do
           if keypressed then
              begin
                ch := readkey;
                kraj := ch = #27;
                setcolor(0);
                circle(xp,yp, radius);
                if (xp-radius) > 1 then
                   xp := xp - ord(ch='a');
                if (xp+radius) < (getmaxx-2) then
                   xp := xp + ord(ch='d');
                if (yp-radius) > 1 then
                   yp := yp - ord(ch='w');
                if (yp+radius) < (getmaxy-2) then
                   yp := yp + ord(ch='s');
                setcolor(5);
                circle(xp,yp, radius);
              end;

end.


 
Odgovor na temu

Passwd

Član broj: 54624
Poruke: 640
*.cmu.carnet.hr.



Profil

icon Re: peromalosutra,srki_82....come here11.04.2005. u 09:07 - pre 231 meseci
:)
 
Odgovor na temu

Passwd

Član broj: 54624
Poruke: 640
*.cmu.carnet.hr.



Profil

icon Re: peromalosutra,srki_82....come here11.04.2005. u 09:52 - pre 231 meseci
E a sada ako dodam neku liniju (line) kako napravit da taj krug ne moze da
prijedje preko nje vec da ju mora zaobilazit?
 
Odgovor na temu

peromalosutra
Ivan Rajkovic
Software engineer
Luxoft
Berlin

Član broj: 54774
Poruke: 875
*.dialup.blic.net.



+148 Profil

icon Re: peromalosutra,srki_82....come here11.04.2005. u 13:20 - pre 231 meseci
Kada ja pokrenem toyin program, on mi prikaze krug na ekranu, ali ne mogu da ga pokrenem, ne reaguje na A,S,D,F kako vidim iz koda da bi to trebalo. Pokusao sam da iskljucim CapsLock, (jer se onda promjene ACII kodovi tastera) ali ni to nije pomoglo. Ja mislim da imam problem sa kompajlerom.
(pogledaj "problem sa grafikom")

 
Odgovor na temu

Toyo

Član broj: 45193
Poruke: 227
*.kovnet.co.yu.



+1 Profil

icon Re: peromalosutra,srki_82....come here11.04.2005. u 14:19 - pre 231 meseci
Pa koji kompajler koristis?

Odi u programu do linije gde pise kraj := ch=#27 , pritisni F4 pa zatim kada program pocne da se izvrsava pritisni a. Vratices se u program Ukljuci watch, zarim insert, ukucaj ch i pogledaj koju vrednost ima promenljiva ch.
 
Odgovor na temu

[es] :: Pascal / Delphi / Kylix :: peromalosutra,srki_82....come here

[ Pregleda: 1896 | Odgovora: 10 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.