|
[ peromalosutra @ 09.04.2005. 17:53 ] @
| Pokusao sam da napravim program sa kojim se uz pomoc tastera a,s,d,f pomjera pravougaonik po ekranu, medjutim kada ga startujem ne vidi se nikakav pravougaonik! zna li neko u cemu je problem, sigurno je nesto jednostavno, ali ja nikako ne mogu da shvatim sta. Evo kako program izgleda:
program grafika;
uses graph,crt;
var drajver,mode,x,y,ind:integer;
znak:char;
procedure pomjeranje;
begin
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;
end;
procedure inc;
begin
drajver:=detect;
initgraph (drajver,mode,'');
x:=50;
y:=50;
end;
Procedure ucitavanje;
begin
znak:=readkey;
ind:=ord(znak);
end;
begin
inc;
repeat
clrscr;
ucitavanje;
pomjeranje;
line (x,y,x+100,y);
line (x,y,x,y+10);
line (x+100,y,x+100,y+10);
line (x,y+10,x+100,y+10);
until ind=27;
closegraph;
readln;
end.
|
[ Toyo @ 09.04.2005. 18:30 ] @
Po secanju:
Pogledaj gde ti se nalaze fajlovi sa ekstenijom BGI. (HERC.BGI, EGAVGA.BGI...)
Ako se nalaze u: C:\TP\BGI\ , a ne u direktorijumu gde je exe, onda treba kao treci parametar da navedes putanju do njih.
Primer:
initgraph (drajver,mode,'C:\TP\BGI\');
[ peromalosutra @ 09.04.2005. 19:12 ] @
Program mi iscrta pravougaonik kada ne stavim repeat petlju i kada izbacim ono readkey i clrscr. Mislio sam da je problem u preranom brisanju ekrana, ali tada bi se vidjelo bar treptanje. Zato sam malo promjenio kod, stavio sam clrscr na pocetak, ali ni time nisam nista postigao.
[ Srki_82 @ 10.04.2005. 01:56 ] @
Promeni proceduru ucitavanje ovako
Code: Procedure ucitavanje;
begin
Ind := 0;
if KeyPressed then
Ind:=Ord(ReadKey);
end;
Trebalo bi da pomogne... koliko vidim stara pozicija se nece izbrisati tako da ces ostavljati trag kad budes pomerao pravougaonik.
[ Vdjuric @ 11.04.2005. 09:53 ] @
Jesi li podesio boju pozadine i boju linija koje crtas? I, naravno, trebao bi da obrises stari pravougaonik pre iscrtavanja novog...
poz
[ peromalosutra @ 11.04.2005. 15:15 ] @
Nisam podesi boje, ali sam "upratio" svoj kompajler. Nece u grafickom rezimu da mi sprovodi naredbu readkey (iako sam naveo biblioteku crt). Dakle, kada izbacim ucitavanje i stavim da kompjuter sam pomjera pravougaonik po ekranu (npr. x:=x+10, y:=y+10, itd), Onda sve radi savrseno. Ovo sam isprobao tako sto sam napravio dva potpuno ista programa. Onaj sa readkey nije radio, a onaj drugi (x:=x+10) jest. Srki_82, koristio sam i tvoju proceduru za ucitavanje, ali ni ona nije pomogla). Ja mislim da je ipak problem u kompajleru.
Copyright (C) 2001-2025 by www.elitesecurity.org. All rights reserved.
|