[ Príspevkov: 2 ] 
AutorSpráva
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 03.02.11
Prihlásený: 14.01.13
Príspevky: 99
Témy: 17 | 17
NapísalOffline : 08.03.2012 15:11 | pascal - program(auticka) - preteky

cawte .. robim si taky program v lazaruse a chcel by som v niecom poradit nejake IF-y, dodat do tohto mojho programu len nevime presne ako ich mam zadefinovat, vopred sa ospravedlnujem za moju upravu v pascale :D nakolko sme sa upravu ani v skole ani nikde neucili ..tak :
Kód:
program project1;
uses crt;

var

x,y, c, v, n, m,k, l,p,o : integer;
    a : char;


begin
   // ciel
 gotoxy (5,23);
 writeln ('________');
  gotoxy (4,25);
 writeln ('|        |');
 gotoxy (4,24);
 writeln ('|        |');
  gotoxy (7,24);
 writeln ('CIEL');
  gotoxy (5,25);
 writeln ('________');
 // JEBE TO
     //  start
 gotoxy (1,3);
 writeln ('S');
 gotoxy (1,4);
 writeln ('T');
  gotoxy (1,5);
 writeln ('A');
  gotoxy (1,6);
 writeln ('R');
 gotoxy (1,7);
 writeln ('T');
 //JEBE TO

  // prava krajnica      po prvu zakrutu
  gotoxy (1,1);
 writeln ('______________________________________________________________________') ;


  gotoxy (70,2);
 writeln ('|') ;
 gotoxy (70,3);
 writeln ('|');
 gotoxy (70,4);
 writeln ('|');
   gotoxy (70,5);
 writeln ('|') ;
 gotoxy (70,6);
 writeln ('|');
 gotoxy (70,7);
 writeln ('|');
   gotoxy (70,8);
 writeln ('|') ;
 gotoxy (70,9);
 writeln ('|');
 gotoxy (70,10);
 writeln ('|');
   gotoxy (70,11);
 writeln ('|') ;
 gotoxy (70,12);
 writeln ('|');
 gotoxy (70,13);
 writeln ('|');
 gotoxy (70,14);
 writeln ('|');
 gotoxy (70,15);
 writeln ('|');
 gotoxy (70,16);
 writeln ('|');
 gotoxy (70,17);
 writeln ('|');
 gotoxy (70,18);
 writeln ('|');
 // prava krajnica druhy riadok
       gotoxy (5,13);
 writeln ('________________________________________________________') ;
   gotoxy (4,14);
 writeln ('|') ;
 gotoxy (4,15);
 writeln ('|') ;
 gotoxy (4,16);
 writeln ('|') ;
 gotoxy (4,17);
 writeln ('|') ;
 gotoxy (4,18);
 writeln ('|') ;
 gotoxy (4,19);
 writeln ('|') ;
 gotoxy (4,20);
 writeln ('|') ;
 gotoxy (4,21);
 writeln ('|') ;
 gotoxy (4,22);
 writeln ('|') ;
 gotoxy (4,23);
 writeln ('|') ;
 //lava krajnica
 gotoxy (14, 18);
  writeln ('________________________________________________________') ;
   gotoxy (13,19);
 writeln ('|') ;
 gotoxy (13,20);
 writeln ('|') ;
 gotoxy (13,21);
 writeln ('|') ;
 gotoxy (13,22);
 writeln ('|') ;
 gotoxy (13,23);
 writeln ('|') ;

 //lava krajnica
      gotoxy (1,8);
 writeln ('____________________________________________________________') ;

  gotoxy (61,9);
 writeln ('|');
 gotoxy (61,10);
 writeln ('|');
   gotoxy (61,11);
 writeln ('|') ;
 gotoxy (61,12);
 writeln ('|');
 gotoxy (61,13);
 writeln ('|');

   x:=3;               //AUTO
   y:=2 ;
   gotoxy (x,y);
  writeln ('* *') ;

c:=3             ;
v:=3            ;
  gotoxy (c,v) ;
  writeln ('***');
  n:=3             ;
