Bueno como ya conte anteriormente estoy intentando hacer un tres en linea / ta te ti, para ir afianzando los conocimientos que adquiri a medida que aprendo c++.
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"):
expected `,' or `...' before '<' token
ISO C++ forbids declaration of `vector' with no type
No se que pueda estar pasando.
A continuacion les facilito el code:
Código://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(); } void mostrarT(const vector<char> tablero) { 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



