0% encontró este documento útil (0 votos)
29 vistas4 páginas

Programa Final

El proyecto consiste en un juego clásico del Gato y el Ratón desarrollado en C++. Permite a los usuarios jugar contra la computadora o contra un amigo, y se incluye el código fuente del juego. Las instrucciones para jugar están disponibles en la pantalla durante el juego.

Cargado por

Miguel Urrutia
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
29 vistas4 páginas

Programa Final

El proyecto consiste en un juego clásico del Gato y el Ratón desarrollado en C++. Permite a los usuarios jugar contra la computadora o contra un amigo, y se incluye el código fuente del juego. Las instrucciones para jugar están disponibles en la pantalla durante el juego.

Cargado por

Miguel Urrutia
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Proyecto de Programación en Ingenierı́a

El Juego del Gato y el Ratón

Integrantes: Luis Enrique, Miguel Alejandro, Juan Pablo

Materia: Programación en Ingenierı́a

June 6, 2025
El Gato y el Ratón Proyecto de Programación

Descripción del Proyecto

Este proyecto es un juego clásico del Gato y el Ratón desarrollado en C++. El juego permite a
los usuarios jugar contra la computadora o contra un amigo. A continuación se presenta el código
fuente del juego.

Código del Juego del Gato y el Ratón


Código Fuente

A continuación se presenta el código del juego del Gato y el Ratón desarrollado en C++.

1 # include < iostream >


