Vytah do pascalu

Programovacie jazyky, rady, poradňa...
Cenayus
Medium Professional
Medium Professional
Používateľov profilový obrázok
Príspevky: 1126
Registrovaný: 24 jan 2006, 15:15
Bydlisko: Poprad
Kontaktovať používateľa:

Vytah do pascalu

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

nazdar potreboval by som urobit do pascalu vytah..
predsavujem si ta asi takto ze zadam cislo poschodia a ten vytah tam dojde...a poschodia budu ocislovane..viete mi niekto pomoct?
a potreboval by som k tomu aj popis naco jednotlive veci sluzia
dakujem
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Re: Vytah do pascalu

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

Cenayus napísal:nazdar potreboval by som urobit do pascalu vytah..
predsavujem si ta asi takto ze zadam cislo poschodia a ten vytah tam dojde...a poschodia budu ocislovane..viete mi niekto pomoct?
a potreboval by som k tomu aj popis naco jednotlive veci sluzia
dakujem
a ako tam má dojsť? nakresli ako to má asi vyzerať, lebo si to nejak neviem predstaviť
Cenayus
Medium Professional
Medium Professional
Používateľov profilový obrázok
Príspevky: 1126
Registrovaný: 24 jan 2006, 15:15
Bydlisko: Poprad
Kontaktovať používateľa:

Re: Vytah do pascalu

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

audiotrack napísal:a ako tam má dojsť? nakresli ako to má asi vyzerať, lebo si to nejak neviem predstaviť
akurat som to dokreslil a ze tu pridem dat obrazok.....nahoda:-)
Prílohy
vytah.JPG
vytah.JPG (8.72 KiB) 766 zobrazení
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á byť robené grafikou, alebo stačí vykresliť obdlžniky z ACII znakov a to stlačené poschodie nejak vyfarbyť, napríklad na bielo?
lebo s grafikou sa mi nechce babrať, ani nemám žiadnu knižnicu (vlastne ani pascal, ale to je jedno.. delphi ho nahradí)
Cenayus
Medium Professional
Medium Professional
Používateľov profilový obrázok
Príspevky: 1126
Registrovaný: 24 jan 2006, 15:15
Bydlisko: Poprad
Kontaktovať používateľa:

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

audiotrack napísal:to má byť robené grafikou, alebo stačí vykresliť obdlžniky z ACII znakov a to stlačené poschodie nejak vyfarbyť, napríklad na bielo?
lebo s grafikou sa mi nechce babrať, ani nemám žiadnu knižnicu (vlastne ani pascal, ale to je jedno.. delphi ho nahradí)
v podstate to je jedno ak to bude fungovat nejak tak moze to byt hocijako..len keby si aj vysvetlil co naco sluzi bol by som vzdacni..dik
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 niečo som zklincoval. Komentáre sa mi nechceli písať, treba sa pýtať ak niečomu nerozumieš. Ostatní: ak máte výhrady spravte svoju verziu, táto téma tu bola dlho otvorená a nikto mu neodpisoval tak som sa toho musel ujať ja

//edit: ja trtko, veď som zabudol na zdroják :oops: :lol:

Kód: Vybrať všetko

program vytah;
uses CRT;
var poschodie:integer;
label start;

 procedure vykreslivytah(x,y:integer);
 var I,J:integer;
 begin
  gotoxy(x,y);
  write(chr(201));
  for I:=1 to 5 do write(chr(205));
  writeln(chr(187));
  for I:=1 to 8 do
   begin
    for J:=1 to x-1 do write(' ');
    write(chr(186));
    for J:=1 to 5 do write(' ');
    writeln(chr(186));
   end;
  for I:=1 to x-1 do write(' ');
  write(chr(200));
  for I:=1 to 5 do write(chr(205));
  write(chr(188));
 end;

 procedure farbavytahu(x,y:integer);
 var I,J:integer;
 begin
  gotoxy(1,y);
  For I:=1 to 10 do
   begin
    for J:=1 to x-1 do write(' ');
    for J:=1 to 7 do write(chr(219));
    writeln;
   end;
 end;

