giovedì 23 ottobre 2008

/* gioco della piramide rovesciata */


NUOVO GIOCO creato, siccome compito assegnato dal prof. Nata. XD

Siccome ho notato che con un copia ed incolla alcuni dati vengono cmq persi

ho deciso di uppare un un mio vecchissimo spazio WEB gli esempi con tanto di eseguibile

P.S. GLI ESEGUBILI SONO AVVIABILI DIRETTAMENTE DA WINDOW CIOE' SENZA L'AUSILIO DELLA BAT, BASTA PREMERE 2 VOLTE SUL ESEGUIBILE.

Ecco il link per scaricare “ piramide rovesciata ”, CODICE SORGENTE e exe

http://gamingblog.altervista.org/piramide_rovesciata.zip

ecco invece un altro link per giocare a filetto v2 beta (quello con l'intelligenza superiore della npc), CODICE SORGENTE e exe

http://gamingblog.altervista.org/filetto_V2_beta.zip

Quello che segue invece il codice di piramide rovesciata.


________________Code____________________
/*gioco della piramide rovesciata*/
#include “stdio.h”
#include “cstdlib”
#include “ctime”


int board[17];
char simbol[2]={'|','+'};
int exitGame=0;
int punteggio=0;
int continuare;

void istruzioni();
void stampa();
int inserisci(int datoA, int datoB);
int controlloPunti();
void umano();
void npc();
void azzeraBoard();
int RandInt(int a,int b);

int main(){
istruzioni();
azzeraBoard();
do{

if(punteggio==3){punteggio=0;}

if(punteggio==0){
umano();
printf(" \n \n mossa umano \n \n");
stampa();
}

if(punteggio==1){
printf("hai vinto!");
printf("\n se voi continuare digita 1 altrimenti digita qualunque altro numero: ");
scanf("%d",&continuare);
if(continuare==1){
continuare=0;
punteggio=3;
azzeraBoard();
stampa();
}
else
{
exitGame=1;
}
}


if(punteggio==0){
printf(" \n \n mossa pc \n \n");
npc();
stampa();
}
if(punteggio==2){
printf("\n hai perso!");
printf("\n se voi continuare digita 1 altrimenti digita qualunque altro numero: ");
scanf("%d",&continuare);
if(continuare==1){
continuare=0;
punteggio=3;
azzeraBoard();
stampa();
}
else
{
exitGame=1;
}
}

}while(exitGame==0);

}
void istruzioni(){
printf("E' un gioco a turni, lo scopo e' di sbarrare tutte le astine \n");
printf("e di far si che l'ultima astina rimanga all'avversario.");
printf("\n");
printf("\n");
printf("\n");
printf("\n");
printf("Numeri Da inserire");
printf("\n");
printf("\n");
printf("| | | | | | | \n");
printf("1 2 3 4 5 6 7 \n");
printf(" | | | | | \n");
printf(" 8 9 10 11 12 \n");
printf(" | | | \n");
printf(" 13 14 15 \n");
printf(" | \n");
printf(" 16 \n");
printf("\n");
printf("\n");

printf("Tavola");
printf("\n");
printf("\n");
stampa();
}

void umano(){
int numeroUno=0;
int numeroDue=0;
int controllo=0;
if(controlloPunti()==1){punteggio=2;return;}
printf("\n digita il primo numero della astina da selezionare: ");
scanf("%d",&numeroUno);
printf("\n digita il secondo numero della astina da selezionare:");
scanf("%d",&numeroDue);
controllo=inserisci(numeroUno,numeroDue);
if(controllo==1){
printf("\n le astine sono state gia' segnate, seleziona altre astine ");
umano();
}
if(controllo==2){
printf("\n le astine da te selezionate sono piu' di quelle consentite");
umano();
}
}

int RandInt(int a,int b){
return a + rand() % (b - a + 1);
}

void npc(){
int controllo=0;
if(controlloPunti()==1){punteggio=1; return;}
controllo=inserisci(RandInt(1,16),RandInt(1,16));
srand(unsigned(1000*time(NULL)+rand()));
if(controllo==1){
srand(unsigned(1000/time(NULL)+rand()));
npc();
}
if(controllo==2){
srand(unsigned(1000/time(NULL)+rand()));
npc();
}
}

void stampa(){
int i;
for(i=1;i<17;i++){ i="=" i="=" i="=" i="=" translate="0;" i="1;i<17;i++){" datoa="1;" datob="1;">16){
datoA=16;
}
if(datoB>16){
datoB=16;
}

if(datoA7)){
datoB=7;
}
if((datoA>7)&&(datoA<13)&&(datob>12)){
datoB=12;
}
if((datoA>12)&&(datoA<16)&&(datob>15)){
datoB=15;
}
}
if(datoA>datoB){
if((datoA>7)&&(datoA<13)&&(datob<8)){ datob="8;">12)&&(datoA<16)&&(datob<13)){ datob="13;">15)&&(datoB<16)){ datob="16;" translate="datoA;" datoa="datoB;" datob="translate;" caunt="0,caunt2=" i="datoA;i<(datoB+1);i++){" caunt="=" caunt3="0;" i="datoA;i<(datoB+1);i++){" i="1;i<17;i++){" caunt3="=" i="datoA;i<(datoB+1);i++){" caunt="0;" i="1;i<17;i++){" caunt="=">15)){
return 1;
}
return 0;
}