2 # include < vector >
3 # include < string >
4 # include < limits >
5
6 const std :: string INTEGRANTES [] = { " Luis Enrique " , " Miguel Alejandro " , " Juan Pablo " };
7 const std :: string MATERIA = " P r o g r a m a c i n en I n g e n i e r a " ;
8
9 void i mp ri mi r Ta bl er o ( const std :: vector < char >& tablero ) {
10 std :: cout << " \ n " ;
11 std :: cout << " " << tablero [0] << " | " << tablero [1] << " | " << tablero [2] << std ::
endl ;
12 std :: cout << " - - -| - - -| - - - " << std :: endl ;
13 std :: cout << " " << tablero [3] << " | " << tablero [4] << " | " << tablero [5] << std ::
endl ;
14 std :: cout << " - - -| - - -| - - - " << std :: endl ;
15 std :: cout << " " << tablero [6] << " | " << tablero [7] << " | " << tablero [8] << std ::
endl ;
16 std :: cout << " \ n " ;
17 }
18
19 char v e r i f i c a r G a n a d o r ( const std :: vector < char >& tablero ) {
20 for ( int i = 0; i < 9; i += 3) {
21 if ( tablero [ i ] == tablero [ i +1] && tablero [ i +1] == tablero [ i +2] && tablero [ i ] != ’
’) {
22 return tablero [ i ];
23 }
24 }
25 for ( int i = 0; i < 3; ++ i ) {
26 if ( tablero [ i ] == tablero [ i +3] && tablero [ i +3] == tablero [ i +6] && tablero [ i ] != ’
’) {
27 return tablero [ i ];
28 }
29 }
30 if ( tablero [0] == tablero [4] && tablero [4] == tablero [8] && tablero [0] != ’ ’) {
31 return tablero [0];
32 }
33 if ( tablero [2] == tablero [4] && tablero [4] == tablero [6] && tablero [2] != ’ ’) {
34 return tablero [2];
35 }
36
37 bool empate = true ;
38 for ( char celda : tablero ) {
39 if ( celda == ’ ’) {
40 empate = false ;
41 break ;
42 }
43 }
44 if ( empate ) {
45 return ’E ’;
46 }
47
48 return ’ ’;
49 }
50
51 int j u g a d a C o m p u t a d o r a ( const std :: vector < char >& tablero , char jugadorPC , char
j ug ad or O po ne n te ) {
52 for ( int i = 0; i < 9; ++ i ) {
53 if ( tablero [ i ] == ’ ’) {
54 std :: vector < char > tempTablero = tablero ;
55 tempTablero [ i ] = jugadorPC ;
56 if ( v e r i f i c a r G a n a d o r ( tempTablero ) == jugadorPC ) {
57 return i ;
El Gato y el Ratón Proyecto de Programación

60 }
61
62 for ( int i = 0; i < 9; ++ i ) {
63 if ( tablero [ i ] == ’ ’) {
64 std :: vector < char > tempTablero = tablero ;
65 tempTablero [ i ] = j u ga do rO p on en t e ;
66 if ( v e r i f i c a r G a n a d o r ( tempTablero ) == ju ga d or Op on e nt e ) {
67 return i ;
68 }
69 }
70 }
71
72 if ( tablero [4] == ’ ’) {
73 return 4;
74 }
75
76 if ( tablero [0] == ’ ’) return 0;
77 if ( tablero [2] == ’ ’) return 2;
78 if ( tablero [6] == ’ ’) return 6;
79 if ( tablero [8] == ’ ’) return 8;
80
81 if ( tablero [1] == ’ ’) return 1;
82 if ( tablero [3] == ’ ’) return 3;
83 if ( tablero [5] == ’ ’) return 5;
84 if ( tablero [7] == ’ ’) return 7;
85
86 return -1;
87 }
88
89 int main () {
90 std :: cout << " Materia : " << MATERIA << std :: endl ;
91 std :: cout << " Integrantes : " ;
92 for ( int i = 0; i < sizeof ( INTEGRANTES ) / sizeof ( INTEGRANTES [0]) ; ++ i ) {
93 std :: cout << INTEGRANTES [ i ];
94 if ( i < sizeof ( INTEGRANTES ) / sizeof ( INTEGRANTES [0]) - 1) {
95 std :: cout << " , " ;
96 }
97 }
98 std :: cout << " \ n \ n " ;
99
100 std :: cout << " Hola , este es nuestro proyecto de " << MATERIA << " .\ n " ;
101 std :: cout << " Es un juego c l s i c o del gato y el r a t n en el que te p o d r s
enfrentar \ n " ;
102 std :: cout << " contra la computadora o contra a l g n amigo / c o m p a e r o .\ n \ n " ;
103
104 int modoJuego ;
105 std :: cout << " Deseas jugar contra la computadora (1) o contra un amigo (2) ?\ n " ;
106 std :: cout << " Ingresa tu e l e c c i n : " ;
107 while (!( std :: cin >> modoJuego ) || ( modoJuego != 1 && modoJuego != 2) ) {
108 std :: cout << " O p c i n i n v l i d a . Por favor , ingresa 1 o 2: " ;
109 std :: cin . clear () ;
110 std :: cin . ignore ( std :: numeric_limits < std :: streamsize >:: max () , ’\ n ’) ;
111 }
112 std :: cout << " \ n " ;
113
114 std :: vector < char > tablero (9 , ’ ’) ;
115 char jugadorActual = ’X ’;
116 char ganador = ’ ’;
117 int movimientos = 0;
118
119 std :: cout << " Bienvenido al juego del Gato y el R a t n !\ n " ;
120 std :: cout << " Para jugar , ingresa un n m e r o del 1 al 9 para elegir una casilla :\ n " ;
121 std :: cout << " 1 | 2 | 3\ n " ;
122 std :: cout << " - - -| - - -| - - -\ n " ;
123 std :: cout << " 4 | 5 | 6\ n " ;
124 std :: cout << " - - -| - - -| - - -\ n " ;
125 std :: cout << " 7 | 8 | 9\ n " ;
126
127 while ( ganador == ’ ’ && movimientos < 9) {
128 i mp ri mi r Ta bl er o ( tablero ) ;
129 int eleccion ;
130
131 if ( modoJuego == 1) {

Página 2
El Gato y el Ratón Proyecto de Programación

132 if ( jugadorActual == ’X ’) {
133 std :: cout << " Jugador ’X ’, ingresa tu movimiento (1 -9) : " ;
134 while (!( std :: cin >> eleccion ) || eleccion < 1 || eleccion > 9 || tablero
[ eleccion - 1] != ’ ’) {
135 std :: cout << " Movimiento i n v l i d o . Intenta de nuevo : " ;
136 std :: cin . clear () ;
137 std :: cin . ignore ( std :: numeric_limits < std :: streamsize >:: max () , ’\ n ’) ;
138 }
139 tablero [ eleccion - 1] = jugadorActual ;
140 } else {
141 std :: cout << " Turno de la computadora ’O ’...\ n " ;
142 int movimientoPC = j u g a d a C o m p u t a d o r a ( tablero , ’O ’ , ’X ’) ;
143 tablero [ movimientoPC ] = jugadorActual ;
144 }
145 } else {
146 std :: cout << " Jugador ’" << jugadorActual << " ’, ingresa tu movimiento (1 -9) :
";
147 while (!( std :: cin >> eleccion ) || eleccion < 1 || eleccion > 9 || tablero [
eleccion - 1] != ’ ’) {
148 std :: cout << " Movimiento i n v l i d o . Intenta de nuevo : " ;
149 std :: cin . clear () ;
150 std :: cin . ignore ( std :: numeric_limits < std :: streamsize >:: max () , ’\ n ’) ;
151 }
152 tablero [ eleccion - 1] = jugadorActual ;
153 }
154
155 ganador = v e r i f i ca r G a n a d o r ( tablero ) ;
156 if ( ganador != ’ ’) {
157 i mp ri mi r Ta bl er o ( tablero ) ;
158 if ( ganador == ’E ’) {
159 std :: cout << " Es un empate !\ n " ;
160 } else {
161 std :: cout << " El jugador ’" << ganador << " ’ ha ganado !\ n " ;
162 }
163 break ;
164 }
165
166 jugadorActual = ( jugadorActual == ’X ’) ? ’O ’ : ’X ’;
167 movimientos ++;
168 }
169
170 if ( ganador == ’ ’ && movimientos == 9) {
171 i mp ri mi r Ta bl er o ( tablero ) ;
172 std :: cout << " Es un empate !\ n " ;
173 }
174
175 return 0;
176 }
Listing 1: Código del Juego del Gato

Instrucciones del Juego

Para jugar al Gato y el Ratón, sigue las instrucciones que aparecen en la pantalla. Puedes elegir
jugar contra la computadora o contra un amigo. ¡Disfruta del juego!

Página 3

También podría gustarte