Pascal/Turbo Pascal - Proyecto de programacion, Juego SENET

 
Vista:
sin imagen de perfil

Proyecto de programacion, Juego SENET

Publicado por Alexander (3 intervenciones) el 11/05/2015 01:39:25
Hola, tengo que hacer un proyecto de programacion.. es un juego llamado SENET y quería saber si me podían ayudar con algunas dudas que tengo, llevo esto de código y me salen unos errores podrían ayudarme a corregir lo que esta malo, porque no veo los errores y con lo que puedan añadirle al codigo se los agradeceria mucho, saludos.

Este es el juego (Instrucciones): http://www.egiptomania.com/jeroglificos/articulo/senet.htm

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
Program Senet;
Const
N=3;
M=10;
S=1;
Type
  Matriz = Array [1..N,1..M] of Integer;
  Var
  Z: Matriz;
  X: Matriz;
 
PROCEDURE presentacion;      //presentacion del programa
Begin
 
Writeln ('.............................');
Writeln (' ---        SENET        --- ');
Writeln ('.............................');
Writeln;
Writeln;
 
 
End;
 
PROCEDURE JUGAR;             //Codigo del juego
 
Procedure llenarmatriz (X: Matriz);
Var F,C: Integer;
 
begin
 
Randomize;
For F:= 1 to N do
Begin
For C:= 1 to M do
begin
X[F, C]:= Random (10);
write (X[F,C],' ',' ',' ');
End;
Writeln;
End;
Readln;
End;
 
Procedure mostrarmatriz (Z: Matriz);
Var F,C,S: Integer;
 
Begin
For F:=1 to S do
Begin
For C:= 1 to S do
Begin
Writeln (Z[F,C],' ',' ');
Writeln;
Writeln;
End;
End;
End;
 
 
begin
llenarmatriz (x);
mostrarmatriz (z);
Readln;
end;
 
 
PROCEDURE AYUDA;             //Instrucciones del juego
Begin
 Writeln ('Senet es el juego egipcio más famoso que ha llegado hasta nuestros días. ');
 Writeln (' Aparece en múltiples pinturas de las tumbas, y se han encontrado varios juegos completos entre las pertenencias ');
  Writeln ('con las que eran enterrados los faraones para poder disfrutar de ellas en su otra vida.');
     Writeln ('Sencillo de jugar, representa una carrera de las fichas por llegar a su destino antes de ser alcanzadas por el rival.');
     Writeln ('En ocasiones se han representado en las paredes de las pirámides partidas de Senet entre el muerto y un espíritu de ultratumba,');
     Writeln ('como si se tratara de una partida para ganar el derecho a entrar en el más allá. ');
     Writeln ('Jugadores: 2 - Objetivo: Llevar todas las fichas a la salida.');
 
     Writeln ('Valores: 1,6: avanza 1,6 espacios y lanza de nuevo los dados. 2,3,4,5: avanza 2,3,4,5 espacios. ');
 
     Writeln ('Casillas: ');
     Writeln ('Renacer: (casilla 15) Aquí vuelven las casillas que caen al río. Si está ocupada retrocede a la siguiente casilla libre. ');
     Writeln ('Felicidad: (casilla 26) Casilla obligada, las fichas no pueden acceder a las últimas casillas si no han pisado la casilla de la felicidad. ');
     Writeln ('Río Nilo: (casilla 27) Cuando una ficha cae en el río vuelve a la casilla renacer. ');
     Writeln ('Exacto 3: (casilla 28) No se mueve hasta sacar un 3.');
     Writeln ('Exacto 2: (casilla 29) No se mueve hasta sacar un 2. ');
 
     Writeln ('Jugando:');
Writeln ('- Se reparten 5 piezas y un dado por jugador. Se disponen las piezas intercaladas en el tablero. ');
Writeln ('- Al inicio el jugador lanza su dado y avanza los espacios con una ficha.');
Writeln ('- No puede llegar a una casilla ocupada por sus propias fichas.');
Writeln ('- Si llega a una casilla ocupada por una ficha del oponente, la captura y ambas fichas intercambian lugares. ');
Writeln ('- Cuando hay 2 fichas del mismo color en casillas juntas se forma un bloqueo, ninguna de las 2 fichas pueden ser capturadas, ');
Writeln (' las fichas contrarias sólo pueden saltarla.');
Writeln ('- Cuando hay 3 fichas del mismo color en casillas juntas se forma una barrera, las fichas no pueden ser capturadas ni saltadas. ');
Writeln ('- El jugador está obligado a moverse, si no puede avanzar debe retroceder. Si no puede retroceder pasa el turno.');
Writeln ('- Cuando el jugador mueve una de sus fichas termina su turno.');
Writeln ('- Gana el jugador que saque todas las fichas del tablero.');
End;
 
PROCEDURE menu;              //Menu del juego
VAR op:char;
 
 Begin
 
Repeat
Writeln ('1. Jugar');
Writeln ('2. Ayuda');
Writeln ('3. Salir.');
Readln(op);
Until (op in ['1'..'3'])
 
Case op of
'1': Jugar;
'2': Ayuda;
 
End;
End;
End.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Proyecto de programacion, Juego SENET

Publicado por ramon (2158 intervenciones) el 12/05/2015 00:08:22
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
{Mira retocado funciona}
 
Program Senet;
uses
   crt;
 
Const
N=3;
M=10;
S=1;
Type
  Matriz = Array [1..N,1..M] of Integer;
  Var
  Z: Matriz;
  X: Matriz;
 
PROCEDURE presentacion;      {presentacion del programa}
Begin
 
Writeln ('.............................');
Writeln (' ---        SENET        --- ');
Writeln ('.............................');
Writeln;
Writeln;
 
 
End;
 
PROCEDURE JUGAR;             {Codigo del juego}
 
Procedure llenarmatriz (X: Matriz);
Var F,C: Integer;
 
begin
 
Randomize;
For F:= 1 to N do
Begin
For C:= 1 to M do
begin
X[F, C]:= Random(10);
End;
Writeln;
End;
End;
 
Procedure mostrarmatriz (Z: Matriz);
Var F,C,S: Integer;
Begin
For F:=1 to n do
Begin
For C:= 1 to m do
Begin
Write(' ',Z[F,C],' ');
End;
Writeln;
Writeln;
End;
End;
 
 
begin
llenarmatriz (x);
mostrarmatriz (z);
Readln;
end;
 
 
PROCEDURE AYUDA;             {Instrucciones del juego}
Begin
 Writeln ('Senet es el juego egipcio más famoso que ha llegado hasta',
 'nuestros días. ');
 Writeln (' Aparece en múltiples pinturas de las tumbas, y se han',
 'encontrado varios juegos completos entre las pertenencias ');
  Writeln ('con las que eran enterrados los faraones para poder',
  'disfrutar de ellas en su otra vida.');
     Writeln ('Sencillo de jugar, representa una carrera de las',
     'fichas por llegar a su destino antes de ser alcanzadas por el rival.');
     Writeln ('En ocasiones se han representado en las paredes',
     'de las pirámides partidas de Senet entre el muerto y un',
     'espíritu de ultratumba,');
     Writeln ('como si se tratara de una partida para ganar el',
     'derecho a entrar en el más allá. ');
     Writeln ('Jugadores: 2 - Objetivo: Llevar todas las fichas',
     'a la salida.');
 
     Writeln ('Valores: 1,6: avanza 1,6 espacios y lanza de nuevo',
     'los dados. 2,3,4,5: avanza 2,3,4,5 espacios. ');
 
     Writeln ('Casillas: ');
     Writeln ('Renacer: (casilla 15) Aquí vuelven las casillas',
     'que caen al río. Si está ocupada retrocede a la siguiente',
     'casilla libre. ');
     Writeln ('Felicidad: (casilla 26) Casilla obligada, las fichas',
     'no pueden acceder a las últimas casillas si no han pisado la',
     'casilla de la felicidad. ');
     Writeln ('Río Nilo: (casilla 27) Cuando una ficha cae en el río',
     'vuelve a la casilla renacer. ');
     Writeln ('Exacto 3: (casilla 28) No se mueve hasta sacar un 3.');
     Writeln ('Exacto 2: (casilla 29) No se mueve hasta sacar un 2. ');
 
     Writeln ('Jugando:');
Writeln ('- Se reparten 5 piezas y un dado por jugador. Se disponen las',
'piezas intercaladas en el tablero. ');
Writeln ('- Al inicio el jugador lanza su dado y avanza los espacios con',
'una ficha.');
Writeln ('- No puede llegar a una casilla ocupada por sus propias fichas.');
Writeln ('- Si llega a una casilla ocupada por una ficha del oponente, la',
'captura y ambas fichas intercambian lugares. ');
Writeln ('- Cuando hay 2 fichas del mismo color en casillas juntas se forma',
'un bloqueo, ninguna de las 2 fichas pueden ser capturadas, ');
Writeln (' las fichas contrarias sólo pueden saltarla.');
Writeln ('- Cuando hay 3 fichas del mismo color en casillas juntas se',
'forma una barrera, las fichas no pueden ser capturadas ni saltadas. ');
Writeln ('- El jugador está obligado a moverse, si no puede avanzar debe',
'retroceder. Si no puede retroceder pasa el turno.');
Writeln ('- Cuando el jugador mueve una de sus fichas termina su turno.');
Writeln ('- Gana el jugador que saque todas las fichas del tablero.');
writeln;
writeln('    Pulse Una Tecla ');
readkey;
End;
 
PROCEDURE menu;              {Menu del juego}
VAR
op:char;
 Begin
Repeat
clrscr;
presentacion;
writeln('  ****  Menu Juego  ****');
writeln;
Writeln ('     1. Jugar');
Writeln ('     2. Ayuda');
Writeln ('     3. Salir');
writeln;
writeln('   Elija Opcion ');
repeat
  op := readkey;
Until (op in ['1'..'3']);
 clrscr;
Case op of
'1': Jugar;
'2': Ayuda;
end;
 until op = '3';
End;
 
 
begin
    menu;
End.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar
sin imagen de perfil

Proyecto de programacion, Juego SENET

Publicado por Programador (3 intervenciones) el 12/05/2015 01:02:11
Muchisimas gracias, un abrazo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar