Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

[TUT][PASCAL] Ruszaj sie po CMD, znajdź skarb i unikaj morderczego żółwia


Rekomendowane odpowiedzi

Opublikowano

Witajcie!

 

Grzebałem po swoich syfach... i co znalazłem? Dinozaura! A mianowicie gierkę wykonaną w Pascalu. Polega ona na znalezieniu skarbu oraz na unikaniu żółwia (można uczynić oba niewidzialnym).

 

#Kod

 

 

uses crt;

var
 zx, zy, px, py, sx, sy: integer;
 ruch: char;

Label
  E, E2, E3;

begin

GoToXY (25, 15);
WriteLn( 'Aby rozpoczac gre wcisnij Enter');
GoToXY (25, 16);
WriteLn( 'Sterowanie: W-gora, S-dol, A-lewo, D-prawo');
GoToXY (25, 17);
WriteLn( 'Twoim zadaniem jest znalezc skarb. Uwazaj na zolwia!');

 ruch:=ReadKey;


{player}
Px:=5;
Py:=8;
{zolw}
zx:=random(30)+1;
zy:=random(30)+1;
{skarb}
sx:=random(30)+1;
sy:=random(30)+1;

E:
  ClrScr;
  GoToXY(px,py);
  Write('+');
  GoToXY (zx,zy);
  Write ('*(ZOLW)');
  GoToXY (sx,sy);
  Write ('*(Skarb)');

If (px=zx) and (py=zy) Then GoTo E2;
If (px=sx) and (py=sy) Then GoTo E3;

Ruch:=ReadKey;
 If ruch='w' Then
 begin
 py:=py-1;

 GoTo E;
 end;

 If ruch='s' Then
 begin
 py:=py+1;
 GoTo E;
 end;

 If ruch='a' Then
 begin
 px:=px-1;
 GoTo E;
 end;

 If ruch='d' Then
 begin
 px:=px+1;
 GoTo E;
 end;



 E2:
 ClrScr;
 GoToXY(20, 8);
 WriteLn('(ZOLW)');
 GoToXY(25, 15);
 WriteLn('Game Over');
 Readln;


 E3:
 ClrScr;
 GoToXY(25, 15);
 WriteLn('You Win!');
 Readln;

End.

 

 

 

#Wytłumaczenie

 

Deklaracja modułu CRT:

uses crt;

 

Deklaracja zmiennych wraz z ich typami:

var
 zx, zy, px, py, sx, sy: integer;
 ruch: char;

 

Deklaracja tabel:

Label
  E, E2, E3;

 

Rozpoczęcie skryptu (begin) oraz pokazanie na danych koordach zdań powitalnych:

begin
GoToXY (25, 15);
WriteLn( 'Aby rozpoczac gre wcisnij Enter');
GoToXY (25, 16);
WriteLn( 'Sterowanie: W-gora, S-dol, A-lewo, D-prawo');
GoToXY (25, 17);
WriteLn( 'Twoim zadaniem jest znalezc skarb. Uwazaj na zolwia!');

 

Czytanie klawiszy dla ruchu bohaterem(+):

 ruch:=ReadKey;

 

Ustalanie losowych koordów dla żółwia, skarbu oraz wyznaczonych (5,8) dla gracza (komentarze umieszczone są w {}):

{player}
Px:=5;
Py:=8;
{zolw}
zx:=random(30)+1;
zy:=random(30)+1;
{skarb}
sx:=random(30)+1;
sy:=random(30)+1;

 

Tabela odświeżająca co ruch nasz ekran gierki i wypisująca na nich nasze nazwy/oznaczenia:

E:
  ClrScr;
  GoToXY(px,py);
  Write('+');
  GoToXY (zx,zy);
  Write ('*(ZOLW)');
  GoToXY (sx,sy);
  Write ('*(Skarb)');

 

Deklaracja If`ów - jeżeli nasz gracz będzie na polu żółwia/skarbu to przenosi nas do odpowiednich tabel:

If (px=zx) and (py=zy) Then GoTo E2;
If (px=sx) and (py=sy) Then GoTo E3;

 

Deklaracja ruchu i dodanie jego działania:

Ruch:=ReadKey;
 If ruch='w' Then
 begin
 py:=py-1;
 GoTo E;
 end;

 If ruch='s' Then
 begin
 py:=py+1;
 GoTo E;
 end;

 If ruch='a' Then
 begin
 px:=px-1;
 GoTo E;
 end;

 If ruch='d' Then
 begin
 px:=px+1;
 GoTo E;
 end;

 

Tabela (funkcja) gdy wejdziemy na żółwia:

E2:
 ClrScr;
 GoToXY(20, 8);
 WriteLn('(ZOLW)');
 GoToXY(25, 15);
 WriteLn('Game Over');
 Readln;

 

Tabela (funkcja) gdy wejdziemy na skarb:

E3:
 ClrScr;
 GoToXY(25, 15);
 WriteLn('You Win!');
 Readln;

 

Zakonczenie (NALEŻY PAMIĘTAĆ, ŻE Z KROPKĄ DAJEMY TYLKO NA SAMYM KOŃCU, W POZOSTAŁYCH PRZYPADKACH STOSUJEMY ŚREDNIK!):

End.

 

#Czym kompilowałem?

Jak dobrze pamiętam to Dev-Pascal

 

Kiedyś... lecz obecnie nie mam jak tego skompilować i opatrzyć.

9obpmnjr.png

Weteran
Opublikowano

Nic nadzwyczajnego, widziało się lepsze rzeczy w konsoli : >

Nie znam się zbytnio na pascal`u, ale po tej funkcji E2 powinno być coś co przerywa dalszą instrukcję, bo wchodzi do następnej funkcji, przez co przegrywając i tak wygramy :]

 

Ruszaj sie po CMD, znajdź skarb i unikaj morderczego żółwia

brzmi to 100 razy lepiej niż wygląda sama gra :D

Opublikowano

Nic nadzwyczajnego, widziało się lepsze rzeczy w konsoli : >

Nie znam się zbytnio na pascal`u, ale po tej funkcji E2 powinno być coś co przerywa dalszą instrukcję, bo wchodzi do następnej funkcji, przez co przegrywając i tak wygramy :]

 

 

brzmi to 100 razy lepiej niż wygląda sama gra :D

 

Trzeba jakoś zachęcić :P. A tak na serio... wyraźnie napisałem, iż jest to dinozaur i to że nie mam jak tego skompilować obecnie i opatrzyć. Tu głównie chodzi by osoby chcące poznać pascala/ lub nie znające dla czystej nowinki zobaczyły jak co wygląda i jak to można zastosować.

 

 

@down

tabela? LOL

To jest co najwyżej żałosna "procedura" pod którą skaczesz goto, jakby pascal nie miał procedur. No się po prostu serce kraje jak widze taki kod.

Zanim coś opublikujesz zastanów się czy jest sens. Aczkolwiek koncepcja ciekawa...

 

Naucz się czytać wypowiedzi.

9obpmnjr.png

Opublikowano

tabela? LOL

To jest co najwyżej żałosna "procedura" pod którą skaczesz goto, jakby pascal nie miał procedur. No się po prostu serce kraje jak widze taki kod.

Zanim coś opublikujesz zastanów się czy jest sens. Aczkolwiek koncepcja ciekawa...

@up

ja pierdole...

Tabela... i jeszcze ta twoja wypowiedź. I jeszcze ten temat...

człowieku za co ty dostałeś to MPC Coders Team? Za skopiowanego czita do WR? Czy może za jakiegoś chujowego klienta(czy jak to się tam nazywa) do MC? Bo jak dla mnie osoba która nie wiem czym są label'e i mówi na nie tabele mnie rozwala.

Cytat

 

Orientacja seksualna polega na tym, że jeden mężczyzna lubi blondynki, drugi szatynki, że jedna pani woli umięśnionych mężczyzn a inna chudych intelektualistów. Homoseksualizm nie jest orientacją jest chorobą za którą homoseksualiści nie ponoszą odpowiedzialności. Pewna grupa ludzi rodzi się upośledzona fizycznie, na przykład bez ręki ale czy to znaczy, że wszystkim zdrowym powinniśmy też obcinać ręce? Nie, powinniśmy zapewnić im protezy. Obowiązkiem państwa jest zapewnienie homoseksualistom, jak wszystkim upośledzonym fizycznie czy psychicznie profesjonalnej opieki medycznej.

Opublikowano

Ja pamiętam swoją grę w ASCII/ANSI, masakryczny kod ale działała :E

Nawet mam kilka screenów ^.^

 

mainmen.png

 

scr1g.png

 

scr2av.png

 

scr3j.png

 

scr4ox.png

 

Gra napisana po nieco lepszym opanowaniu pascala. Nigdy nie została dokończona :<

Trochę bazowałem na ZZT i trochę na podobnej do ZZT (nie pamiętam nazwy).

YOU MUST DIE

- Ganon, Koridai

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...