grafika v pascale prosim strasne surne
grafika v pascale prosim strasne surne
potrebujem 2 programy, ktoré by riešili nejakú grafickú úlohu v Turbo Pascale, napr. kamarát nakreslil flašu, ktorá bola plná vody z boku prišiel špendlík a prepichol flašu a tá sa následne vyliala, tak niečo také by to malo byť môže to byť aj jednoduchšie
Takze zalezi od toho, aku zlozitu animaciu potrebujes.
V mojom archive som nasiel uplne jednoduchu animaciu postavy. Neviem, aku kniznicu ste pouzivali vy na grafiku, ale ta nasa bola grafika.tpu. Takze zdrojak:
Pripadne mozem prerobit nieco 
Neviem, ci to bude vyhovovat, kedze ide fakt o uplne jednoduchu animaciu.program animacia;
uses grafika;
var i:integer;
procedure postava(x,y:integer);
begin
circle(x,y,10);
line(x,y+10,x,y+40);
line(x-8,y+20,x,y+25);
line(x+8,y+20,x,y+25);
line(x,y+40,x-10,y+65);
line(x,y+40,x+10,y+65);
end;
begin
for i:=1 to 50 do
begin
delay(100);
setcolor(0);
postava(47+i*3,200);
setcolor(15);
postava(50+i*3,200);
end;
end.
-
host5
Light Star
- Príspevky: 249
- Registrovaný: 07 feb 2007, 17:02
- Bydlisko: Šamorín
- Kontaktovať používateľa:
PASCAL program a grafika
custe.potreboval by som suuuuuuuuuuuuuuuuuuuuuuurne este dnes spravit program v pascaly ktory by obsahoval grafiku , polie,retazec... ale NENAROCNY! pls ak ma niekto cas napise mi na icq alebo do tejto temy bol bysom velmi vdacny. Namet: plavajuce rybky v mori. diki

-
audiotrack
VIP
- Príspevky: 25958
- Registrovaný: 09 sep 2005, 18:39
- Kontaktovať používateľa:
používame knižnicu graph tak niečo také kde je použitá tá knižnica by som potrebovalppt napísal:Takze zalezi od toho, aku zlozitu animaciu potrebujes.V mojom archive som nasiel uplne jednoduchu animaciu postavy. Neviem, aku kniznicu ste pouzivali vy na grafiku, ale ta nasa bola grafika.tpu. Takze zdrojak: Neviem, ci to bude vyhovovat, kedze ide fakt o uplne jednoduchu animaciu.
Pripadne mozem prerobit nieco
-
audiotrack
VIP
- Príspevky: 25958
- Registrovaný: 09 sep 2005, 18:39
- Kontaktovať používateľa:
Tak som vyhrabal nejaký starý program v Pascale (jeden z jednoduchších)A tu je jeden (veľmi hlúpy) spôsob, ako pridať obrázok do Pascalu
// chrono: ešte mám aj iné (napr. tetris), ale tie už sú o dosť zložitejšie. Ešte niečo pridám:
Kód: Vybrať všetko
uses crt,graph;
const
max=12;
var
gd,gm:integer;
pole:array[0..max]of PointType;
smer:array[0..max-1,0..1]of Shortint;
i: Byte;
begin
gd:=Detect;
initgraph(gd, gm, 'c:\borland\bp\bgi');
if GraphResult <> grOK then Halt(2);
{ SetLineStyle(0, 0, 3);}
setfillstyle(1, 15);
bar(0, 0, GetMaxX, GetMaxY);
randomize;
for i:=0 to max-1 do
begin
pole[i].x:=random(GetMaxX + 1);
pole[i].y:=random(GetMaxY + 1);
repeat
smer[i,0]:=random(9)-4;
until smer[i,0]<>0;
repeat
smer[i,1]:=random(9)-4;
until smer[i,1]<>0;
end;
pole[max]:=pole[0];
DrawPoly(max+1,Pole);
repeat
setcolor(0);
DrawPoly(max+1,Pole);
for i:=0 to max-1 do
begin
inc(pole[i].x,smer[i,0]);
inc(pole[i].y,smer[i,1]);
if pole[i].x > GetMaxX then smer[i,0]:=random(4)-4;
if pole[i].y > GetMaxY then smer[i,1]:=random(4)-4;
if pole[i].x < 0 then smer[i,0]:=random(4)+1;
if pole[i].y < 0 then smer[i,1]:=random(4)+1;
end;
pole[max]:=pole[0];
setcolor(15);
DrawPoly(max+1,Pole);
delay(25);
until keypressed;
readkey;
closegraph;
end.// chrono: ešte mám aj iné (napr. tetris), ale tie už sú o dosť zložitejšie. Ešte niečo pridám:
Kód: Vybrať všetko
uses crt, graph;
const
paleta:array[0..15]of Byte=(0,1,2,3,4,5,20,7,56,57,58,59,60,61,62,63);
var
gd, gm: Integer;
i, Max, j: Byte;
Poloha: Integer;
sx, sy: Word;
Smer: Boolean;
Pole:array[0..6]of Byte;
Pom: Byte;
begin
gd:=9;
gm:=2;
InitGraph(gd, gm, 'd:\borland\bp\bgi');
SetLineStyle(SolidLn, $0, ThickWidth);
sx:=320;
sy:=240;
max:=14; {Pocet srdcˇ maxim lne 14. Ak potrebujes farbu na kreslenie
tak nastav cislo mensie. Pouzivaju sa farby 0=pozadie,
1 az max+1 = farba srdca}
for i:=0 to max do setrgbpalette(paleta[i+1], 63, 0, 0);
For i:=0 to max do
begin
pom:=33; {Cˇm je tu cˇslo vacsie tym je vacsie vnutorne srdce}
j:=i+pom;
SetColor(i+1);
MoveTo(sx+j*4, sy);
LineTo(sx, sy+j*4);
LineTo(sx-j*4, sy);
Arc(sx-j*2, sy-j*2, 45, 225, round(j*2*sqrt(2)));
Arc(sx+j*2, sy-j*2, 315, 135, round(j*2*sqrt(2)));
end;
for i:=max downto 0 do
begin
delay(60);
setrgbpalette(paleta[i+1], 0, 0, 0);
end;
Poloha:=0;
Smer:=True;
repeat
{ ******* Nechaj tuto ************ }
{ for i:=5 downto 0 do
begin
SetRGBPalette(Paleta[Pole[i]+1], 63 shr (i+1), 0, 0);
end;(*}
{ ******* alebo tuto cast ******** }
SetRGBPalette(Paleta[Poloha+1], 0, 0, 0);(**)
if Smer then
begin
inc(Poloha);
if Poloha=Max then Smer:=False;
end
else
begin
dec(Poloha);
if Poloha=0 then Smer:=True;
end;
Move(Pole, Pole[1], 5);
Pole[0]:=Poloha;
SetRGBPalette(Paleta[Poloha+1], 63, 0, 0);
delay(50); {Pauzu nastav podla poctu srdc}
Until Keypressed;
ReadKey;
CloseGraph;
end.- Prílohy
-
- mys.rar
- (22.58 KiB) 87 stiahnutí
-
programator
Medium Star
- Príspevky: 475
- Registrovaný: 18 apr 2005, 8:31
- Bydlisko: Papua new Guinea
- Kontaktovať používateľa:
-
audiotrack
VIP
- Príspevky: 25958
- Registrovaný: 09 sep 2005, 18:39
- Kontaktovať používateľa:
host5: tu mas nieco uplne jednoduche
Kód: Vybrať všetko
program lopta;
uses CRT;
var x:integer;
begin
repeat
for x:=2 to 80 do begin
gotoxy(x-1,3);
write(' o');
delay(50)
end;
for x:=80 downto 2 do begin
gotoxy(x-1,3);
write('o ');
delay(50)
end;
until keypressed;
end.
host5 napísal:anti ale nieco s grafikou tam nemas? lebo toto je s pismenom a ja potrebujem dat do pohybu obrazok. Diky.
Kód: Vybrať všetko
program lopta;
uses CRT,graph;
var x,y:integer;
d,m : smallint; { ak pouzivas BorlandPackal , tak smallint prepis na integer }
begin
d:=9; m:=2;
initgraph(d,m,'g:/aaa');
repeat
cleardevice; y:=40;
for x:=30 to 100 do begin
ellipse(x,y,0,360,20,20);
delay(50); cleardevice;
end;
for x:=100 downto 30 do begin
ellipse(x,y,0,360,20,20);
delay(50); cleardevice;
end;
until keypressed;
end.