grafika v pascale prosim strasne surne

Programovacie jazyky, rady, poradňa...
kofee
Novice
Novice
Príspevky: 9
Registrovaný: 01 nov 2006, 14:48

grafika v pascale prosim strasne surne

Príspevok od používateľa kofee »

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
ppt
Darca
Darca
Používateľov profilový obrázok
Príspevky: 1920
Registrovaný: 27 máj 2006, 11:24
Kontaktovať používateľa:

Príspevok od používateľa ppt »

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:
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.
Neviem, ci to bude vyhovovat, kedze ide fakt o uplne jednoduchu animaciu. :wink: Pripadne mozem prerobit nieco :D
host5
Light Star
Light Star
Príspevky: 249
Registrovaný: 07 feb 2007, 17:02
Bydlisko: Šamorín
Kontaktovať používateľa:

PASCAL program a grafika

Príspevok od používateľa host5 »

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
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Príspevok od používateľa audiotrack »

to má obsahovať aj grafiku, aj pole aj reťazec, alebo iba niečo z toho?

//audiotrack: spojené témy
host5
Light Star
Light Star
Príspevky: 249
Registrovaný: 07 feb 2007, 17:02
Bydlisko: Šamorín
Kontaktovať používateľa:

Príspevok od používateľa host5 »

takze malo by to obsahovat grafiku na 100% atamto nemusi ale bolo by super keby to tam bolo pouzivame graph.tpu
kofee
Novice
Novice
Príspevky: 9
Registrovaný: 01 nov 2006, 14:48

Príspevok od používateľa kofee »

ppt 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. :wink: Pripadne mozem prerobit nieco :D
používame knižnicu graph tak niečo také kde je použitá tá knižnica by som potreboval
snake2
Medium Professional
Medium Professional
Príspevky: 1211
Registrovaný: 01 mar 2006, 20:27

Príspevok od používateľa snake2 »

zdarec. no ked som tu nasiel tuto temu , tak sa xcem spytat ako mozem vlozit obrazok zo suboru do pascala . stacilo by , aby to bol len nejaky monochronny obrazok .
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Príspevok od používateľa audiotrack »

no neviem či netrepem, ale asi nijak. Ešte som nevidel konzolový program s obrázkom.
host5
Light Star
Light Star
Príspevky: 249
Registrovaný: 07 feb 2007, 17:02
Bydlisko: Šamorín
Kontaktovať používateľa:

Príspevok od používateľa host5 »

kofee mne ten program akosi nejde dal som tam aj initgraph a nic :(
ako to mam spravit aby to spustilo?
chrono
VIP
VIP
Používateľov profilový obrázok
Príspevky: 7127
Registrovaný: 25 dec 2006, 15:17

Príspevok od používateľa chrono »

Tak som vyhrabal nejaký starý program v Pascale (jeden z jednoduchších)

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.
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
  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í
host5
Light Star
Light Star
Príspevky: 249
Registrovaný: 07 feb 2007, 17:02
Bydlisko: Šamorín
Kontaktovať používateľa:

Príspevok od používateľa host5 »

chrono ten program je dobry len skoda ze nepoznam niektore slova co si tam dal napr. GraphResult, inc to sme sa este neucili :(


Vedel by mi niekto spravit program 3 plavajucich ryb vo vode? pls pls pls pls pls pls pls pls este dnes plsplsplsplsplsplsplsplspls :? :? :? :( :( :?
pershing
Guru
Guru
Používateľov profilový obrázok
Príspevky: 2974
Registrovaný: 23 dec 2006, 15:08

Príspevok od používateľa pershing »

audiotrack napísal:no neviem či netrepem, ale asi nijak. Ešte som nevidel konzolový program s obrázkom.
myslim ze v JAVE sa to da..
programator
Medium Star
Medium Star
Používateľov profilový obrázok
Príspevky: 475
Registrovaný: 18 apr 2005, 8:31
Bydlisko: Papua new Guinea
Kontaktovať používateľa:

Príspevok od používateľa programator »

pershing napísal:myslim ze v JAVE sa to da..
Myslim ze sa to da aj v pascali, lenze tam sa da tusim dosiahnut max 256 farieb v grafickom mode...takze ten obrazok by musel mat iba 8bitov farebnu hlbku...
chrono
VIP
VIP
Používateľov profilový obrázok
Príspevky: 7127
Registrovaný: 25 dec 2006, 15:17

Príspevok od používateľa chrono »

programator napísal:Myslim ze sa to da aj v pascali, lenze tam sa da tusim dosiahnut max 256 farieb v grafickom mode...takze ten obrazok by musel mat iba 8bitov farebnu hlbku...
Keď nepozná GraphResult ani inc, tak sotva bude vedieť použiť v Pascale nejaký obrázok. :)
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Príspevok od používateľa audiotrack »

chrono napísal:Keď nepozná GraphResult ani inc, tak sotva bude vedieť použiť v Pascale nejaký obrázok. :)
na ten obrazok sa pytal snake2 a nie ten co nevie GraphResult
chrono
VIP
VIP
Používateľov profilový obrázok
Príspevky: 7127
Registrovaný: 25 dec 2006, 15:17

Príspevok od používateľa chrono »

audiotrack napísal:na ten obrazok sa pytal snake2 a nie ten co nevie GraphResult
Aha. Po spojení tých dvoch tém sa v tom nejako neorientujem. :)
host5
Light Star
Light Star
Príspevky: 249
Registrovaný: 07 feb 2007, 17:02
Bydlisko: Šamorín
Kontaktovať používateľa:

Príspevok od používateľa host5 »

hosi potreboval by som nejaky uplne lahky program aby ukazoval pohyb obrazka napr kruznice zlava doprava pls ale bez procedur malo by to byt v cykle tak aby sa jeden pixel stale pripocitaval ale neviem ako to spravit omg :? :oops: . Diky.
Anti
Expert
Expert
Príspevky: 187
Registrovaný: 16 feb 2006, 18:04

Príspevok od používateľa Anti »

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
Light Star
Light Star
Príspevky: 249
Registrovaný: 07 feb 2007, 17:02
Bydlisko: Šamorín
Kontaktovať používateľa:

Príspevok od používateľa host5 »

anti ale nieco s grafikou tam nemas? lebo toto je s pismenom a ja potrebujem dat do pohybu obrazok. Diky. :roll:
snake2
Medium Professional
Medium Professional
Príspevky: 1211
Registrovaný: 01 mar 2006, 20:27

Príspevok od používateľa snake2 »

host5 napísal:anti ale nieco s grafikou tam nemas? lebo toto je s pismenom a ja potrebujem dat do pohybu obrazok. Diky. :roll:

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.
testovane v DEV-PAS
Napísať odpoveď