m:=4            ;
  gotoxy (n,m) ;
  writeln ('* *');             //AUTO
   repeat                     //POHYB AUTA
  a:=readkey;


  clrscr;
    // ciel
 gotoxy (5,23);
 writeln ('________');
  gotoxy (4,25);
 writeln ('|        |');
 gotoxy (4,24);
 writeln ('|        |');
  gotoxy (7,24);
 writeln ('CIEL');
  gotoxy (5,25);
 writeln ('________');
 // JEBE TO
     //  start
 gotoxy (1,3);
 writeln ('S');
 gotoxy (1,4);
 writeln ('T');
  gotoxy (1,5);
 writeln ('A');
  gotoxy (1,6);
 writeln ('R');
 gotoxy (1,7);
 writeln ('T');
 //JEBE TO

  // prava krajnica      po prvu zakrutu
  gotoxy (1,1);
 writeln ('______________________________________________________________________') ;


  gotoxy (70,2);
 writeln ('|') ;
 gotoxy (70,3);
 writeln ('|');
 gotoxy (70,4);
 writeln ('|');
   gotoxy (70,5);
 writeln ('|') ;
 gotoxy (70,6);
 writeln ('|');
 gotoxy (70,7);
 writeln ('|');
   gotoxy (70,8);
 writeln ('|') ;
 gotoxy (70,9);
 writeln ('|');
 gotoxy (70,10);
 writeln ('|');
   gotoxy (70,11);
 writeln ('|') ;
 gotoxy (70,12);
 writeln ('|');
 gotoxy (70,13);
 writeln ('|');
 gotoxy (70,14);
 writeln ('|');
 gotoxy (70,15);
 writeln ('|');
 gotoxy (70,16);
 writeln ('|');
 gotoxy (70,17);
 writeln ('|');
 gotoxy (70,18);
 writeln ('|');
 // prava krajnica druhy riadok
       gotoxy (5,13);
 writeln ('________________________________________________________') ;
   gotoxy (4,14);
 writeln ('|') ;
 gotoxy (4,15);
 writeln ('|') ;
 gotoxy (4,16);
 writeln ('|') ;
 gotoxy (4,17);
 writeln ('|') ;
 gotoxy (4,18);
 writeln ('|') ;
 gotoxy (4,19);
 writeln ('|') ;
 gotoxy (4,20);
 writeln ('|') ;
 gotoxy (4,21);
 writeln ('|') ;
 gotoxy (4,22);
 writeln ('|') ;
 gotoxy (4,23);
 writeln ('|') ;
 //lava krajnica
 gotoxy (14, 18);
  writeln ('________________________________________________________') ;
   gotoxy (13,19);
 writeln ('|') ;
 gotoxy (13,20);
 writeln ('|') ;
 gotoxy (13,21);
 writeln ('|') ;
 gotoxy (13,22);
 writeln ('|') ;
 gotoxy (13,23);
 writeln ('|') ;

 //lava krajnica
      gotoxy (1,8);
 writeln ('____________________________________________________________') ;

  gotoxy (61,9);
 writeln ('|');
 gotoxy (61,10);
 writeln ('|');
   gotoxy (61,11);
 writeln ('|') ;
 gotoxy (61,12);
 writeln ('|');
 gotoxy (61,13);
 writeln ('|');




If  a=#72 then  y:= y-1  ;
 If  a=#80 then y:= y+1 ;
 if  a=#75 then x:= x-1;
 if  a=#77 then x:=x+1;
 gotoxy (x,y);
  writeln ('* *') ;





If  a=#72 then  v:= v-1  ;
 If  a=#80 then v:= v+1 ;
 if  a=#75 then c:= c-1;
 if  a=#77 then c:=c+1;
 gotoxy (c, v);
  writeln ('***') ;



If  a=#72 then  m:= m-1  ;
 If  a=#80 then m:= m+1 ;
 if  a=#75 then n:= n-1;
 if  a=#77 then n:=n+1;
 gotoxy (n, m);
  writeln ('* *') ;


   until a=(#13);             //POHYB AUTA




end.
         


takze potrebujem napriklad poradit IF-ko ked stacim sipku dole hore napriklad aby otocilo auto znova vypisem setko.
dalej ked naburam aby ubralo jednu hviezdicku z vozidla
a ENter a=(#13) ti resetne vozidlo na predchadzajucu poziciu .. za vsetky rady dakujem ..


Offline

Skúsený užívateľ
Skúsený užívateľ
Obrázok užívateľa

Registrovaný: 17.07.11
Prihlásený: 29.12.20
Príspevky: 1516
Témy: 3 | 3
NapísalOffline : 08.03.2012 16:52 | pascal - program(auticka) - preteky

Zle, zle, celé zle. Pascal nemám, nespúšťal som to, ale už na pohľad je to zle.
Robiť hru sekvenčne je samovražda (akúkoľvek, aj takúto jednoduchú)

Skús to prepísať s tým, že dodržíš túto osnovu:

1.) Telo programu by malo byť čo najkratšie - pár riadkov. Telo programu by v tomto prípade mohlo vyzerať nejako takto:
Kód:
begin
  premenna = 0; { nulovanie hlavnych premennych }
 
  nejakeSilneIntro ();

  while ( hraBezi )
  {
     r = readkey;
     upravObjektKedBoloStlacene ( r );
     vyhodnotSvet;
     vykresliSvet;
  }

end.


2.) Všetko podstatné sa deje v procedúrach/funkciách.
Procedúra upravObjektKedBoloStlacene() by mohla obsahovať niečo na úpravu (len úpravu!) súradníc auta.
Procedúra vyhodnotSvet() by mohla obsahovať vyhodnocovanie kolízií a prípadné ďalšie, dodatočné upravenie auta po nich. Plus upravenie sveta (ostatného), ak nejako reaguje.
Procedúra vykresliSvet() by to všetko LEN! vykreslila pekne naraz na príslušných pozíciách.

