Nuova Versione del Filetto, con una inteligenza artificiale superiore
Infatti controlla se c'è la possibilità di fare Filetto e nel caso questa ipotesi sia verificata
mette la X per fare il filetto, in oltre blocca l'utente che potrebbe fare filetto.
Aggiunta in più la possibilità di scegliere la difficoltà, Facile (tutto casuale), Normale (casuale ma cmq se ha la possibilità di fare filetto... in questo caso non indugia troppo e vince...), difficile (è praticamente impossibile, ti blocca in tutti i casi, e fa punto, al massimo si può pareggiare.
____________Code_____________________
#include "stdio.h"
#include "cstdlib.h"
#include "ctime.h"
int board[10];
char simbol[3]={' ','O','X'};
int exitGame=0;
int difficoltaV=0; // facile=0 // normale=1 // difficile=2 //
int RandInt(int a,int b);
void azzeraBoard();
void stampa();
void umano();
void computer();
void vittoriSconfitta();
void difficolta();
int controllo();
int controlloParteVuota(int dato);
int main(){
azzeraBoard();
difficolta();
while(exitGame==0){
computer();
printf("\n mossa computer \n");
stampa();
exitGame=controllo();
vittoriSconfitta();
if(exitGame==0){umano();}
printf("\n mossa umano \n");
stampa();
}
}
void stampa(){
int i;
printf("\n");
for(i=1;i<10;i++){ i="="3)" i="="6)){">9)||(board[mossa]>0)){
umano();
}
else
{
board[mossa]=1;
}
}
void difficolta(){
printf("\n Scegli la difficolta': Facile(0) Normale(1) Difficile(2)");
scanf("%d",&difficoltaV);
if((difficoltaV<0)||(difficoltav>2)){
difficolta();
}
}
void computer(){
srand(unsigned(1000/time(NULL)+rand()));
int i;
int indice=0;
if(difficoltaV=2){indice=controlloParteVuota(1);}
if((indice==0)&&(difficoltaV>1)){
indice=controlloParteVuota(2);
}
if(indice>0)
{
board[indice]=2;
}
else
{
if(RandInt(0,1)==0){
for(i=1;i<10;i++){ i="RandInt(1,9);">0){
computer();
}
else
{
board[i]=2;
}
}
}
}
int controlloParteVuota(int dato){
int localBoard[10]={0,0,0,0,0,0,0,0,0,0};
int i=0;
int somma=0;
int rturnDato=0;
for(i=1;i<10;i++){ i="1;i<10;i="i+3){" somma="board[i]+board[i+1]+board[i+2];" somma="="(dato*2)){" rturndato="i;" rturndato="i+1;" rturndato="i+2;" i="1;i<4;i++){" somma="board[i]+board[i+3]+board[i+6];" somma="="(dato*2)){" rturndato="i;" rturndato="i+3;" rturndato="i+6;" somma="board[1]+board[5]+board[9];" somma="="(dato*2)){" rturndato="1;" rturndato="5;" rturndato="9;" somma="board[3]+board[5]+board[7];" somma="="(dato*2)){" rturndato="3;" rturndato="5;" rturndato="7;" dato="0;" dato="board[1];" dato="board[4];" dato="board[7];" dato="board[1];" dato="board[2];" dato="board[3];" dato="board[1];" dato="board[3];" caunt="0,i="1;" dato="="0){" i="1;i<10;i++){">0){
caunt++;
}
}
}
if(caunt>8){
dato=3;
}
return dato;
}
int RandInt(int a,int b){
return a + rand() % (b - a + 1);
}
void azzeraBoard(){
int i;
for(i=1;i<10;i++){ exitgame="="1){" yes="0,no="other" exitgame="="2){" yes="0,no="other" exitgame="="3){" yes="0,no="other">
Nessun commento:
Posta un commento