istredd`
Średnio zaawansowany
Dołączył: 14 Lut 2006
Posty: 37
Przeczytał: 0 tematów
Ostrzeżeń: 0/3 Skąd: Kraków
|
Temat postu: |
|
|
Na dzień dzisiejszy program jest bardzo prymitywny:
1. Wypelnia wszystkie pola
2. Tworzy uzytkownikow 2..4
3. Kazdy posiada imie, pieniadze, oraz lokalizacje
4, Zaczyna sie gra, w ktorej jak narazie kazda osoba ma losowana rzutem kostki liczbe pol o jakie sie przesuwa oraz oczywiscie gracz jest przesuwany. Gdy dojdzie do ostatniego pola [39] to zaczyna plansze od nowa [pola 0].
Oto kod:
Kod: | program monopoly;
uses crt; //graph;
type
pole = record
panstwo : string[15];
miasto : string[15];
wlasciciel : byte;
domy : byte;
hipoteka : integer;
end;
gracz = record
imie : string[30];
kasa : integer;
lok : byte;
end;
pl = array[1..4] of gracz;
pola = array[0..39] of pole;
function kostka(ktory : integer; var player : pl): integer;
var
x,y,ile : integer;
begin
Randomize;
clrscr;
for x := 1 to (random(8) + 3) do
begin
Writeln('Losowanie dla gracza ', player[ktory].imie,':');
Writeln(' ',random(6) + 1,' ',random(6) + 1);
delay(10 + x*100);
clrscr;
end;
x := (random(6) + 1);
y := (random(6) + 1);
Writeln('Losowanie dla gracza ', player[ktory].imie,':');
Write(' ',x,' ',y);
ile := x + y;
player[ktory].lok := player[ktory].lok + ile;
if player[ktory].lok >= 40 then player[ktory].lok := player[ktory].lok - 40;
kostka := ile;
end;
{function przesun(ile, gracz : byte) : pl;
begin
przesun[gracz].lok := przesun[gracz].lok + ile;
end; }
function players(var player : pl) : integer;
var
ile,i : integer;
begin
repeat
Write('Podaj ilosc graczy bioracych udzial w grze [2..4] : ');
Readln(ile);
until (ile > 1) and (ile < 5);
Writeln();
Writeln('Jest, ',ile,' graczy. Teraz kazdy musi podac swoje imie: ');
Delay(1000);
Writeln();
for i := 1 to ile do
begin
Write('Gracz ',i,'. Podaj imie: ');
Readln(player[i].imie);
player[i].kasa := 10000;
player[i].lok := 0;
end;
for i := (ile + 1) to 4 do
player[i].kasa := 0;
Delay(1000);
Writeln();
Writeln('Jest ',ile,' graczy: ');
for i := 1 to ile do
Writeln(' - ',player[i].imie, ' kasa: ', player[i].kasa);
Writeln('Kazdy gracz otrzymuje 10 000 $');
Writeln();
Writeln();
players := ile;
readkey;
end;
procedure wyppola(var p : pola);
var
i : integer;
begin
for i := 0 to 39 do
begin
p[i].wlasciciel := 0;
p[i].domy := 0;
p[i].hipoteka := 0;
str(i,p[i].panstwo);
str(i,p[i].miasto);
end;
end;
var
ile_graczy : integer;
player : pl;
pol : pola;
i : integer;
begin
ile_graczy := players(player);
Writeln(ile_graczy);
wyppola(pol);
repeat
for i := 1 to ile_graczy do
begin
kostka(i,player);
Writeln();
Writeln();
writeln('Gracz ',player[i].imie,' jest na pozycji ', player[i].lok);
// player[i].kasa := player[i].kasa - 1000;
readkey;
end;
Writeln();
for i := 1 to ile_graczy do
begin
Writeln('- Gracz ', player[i].imie, ' posiada ',player[i].kasa,
' i jest na pozycji ',player[i].lok);
end;
readkey;
until (player[1].kasa <= 0) and (player[2].kasa <= 0) and
(player[3].kasa <= 0) and (player[4].kasa <= 0);
end. |
Post został pochwalony 0 razy
|
|