3.) Kód by mal byť čo najsymmbolickejší, to znamená, že by si ho mal písať nejako takto:
Kód:
if ( kolizia ( auto, stena ) ) then uberHviezdicku();
if ( jeEnter(r) ) then resetniVozidlo();

etc. a až následne tieto procedúry/funkcie implementovať podľa tvojich potrieb.
Možno sa to zdá zbytočné, ale skús to a uvidíš, že to, na čo sa pýtaš, budeš zrazu vedieť vyriešiť aj sám :)


 [ Príspevkov: 2 ] 


pascal - program(auticka) - preteky



Podobné témy

 Témy  Odpovede  Zobrazenia  Posledný príspevok 
V tomto fóre nie sú ďalšie neprečítané témy.

Preteky s ovládaním formuly na diaľku možno už čoskoro

v Novinky

1

573

20.08.2008 7:31

Poki

V tomto fóre nie sú ďalšie neprečítané témy.

Free Pascal a Turbo Pascal

v Assembler, C, C++, Pascal, Java

0

439

19.12.2014 13:18

Styracoz

V tomto fóre nie sú ďalšie neprečítané témy.

pascal

v Assembler, C, C++, Pascal, Java

0

755

03.05.2009 12:35

ebb

V tomto fóre nie sú ďalšie neprečítané témy.

Pascal

v Assembler, C, C++, Pascal, Java

4

2503

01.03.2018 8:02

MTK

V tomto fóre nie sú ďalšie neprečítané témy.

Pascal

v Assembler, C, C++, Pascal, Java

7

668

09.10.2011 21:30

F3RY

V tomto fóre nie sú ďalšie neprečítané témy.

Pascal

[ Choď na stránku:Choď na stránku: 1, 2 ]

v Assembler, C, C++, Pascal, Java

40

1578

11.12.2016 22:08

viki

V tomto fóre nie sú ďalšie neprečítané témy.

pascal

v Assembler, C, C++, Pascal, Java

11

1327

07.04.2007 16:50

programator

V tomto fóre nie sú ďalšie neprečítané témy.

Pascal

v Assembler, C, C++, Pascal, Java

7

879

14.05.2011 20:04

F3RY

V tomto fóre nie sú ďalšie neprečítané témy.

pascal

v Assembler, C, C++, Pascal, Java

19

3119

30.04.2007 19:54

nikita

V tomto fóre nie sú ďalšie neprečítané témy.

pascal

v Assembler, C, C++, Pascal, Java

2

620

24.06.2010 20:17

KatjushaMan

V tomto fóre nie sú ďalšie neprečítané témy.

Pascal

v Kôš

1

30

06.11.2018 14:38

werwest

V tomto fóre nie sú ďalšie neprečítané témy.

pascal...

v Assembler, C, C++, Pascal, Java

5

953

18.10.2008 19:02

redog

V tomto fóre nie sú ďalšie neprečítané témy.

pascal

v Assembler, C, C++, Pascal, Java

6

781

08.01.2009 17:45

majka090

V tomto fóre nie sú ďalšie neprečítané témy.

pascal

v Assembler, C, C++, Pascal, Java

2

1158

09.03.2007 14:08

misolax

V tomto fóre nie sú ďalšie neprečítané témy.

pascal-odmocnina

v Assembler, C, C++, Pascal, Java

6

6056

14.10.2007 11:44

juho

V tomto fóre nie sú ďalšie neprečítané témy.

Pascal milionár

v Assembler, C, C++, Pascal, Java

4

1133

06.01.2011 13:15

hogger



© 2005 - 2025 PCforum, edited by JanoF