void azzeraBoard(){
int i;
for(i=1;i<17;i++){>

lunedì 20 ottobre 2008

Filetto V2 bug

Nell'ultima versione del filetto vi sono degli errori che ho risolto, per coloro che sono interessati, basta copiare di nuovo l'ultimo codice postato

domenica 19 ottobre 2008

Filetto V2

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">

venerdì 3 ottobre 2008

Filetto

#include ”stdio.h”
#include “cstdlib.h”
#include “ctime.h”

int board[10];
char simbol[3]={' ','O','X'};
int exitGame=0;

int RandInt(int a,int b);
void azzeraBoard();
void stampa();
void umano();
void computer();
void vittoriSconfitta();
int controllo();// 1=Player // 2=computer // 3=nessuno //


int main(){
azzeraBoard();
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 computer(){
srand(unsigned(1000/time(NULL)+rand()));
int i;
if(RandInt(0,1)==0){
for(i=1;i<10;i++){ i="RandInt(1,9);">0){
computer();
}
else
{
board[i]=2;
}

}


}

int controllo(){
int dato=0;
if((board[1]==board[2])&&(board[2]==board[3])){
dato=board[1];
}
if((board[4]==board[5])&&(board[5]==board[6])){
dato=board[4];
}
if((board[7]==board[8])&&(board[8]==board[9])){
dato=board[7];
}
if((board[1]==board[4])&&(board[4]==board[7])){
dato=board[1];
}
if((board[2]==board[5])&&(board[5]==board[8])){
dato=board[2];
}
if((board[3]==board[6])&&(board[6]==board[9])){
dato=board[3];
}
if((board[1]==board[5])&&(board[5]==board[9])){
dato=board[1];
}
if((board[3]==board[5])&&(board[5]==board[7])){
dato=board[3];
}
int caunt=0,i=1;
if(dato==0){
for(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++){
board[i]=0;
}
}

void vittoriSconfitta(){
if(exitGame==1){
stampa();
azzeraBoard();
printf("\n you win man/woman, Do you want to continue?(yes=0,no=other numbers): ");
scanf("%d",&exitGame);
}
if(exitGame==2){
stampa();
azzeraBoard();
printf("\n you lose man/woman, Do you want to continue?(yes=0,no=other numbers): ");
scanf("%d",&exitGame);
}
if(exitGame==3){
stampa();
azzeraBoard();
printf("\n hai pareggiato, Do you want to continue?(yes=0,no=other numbers): ");
scanf("%d",&exitGame);
}
}