El problema es que 1. El metodo que utilizo para generar la IA de la maquina es muy engorrosa, ya que tengo que poner muchisimas opciones, y se hace muy largo, en un libro vi que lo hacian con arrays en 2d pero no pude entender bien el codigo.
Si se les ocurre una idea mejor y mas simple de hacerlo porfavor les seria agradecido de que me la expliquen.
El otro punto es que estube organizando el code poniendo un par de comentarios y sacando un par de cosas demas y sorpresa cuando trate de compilar el codigo me dice lo siguiente sobre la linea 65 y 66 (donde comienza la funcion "mostrarT"):
Cita
expected `,' or `...' before '<' token
ISO C++ forbids declaration of `vector' with no type
ISO C++ forbids declaration of `vector' with no type
No se que pueda estar pasando.
A continuacion les facilito el code:
//Ta te ti
#include <string>
#include <iostream>
#include <vector>
#include <ctime>
#include <cstdlib>
#include <algorithm>
#include <cctype>
#include <stdio.h>
#include <stdlib.h>
using namespace std;
vector<char> tablero;
vector<char>::iterator iter;
vector<char>::iterator ite;
vector<char> table;
void mostrarT(const vector<char> tablero);
void instrucciones();
void juegaP();
void juegaC();
void vector();
void comienzoM();
void orden();
void comienzoJ();
int comprobar(int comp);
char cursor (char y);
int numJ;
int Gan = 0;
int Emp = 0;
char pruebaa[9];
char prim;
char respCurs = 'y';
//cenntral
int main()
{
tablero.push_back ('0');
tablero.push_back ('1');
tablero.push_back ('2');
tablero.push_back ('3');
tablero.push_back ('4');
tablero.push_back ('5');
tablero.push_back ('6');
tablero.push_back ('7');
tablero.push_back ('8');
instrucciones(); //Muestra las intrucciones
cout << "\n\n";
respCurs = cursor('y'); //Define quien empieza primero
mostrarT(tablero); //Muestra trablero
comienzoJ(); //Comienza el juego
comprobar(0); //Comprueba resultado
if (respCurs == 'n')
{
comienzoM();
}
while (comprobar(0) == 0);
orden(); //Movimientos
cin.ignore();cin.clear();cin.get();
}
[COLOR=red]void mostrarT(const vector<char> tablero)
{[/COLOR]
cout <<" \t"<<tablero[0] << "|" << tablero[1] << "|" << tablero[2] << "\n";
cout << " -----------\n";
cout <<" \t"<<tablero[3] << "|" << tablero[4] << "|" << tablero[5] << "\n";
cout << " -----------\n";
cout <<" \t"<<tablero[6] << "|" << tablero[7] << "|" << tablero[8] << "\n";
}
void instrucciones() // Genera instrucciones
{
cout << "\t\tTa-Te-TI creado por Mauri\n" << endl;
cout << "\n Bienvenido al tateti mas inteligente jamas antes creado." << endl;
cout << "Disculpame si te destrozo y te humillo :/ . " << endl;
cout << "Para jugar simplemente tendras que elejir el numero en el cual quieras ingresar tu X/O." << endl;
cout << "El primero en poner 3 iguales en raya gana el juego." << endl;
cout << "Suerte la vas a necesitar." << endl;
}
int comprobar(int comp) //Comprueba final
{
if ((Gan != 0) || (Emp != 0))
{
cout << "Has perdido";
return 1;
}
return 0;
}
char cursor (char curs) //Comprueba cursor
{
do
{
cout << "\n Queres empezar primero?(y/n): ";
cin >> prim;
if (prim == 'y')
{
cout << "\n Te dejo ventaja aunque vallas a perder, cagon\n";
return 'y';
}
if (prim == 'n')
{
cout << "\n Que mal que te va a ir :P\n\n";
return 'n';
}
}
while ((prim != 'y') && (prim != 'n'));
}
void comienzoJ()
{
if (respCurs == 'y')
{
juegaP();
}
if (tablero[numJ] == pruebaa[0])
{
}
if (respCurs == 'n')
{
comienzoM();
}
}
void comienzoM()
{
tablero[4] = 'O';
cout << "\n\n\n";
}
void juegaP()
{
cout << "\n\nIngrese numero en el cual quiere insertar la cruz: ";
cin >> numJ;
itoa (numJ,pruebaa,10);
while (tablero[numJ] != pruebaa[0]);
{
if (tablero[numJ] == pruebaa[0])
{
tablero[numJ] = 'X';
cout << "\n\n";
respCurs = 'y';
}
}
}
void juegaC() //Movimientos maquina
{
if (tablero[0] && tablero[1] == 'O')
{
tablero[2] = 'O';
}
if (tablero[0] && tablero[2] == 'O')
{
tablero[1] = 'O';
}
if (tablero[0] && tablero[4] == 'O')
{
tablero[8] = 'O';
}
if (tablero[3] && tablero[4] == 'O')
{
tablero[5] = 'O';
}
if (tablero[6] && tablero[7] == 'O')
{
tablero[8] = 'O';
}
if (tablero[0] && tablero[4] == 'O')
{
tablero[8] = 'O';
}
if (tablero[2] && tablero[4] == 'O')
{
tablero[6] = 'O';
}
if (tablero[1] && tablero[4] == 'O')
{
tablero[7] = 'O';
}
if (tablero[0] && tablero[3] == 'O')
{
tablero[6] = 'O';
}
if (tablero[2] && tablero[5] == 'O')
{
tablero[8] = 'O';
}
if (tablero[1] && tablero[0] == 'O')
{
tablero[2] = 'O';
}
if (tablero[4] && tablero[3] == 'O')
{
tablero[5] = 'O';
}
if (tablero[7] && tablero[6] == 'O')
{
tablero[8] = 'O';
}
if (tablero[4] && tablero[0] == 'O')
{
tablero[8] = 'O';
}
if (tablero[4] && tablero[2] == 'O')
{
tablero[6] = 'O';
}
if (tablero[4] && tablero[1] == 'O')
{
tablero[7] = 'O';
}
if (tablero[3] && tablero[0] == 'O')
{
tablero[6] = 'O';
}
if (tablero[5] && tablero[2] == 'O')
{
tablero[8] = 'O';
}
if (tablero[2] && tablero[0] == 'O')
{
tablero[1] = 'O';
}
if (tablero[5] && tablero[3] == 'O')
{
tablero[4] = 'O';
}
if (tablero[8] && tablero[6] == 'O')
{
tablero[7] = 'O';
}
if (tablero[8] && tablero[0] == 'O')
{
tablero[4] = 'O';
}
if (tablero[6] && tablero[2] == 'O')
{
tablero[4] = 'O';
}
if (tablero[7] && tablero[1] == 'O')
{
tablero[4] = 'O';
}
if (tablero[6] && tablero[0] == 'O')
{
tablero[3] = 'O';
}
if (tablero[8] && tablero[2] == 'O')
{
tablero[5] = 'O';
}
if (tablero[0] && tablero[1] == 'X')
{
tablero[2] = 'O';
}
if (tablero[0] && tablero[2] == 'X')
{
tablero[1] = 'O';
}
if (tablero[0] && tablero[4] == 'X')
{
tablero[8] = 'O';
}
if (tablero[3] && tablero[4] == 'X')
{
tablero[5] = 'O';
}
if (tablero[6] && tablero[7] == 'X')
{
tablero[8] = 'O';
}
if (tablero[0] && tablero[4] == 'X')
{
tablero[8] = 'O';
}
if (tablero[2] && tablero[4] == 'X')
{
tablero[6] = 'O';
}
if (tablero[1] && tablero[4] == 'X')
{
tablero[7] = 'O';
}
if (tablero[0] && tablero[3] == 'X')
{
tablero[6] = 'O';
}
if (tablero[2] && tablero[5] == 'X')
{
tablero[8] = 'O';
}
if (tablero[1] && tablero[0] == 'X')
{
tablero[2] = 'O';
}
if (tablero[4] && tablero[3] == 'X')
{
tablero[5] = 'O';
}
if (tablero[7] && tablero[6] == 'X')
{
tablero[8] = 'O';
}
if (tablero[4] && tablero[0] == 'X')
{
tablero[8] = 'O';
}
if (tablero[4] && tablero[2] == 'X')
{
tablero[6] = 'O';
}
if (tablero[4] && tablero[1] == 'X')
{
tablero[7] = 'O';
}
if (tablero[3] && tablero[0] == 'X')
{
tablero[6] = 'O';
}
if (tablero[5] && tablero[2] == 'X')
{
tablero[8] = 'O';
}
if (tablero[2] && tablero[0] == 'X')
{
tablero[1] = 'O';
}
if (tablero[5] && tablero[3] == 'X')
{
tablero[4] = 'O';
}
if (tablero[8] && tablero[6] == 'X')
{
tablero[7] = 'O';
}
if (tablero[8] && tablero[0] == 'X')
{
tablero[4] = 'O';
}
if (tablero[6] && tablero[2] == 'X')
{
tablero[4] = 'O';
}
if (tablero[7] && tablero[1] == 'X')
{
tablero[4] = 'O';
}
if (tablero[6] && tablero[0] == 'X')
{
tablero[3] = 'O';
}
if (tablero[8] && tablero[2] == 'X')
{
tablero[5] = 'O';
}
if (tablero[4] != 'O' || 'X')
{
tablero[4] = 'O';
}
if (tablero[2] != 'O' || 'X')
{
tablero[2] = 'O';
}
if (tablero[0] != 'O' || 'X')
{
tablero[0] = 'O';
}
if (tablero[6] != 'O' || 'X')
{
tablero[6] = 'O';
}
if (tablero[8] != 'O' || 'X')
{
tablero[8] = 'O';
}
respCurs = 'n';
}
void orden()
{
mostrarT(tablero);
if (respCurs == 'y')
{
juegaC();
}
if (respCurs == 'n')
{
juegaP();
}
}
En color rojo puse las lineas del error.
Espero una respuesta
Gracias
Saludos

Ingresar
Registrarme
Ayuda
Este tema está cerrado

MultiCita