Obsah fóra
PravidláRegistrovaťPrihlásenie




Odpovedať na tému [ 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
Príspevok NapísalOffline : 08.03.2012 15:11

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
Príspevok NapísalOffline : 08.03.2012 16:52

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 :)


Odpovedať na tému [ Príspevkov: 2 ] 


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

530

20.08.2008 7:31

Poki Zobrazenie posledných príspevkov

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

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

0

381

19.12.2014 13:18

Styracoz Zobrazenie posledných príspevkov

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

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

7

626

09.10.2011 21:30

F3RY Zobrazenie posledných príspevkov

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

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

11

1282

07.04.2007 16:50

programator Zobrazenie posledných príspevkov

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

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

7

822

14.05.2011 20:04

F3RY Zobrazenie posledných príspevkov

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

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

19

3054

30.04.2007 19:54

nikita Zobrazenie posledných príspevkov

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

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

2

566

24.06.2010 20:17

KatjushaMan Zobrazenie posledných príspevkov

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

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

5

901

18.10.2008 19:02

redog Zobrazenie posledných príspevkov

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

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

4

2031

01.03.2018 8:02

MTK Zobrazenie posledných príspevkov

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

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

6

727

08.01.2009 17:45

majka090 Zobrazenie posledných príspevkov

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

1448

11.12.2016 22:08

viki Zobrazenie posledných príspevkov

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

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

2

1101

09.03.2007 14:08

misolax Zobrazenie posledných príspevkov

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

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

0

698

03.05.2009 12:35

ebb Zobrazenie posledných príspevkov

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

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

6

1600

05.03.2009 2:36

TrSek Zobrazenie posledných príspevkov

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

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

1

350

18.06.2013 13:36

BX Zobrazenie posledných príspevkov

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

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

0

692

11.05.2008 13:09

Zdravotnik Zobrazenie posledných príspevkov


Nemôžete zakladať nové témy v tomto fóre
Nemôžete odpovedať na témy v tomto fóre
Nemôžete upravovať svoje príspevky v tomto fóre
Nemôžete mazať svoje príspevky v tomto fóre

Skočiť na:  

Powered by phpBB Jarvis © 2005 - 2024 PCforum, webhosting by WebSupport, secured by GeoTrust, edited by JanoF
Ako väčšina webových stránok aj my používame cookies. Zotrvaním na webovej stránke súhlasíte, že ich môžeme používať.
Všeobecné podmienky, spracovanie osobných údajov a pravidlá fóra