begin
 vykreslivytah(3,2);
 vykreslivytah(3,13);
 vykreslivytah(3,24);
 writeln;
 gotoxy(25,4);
 write('Zadaj poschodie: ');
 start:
 read(poschodie);
 case poschodie of
 1: begin
    farbavytahu(3,24);
    vykreslivytah(3,2);
    vykreslivytah(3,13);
    end;
 2: begin
    farbavytahu(3,13);
    vykreslivytah(3,2);
    vykreslivytah(3,24);
    end;
 3: begin
    farbavytahu(3,2);
    vykreslivytah(3,13);
    vykreslivytah(3,24);
    end;
 end;
 gotoxy(42,4);
 goto start;
 repeat until keypressed;
end.
//edit2: teraz pozerám že si to môžeš vyladiť. Ten repeat until keypressed aj posledný gotoxy tam ani nemusí byť
Prílohy
VYTAH.rar
ukážka hotového exéčka
(3.72 KiB) 86 stiahnutí
Cenayus
Medium Professional
Medium Professional
Používateľov profilový obrázok
Príspevky: 1126
Registrovaný: 24 jan 2006, 15:15
Bydlisko: Poprad
Kontaktovať používateľa:

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

velmi ti dakujem...a mohol by si poppisat jednotlive funkcie?? ze naco je napr gotoxy a tak chapes popis tie jednotlive veci...tak skratke jednoduchu..
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 »

Cenayus napísal:velmi ti dakujem...a mohol by si poppisat jednotlive funkcie?? ze naco je napr gotoxy a tak chapes popis tie jednotlive veci...tak skratke jednoduchu..
gotoxy(x:integer,y:integer) - príkaz knižnice CRT ktorý nastaví kurzor na súradnice x,y
a ktoré ešte nevieš? to ti mám vypisovať všetko? načo je write? to sa mi teda nechce a okrem iného máš v pascale pomocníka
Cenayus
Medium Professional
Medium Professional
Používateľov profilový obrázok
Príspevky: 1126
Registrovaný: 24 jan 2006, 15:15
Bydlisko: Poprad
Kontaktovať používateľa:

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

audiotrack napísal:gotoxy(x:integer,y:integer) - príkaz knižnice CRT ktorý nastaví kurzor na súradnice x,y
a ktoré ešte nevieš? to ti mám vypisovať všetko? načo je write? to sa mi teda nechce a okrem iného máš v pascale pomocníka
ee uz len ak by si mohol "procedre" "goto star"

repeat until keypressed
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 »

Cenayus napísal:ee uz len ak by si mohol "procedre" "goto star"

repeat until keypressed
procedure je podprogram. Definuje sa ešte pred begin hlavného programu a je to menšia časť ktorá sa vykonáva a používa na viacerých miestach nech to vždy nemusím vypisovať. Potom ju iba zavolám jej menom. V týchto dvoch mi vystupujú aj argumenty, konkrétne dve integer čísla ktoré označujú súradnice ľavého horného rohu

goto start je príkaz skoku na návestie štart. štart si deklaruješ medzi premennými kľúčovým slovom label, a potom ho niekde použiješ. V našom prípade pred načítaním premennej. Na toto miesto sa skočí zavolaním príkazu goto nazov_navestia. Toto sa dá dosiahnúť aj nekonečným cyklom, napríklad na začiatku dáš nejakú logickú premennú na true, a potom dáš while premenna do begin ... end; Jeden alebo druhý spôsob sa používa keď chceš spraviť niečo čo sa má stále vykonávať, inač by sa po prvom čísle a vykreslení program ukončil

repeat until keypressed je vykonávanie prázdneho príkazu až do stlačenie klávesy. To som tam mal najskôr, potom som to prerobil a aj som ti písal že to môžeš zmazať, lebo sa na to miesto ani nedostaneš kôli skoku goto
Cenayus
Medium Professional
Medium Professional
Používateľov profilový obrázok
Príspevky: 1126
Registrovaný: 24 jan 2006, 15:15
Bydlisko: Poprad
Kontaktovať používateľa:

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

ok skvele dakujemmm
Napísať odpoveď