elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Curso de javascript por TickTack


  Mostrar Mensajes
Páginas: 1 ... 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 [39] 40 41 42 43 44 45
381  Programación / Java / Re: No me escribe en fichero en: 26 Mayo 2015, 00:14 am
cambia \n por \r\n
382  Programación / Programación C/C++ / Re: ????? :( en: 25 Mayo 2015, 23:04 pm
@HCK. usa las etiquetas GeSHi así se ve mejor el código  :)
383  Programación / Programación C/C++ / Re: [Aporte] Tres en raya con minimax en: 25 Mayo 2015, 21:54 pm
Ah ya entendí, tienes razón jeje, tendría que hacerlo con clases y utilizar más cosas propias de C++  :laugh:
384  Programación / Programación C/C++ / Re: [Aporte] Tres en raya con minimax en: 25 Mayo 2015, 21:39 pm
Por qué? porque utilizo memset?  
385  Programación / Programación C/C++ / Re: [Aporte] Tres en raya con minimax en: 25 Mayo 2015, 21:27 pm
ya está modificado

Un saludo
386  Programación / Programación C/C++ / Re: [Aporte] Tres en raya con minimax en: 25 Mayo 2015, 21:19 pm
mmm está en C++
387  Programación / Programación C/C++ / [Aporte] Tres en raya con minimax en: 25 Mayo 2015, 21:16 pm
Un simple juego tres en raya implementado con el algoritmo minimax  :-X


Código
  1. #include <windows.h>
  2. #include <iostream>
  3. using namespace std;
  4.  
  5. int t[9];
  6.  
  7. int check( int turno ){
  8.    int G = 0;
  9.  
  10.    int r[8][3] = {{0,1,2},{3,4,5},{6,7,8},{0,3,6},
  11.               {1,4,7},{2,5,8},{0,4,8},{2,4,6}};
  12.  
  13. for( int f = 0; f < 8; f++ )
  14.   if( (t[ r[f][0] ] + t[ r[f][1] ] + t[ r[f][2] ] ) == (turno*3)  )
  15.       G = turno;              
  16.  
  17.    return G;
  18. }
  19.  
  20. int minimax( int p ,int tr ){
  21. int minimax_val = 0;
  22. bool empate = false;
  23. t[p] = tr;
  24.  
  25. if( check( tr ) == tr )
  26.   return tr;
  27. else
  28. for( int f = 0; f < 9; f++){
  29.        if( t[f] != 0 ) continue;
  30.  
  31.    int next = minimax( f, -tr);
  32.  
  33. if( next == -tr ){
  34. t[f] = 0;
  35. return -tr;
  36. }
  37.  
  38. else if( next == 0){
  39. minimax_val = 0;
  40. empate = true;
  41. }
  42. else if( next == tr )
  43.    if( !empate )
  44.    minimax_val = tr;
  45.  
  46. t[f] = 0;
  47. }
  48. return minimax_val;
  49. }
  50.  
  51. void Graficar(){
  52. system("cls");
  53. cout << "\n\n Se juega con:\n 1  2  3\n 4  5  6\n 7  8  9\n La computadora juega con O\n\n";
  54. for(int f = 0; f < 9;f++){
  55.      if( t[f] == 1 ) cout <<" O ";
  56.  else if( t[f] == -1 ) cout << " X ";
  57.  else cout << " - ";
  58.  if( (f +1 )%3 == 0  ) cout << "\n";
  59.     }
  60. }
  61.  
  62. int main(){
  63. memset(t,0,sizeof(t));
  64. bool Jugando = true;
  65. int tr = 1; /*Si es 1 empieza la computadora, si es -1 Empieza la persona*/
  66. int c = 0;
  67. int g = 0;
  68. while(Jugando){
  69.    Graficar();
  70. if(tr == 1){
  71.    int mejor_movimiento = -1;
  72.    int anext = -1;
  73.    for(int f = 0; f < 9;f++){
  74.  
  75.        if( t[f] != 0) continue;
  76.  
  77.    int next = minimax( f, 1);
  78.  
  79.    if( next > anext ){
  80.   anext = next;
  81.       mejor_movimiento = f;
  82.   }
  83.    t[f] = 0;  
  84.    }
  85.    t[mejor_movimiento] = 1;
  86. }
  87. else{
  88.    int m = -1;
  89. while( !(m > -1 and m < 10) )
  90.   cin >> m;
  91.   t[m-1] = -1;
  92. }
  93.  
  94. g = check(tr);
  95.  
  96. if( g == 1 or g == -1  )
  97.   Jugando = false;
  98.  
  99.       else if( c == 8 ){
  100.   g = 0;
  101.         Jugando = false;
  102. }
  103.  
  104.    tr = -tr;
  105. c++;
  106. }
  107. Graficar();
  108. switch(g){
  109.      case  1: cout << "HA GANADO LA COMPUTADORA!!\n"; break;
  110.  case -1: cout << "HAS GANADO FELICIDADES!!\n"; break;
  111.  case  0: cout <<"ES EMPATE, BUEN LOGRO!!\n"; break;
  112. }
  113.  
  114. getchar();
  115. return 0;
  116. }
  117.  

Si juegas empatas o pierdes  ;-)
388  Foros Generales / Foro Libre / Re: ¿Cual es el salario mínimo en tu país? en: 25 Mayo 2015, 20:58 pm
México Oaxaca: 200 dolares al mes

saludos
389  Programación / Programación C/C++ / Re: ????? :( en: 25 Mayo 2015, 20:38 pm
Se usa para representar texto usando números:
por ejemplo para la letra A en ASCII sería 65, la e sería 101.

Mira en el link que te pasé, te vas a dar cuenta de que hay un número para representar cada letra.

para convertir un carácter ASCII en C++ simplemente lo tienes que convertir a entero así:

Código
  1. int ASCII_A = (int)'A';

 
sigue leyendo el link que te pasé  ;)
390  Programación / Programación C/C++ / Re: ????? :( en: 25 Mayo 2015, 20:21 pm
El problema solo te pide convertir los caracteres a ASCII http://es.wikipedia.org/wiki/ASCII
Páginas: 1 ... 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 [39] 40 41 42 43 44 45
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines