Programación General > C/C++
Conecta 4 c++
kirikin:
Buenas, tengo que hacer un conecta 4 en c++ y estoy muy perdido.
Lo primero de todo, tiene que ser muy sencillo, sin librerías extras. <iostream> y fuera.
El problema, y lo que quiero es: necesito iniciar una matriz de 7x7 o más (hasta 10x10) y mostrarla por pantalla "vacía", podría ser una solución que en cada casilla hubiese guiones, por ejemplo. Luego alternar dos jugadores humanos que tienes que indicar en que columna quieren meter la ficha, y mostrar el tablero en cada jugada con una X para las fichas del jugador uno y una O para el 2. Y hacer otra función que revise si hay 4 en línea. Si alguien me podría ayudar, estaría muy agradecido.
Gracias, y un saludo.
(wxDevc++)
•Parra:
Primero de todo, has pensado hacerlo multiplataforma? O no te importa?
Segundo, preferirías hacerlo en opengl, o en su caso, sdl (si te parece más facil), o vas a usar algo como QT, o alguna otra libreria (alguna que te proporcione controles gráficos)?
Tercero, vas a hacerlo online, es decir, cliente y cliente se conectan entre si?, O vas a hacer que el duelo sea contra la máquina, o offline, tu contra un compañero?
Cuando tengas esto claro, entonces podemos seguir :P
kirikin:
Buff, lo único que quiero es jugador contra jugador offline.
Sin gráficos, quiere una matriz mostrarla por pantalla con guiones por cada casilla, y cada jugador indica la columna que quiere poner su ficha y que se vuelva e mostrar la matriz con una X en el lugar escogido. Y otra funcion que indique cuando se hace cuatro en linea.
Gracias.
•Parra:
Ok, has buscado lo más sencillo entonces..
Si estás programando en C++, quizás sea un poco más complicado que hacerlo en C, en C, para los principiantes suele ser facil.
Bueno, primero de todo has de plantearte esto, como puedo hacer un 4 en ralla?
1) Verticalmente
2) Horizontalmente
3) En diagonal, de izquierda a derecha, y de derecha a izquierda.
Ahora, hay que ingeniarse un alogaritmo que chequee, cuando tengo una ficha mia, si tengo una ficha en algun cuadrado a todo alrededor mio (arriba, abajo, derecha, izquierda y diagonales), y si ento uno, que chequee recursivamente en esa dirección, y luego, en la opuesta. Si la suma total de fichas encontradas mias es > 4, entonces ya tenemos 4 en ralla.
Luego, a la hora de jugar vas a tener que hacer que va a pasar cuando el usuario ponga la columna que desea meter la ficha.
Lo mejor que puedes hacer, es hacer un programita sencillito, para crear el primer alogaritmo, y luego lo de despues esta chupado, usa printf, si vas a hacerlo todo por consola, y listo (;
PD: Para ayudarte, puedes hacer algo muy simple, si estás en C++, crea una clase que se llame "Slot", y entonces le pones una variable que sea Tipo, y que pueda variar entre estos tres tipos:
0 = vacío
1 = ficha jugador A
2 = ficha jugador B
m0skit0:
--- Cita de: "•Parra" ---Si estás programando en C++, quizás sea un poco más complicado que hacerlo en C, en C, para los principiantes suele ser facil.
--- Fin de la cita ---
Bueno, es cuestión de entender mínimamente la POO. En cuanto se entiende, es más fácil, más estructurado y más limpio en C++.
Navegación
[#] Página Siguiente
Ir a la versión completa