martedì 16 dicembre 2008

ALBERO DI NATALE

LUCI SPENTE:

LUCI ACCESE:


Codice:

import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
import java.util.*;
public class AlberoNatale{
  private JFrame albero;
  private PannelloAlbero a;
  private JButton accende;
  private JButton spegne;
  private JPanel pannelloBottoni=new JPanel(new GridLayout(2,1));
  private int on_off=0;
  private java.util.Timer pallineAccese;
  public AlberoNatale(){
  albero=new JFrame("Albero Natale 2008");
  albero.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  albero.setSize(500,500);
  a=new PannelloAlbero();
  accende=new JButton("accendi le lampadine");
  spegne=new JButton("spegni le lampadine");
  pannelloBottoni.add(accende);
  pannelloBottoni.add(spegne);
  albero.add(a,BorderLayout.CENTER);
  albero.add(pannelloBottoni,BorderLayout.SOUTH);
  accende.addActionListener(new BottoneAccende());
  spegne.addActionListener(new BottoneSpegne());
  albero.setVisible(true);
   
  }
   
  public class PannelloAlbero extends JPanel{
  public void paintComponent(Graphics g){
  Graphics g2d=(Graphics2D) g;
  Image alberoImmagine=new ImageIcon("albero.jpg").getImage();
  g.drawImage(alberoImmagine,0,0,albero.getWidth(),albero.getHeight(),null);
  //prima fila
  g.setColor(getColore());
  g.fillOval(250,350,25,25);
  g.setColor(getColore());
  g.fillOval(250,300,25,25);
  g.setColor(getColore());
  g.fillOval(250,250,25,25);
  g.setColor(getColore());
  g.fillOval(250,200,25,25);
  g.setColor(getColore());
  g.fillOval(250,150,25,25);
  g.setColor(getColore());
  g.fillOval(250,100,25,25);
  g.setColor(getColore());
  g.fillOval(250,60,25,25);
  //seconda fila
  g.setColor(getColore());
  g.fillOval(200,350,25,25);
  g.setColor(getColore());
  g.fillOval(200,300,25,25);
  g.setColor(getColore());
  g.fillOval(200,250,25,25);
  g.setColor(getColore());
  g.fillOval(200,200,25,25);
  g.setColor(getColore());
  g.fillOval(200,150,25,25);
  g.setColor(getColore());
  g.fillOval(200,100,25,25);
   
  //tersa fila
  g.setColor(getColore());
  g.fillOval(150,350,25,25);
  g.setColor(getColore());
  g.fillOval(150,300,25,25);
  g.setColor(getColore());
  g.fillOval(150,250,25,25);
  g.setColor(getColore());
  g.fillOval(150,200,25,25);
   
  //quarta fila
  g.setColor(getColore());
  g.fillOval(100,350,25,25);
  g.setColor(getColore());
  g.fillOval(100,300,25,25);

  //quinta fila
  g.setColor(getColore());
  g.fillOval(300,350,25,25);
  g.setColor(getColore());
  g.fillOval(300,300,25,25);
  g.setColor(getColore());
  g.fillOval(300,250,25,25);
  g.setColor(getColore());
  g.fillOval(300,200,25,25);
  g.setColor(getColore());
  g.fillOval(300,150,25,25);
  g.setColor(getColore());
  g.fillOval(300,100,25,25);
   
  //tersa fila
  g.setColor(getColore());
  g.fillOval(350,350,25,25);
  g.setColor(getColore());
  g.fillOval(350,300,25,25);
  g.setColor(getColore());
  g.fillOval(350,250,25,25);

   
  //quarta fila
  g.setColor(getColore());
  g.fillOval(400,350,25,25);
  g.setColor(getColore());
  g.fillOval(400,300,25,25);


   

  }
  }
  private Color getColore(){
  if(on_off==1){
  int verde=(int)(Math.random()*225);
  int rosso=(int)(Math.random()*225);
  int blu=(int)(Math.random()*225);
  Color colore=new Color(rosso,blu,verde);
  return colore; 
  }
  else
  {
  Color colore=new Color(0,0,0);
  return colore;  
  }
  }
   
  public class BottoneAccende implements ActionListener{
   
  public void actionPerformed(ActionEvent event){
  if (on_off==0){
  on_off=1;
  pallineAccese=new java.util.Timer();
  pallineAccese.schedule(new TimerTask(){
  public void run(){
  SwingUtilities.invokeLater(
  new Runnable(){
  public void run(){
  albero.repaint();
  } 
  });
  }
  },0,500);
  }
  }

  } 
  public class BottoneSpegne implements ActionListener{
  public void actionPerformed(ActionEvent event){
  on_off=0;
  pallineAccese.cancel();
  albero.repaint();
  }
  }
  public static void main(String[] args){
  AlberoNatale albero=new AlberoNatale();
  }
}
 

venerdì 12 dicembre 2008


/**

 * Write a description of class vitevol here.
 * 
 * @author (Gabriele Di Bari) 
 * @version (v1)
 */

import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
public class Grafica1 implements ActionListener {
  private JFrame frame;
  private Pannello1 p;
  private JButton b1;
   
   
  public Grafica1(){
  frame=new JFrame("prova pannello");
  frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  frame.setSize(220,440);
  b1=new JButton("cambia colore casualmente");
  b1.addActionListener(this);
  frame.setLayout(new GridLayout(2,1));
  p=new Pannello1();
  frame.add(p);
  frame.add(b1);
  frame.setVisible(true);

}
  public class Pannello1 extends JPanel {
  public void paintComponent(Graphics g){
  Graphics2D g2D=(Graphics2D) g;
  int verde=(int) (Math.random()*255);
  int rosso=(int) (Math.random()*255);
  int blu=(int) (Math.random()*255);
  //sfondo
  int x=getSize().width;
  int y=getSize().height;
  g2D.setColor(Color.white);
  g2D.fillRect(0,0,x,y);
  //
  Color colore=new Color(rosso,verde,blu);
  g2D.setColor(colore);
  g2D.fillOval(0,0,x,y);
  }
  }
   

  public void actionPerformed(ActionEvent event) {
   
  p.repaint();
   
  }
   
  public static void main(String[] args){
  Grafica1 g1=new Grafica1();
  }

}

mercoledì 3 dicembre 2008

Test olimpiadi di informatica

mi sono esercitato con gli esercizi dati dal prof nata sulle ollimp. del 2007

(Premetto ne ho saltate 2)

ecco le mie risposte:


Esercizio 1
X=15
Y=5

Esercizio 2
totale sacchi dei somari 6

Esercizio 3
erano 10 noci


esercizio 4
il numero della sucessione è 935

esercizio 5
ha 3 figli 2 femmine e 1 maschio


esercizio 6
è largo 1200 metri


esercizio 7
è giovedì

esercizio 8

se è un rettangolo allora 8

se è anche un quadrato allora 9 (ma dice che è un rettangolo quindi.....)


esercizio 9
sono 381

esercizio 10

saltato



esercizio 1 prog

è la d

esercizio 2 prog.

è la b

esercizio 3 prog.

è la c

esercizio 4 prog.

è la a

esercizio 5 prog.

è la a

esercizio 6 prog.

è la b

esercizio 7 prog.

saltato


esercizio 8 prog.

è la c


esercizio 9 prog.

è la b




Tempo messo : 1 ora e 30 minuti

martedì 2 dicembre 2008

Creare una finestra in java

Creare una finestra in java
CODICE:

_________________________________________

Finestra.java
_________________________________________


import javax.swing.*;
/**
* Write a description of class Finestre here.
*
* @author (your name)
* @version (a version number or a date)
*/
public class Finestra
{
JFrame finestra;

public Finestra(String f_nome,int x,int y)
{
finestra=new JFrame(f_nome);
finestra.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
finestra.setSize(x,y);
finestra.setVisible(true);
}
public void setSize(int x,int y){
finestra.setSize(x,y);
}
public void visualizza(){
finestra.setVisible(true);
}
public void nascondi(){
finestra.setVisible(false);
}



}

_________________________________________

TestaFinestra.java
_________________________________________

public class TestaFinestra
{
public static void main(String[] args){
Finestra c1=new Finestra("F1",500,200);
/* c1.setSize(800,600); metodo in piu' */
}
}

domenica 23 novembre 2008

Stella



Come assegnato dal prof. Nata.
ho modificato i parametri del poligono per ottenere un altra figura in questo caso una stella
ciao alla prossima!


______________________________________________________________________________
import java.applet.*;
import java.awt.*;
import java.awt.event.*;
import java.util.*;
import java.awt.geom.*;



public class RotazionePoligono extends Applet implements MouseListener{


private int[] xpoints={0,-3,-10,-4,-7,0,7,4,10,3};
private int[] ypoints={-10,-3,-2,2,10,5,10,2,-2,-3};
private Polygon poly;
int rotation=0;
int giro;
public void init(){
poly=new Polygon(xpoints,ypoints,xpoints.length);
//Register for mouse events on blankArea and the panel.
addMouseListener(this);
}

public void paint(Graphics g){
Graphics2D g2d= (Graphics2D) g;
int ampiezza=getSize().width;
int altezza=getSize().height;
g2d.setColor(Color.BLACK);
g2d.fillRect(0,0,ampiezza,altezza);
g2d.translate(altezza/2,ampiezza/2);
g2d.scale(20,20);
g2d.rotate(Math.toRadians(rotation));
g2d.setColor(Color.BLUE);
g2d.fill(poly);
g2d.draw(poly);
}



//mouse
public void mouseEntered(MouseEvent m){}
public void mouseExited(MouseEvent m){}
public void mouseReleased(MouseEvent m){}
public void mouseClicked(MouseEvent m){}
public void mousePressed(MouseEvent m){
switch(m.getButton()){
case MouseEvent.BUTTON1:
rotation--;
if(rotation<0)rotation=359;>360)rotation=0;
repaint();
break;


}
}



}

venerdì 14 novembre 2008

Biglietto

public class TestaBiglietto{
public static void main(String[] args){
BigliettoMacchina bm=new BigliettoMacchina(10);
bm.inseriscoMoneta(1);
bm.inseriscoMoneta(5);
bm.inseriscoMoneta(2);
bm.inseriscoMoneta(1);
bm.inseriscoMoneta(10);
}
}

public class BigliettoMacchina{
private double prezzo;
private double pagato;

public BigliettoMacchina(double prezzo){
this.prezzo=prezzo;
}


public double getPrezzo(){
return prezzo;
}
public double getPagato(){
return pagato;
}

public void setPrezzo(double prezzo){
this.prezzo=pagato;
}

public void inseriscoMoneta(double moneta){
pagato=moneta+pagato;

if(pagato>=prezzo){
stampaBiglietto();
}
}

public void stampaBiglietto(){
System.out.println("#####################");
System.out.println("Biglietto per il mare");
System.out.println("#####################");
pagato=0;
}

giovedì 13 novembre 2008

Orologio


non so di preciso cosa bisognava fare, siccome mancavo,
ma da quello che ho capito bisognava creare un orologio



ed ecco il link del mio programma da me creato (la Dll serve per pulire lo schermo):

http://rapidshare.com/files/163447602/orologio.zip.html



(il file Orario.ctxt è un file creato da BlueJ (non serve a niente se non a quel programma ... quindi si può benissimo cancellare se si usa java.bat))

martedì 4 novembre 2008

CLASSE STUDENTE V2

public class Studente extends Persona{
 String classe;
 double mediaVoti;
 double[] voti; 
 Professore[] professori; 
 
 public Studente(int e, String n, char s, String em, String t, double mv, String cl){
  super(e, n, s, em, t);
  voti=new double[100];
  professori=new Professore[10];
  mediaVoti=mv;
  classe=cl;  
 }
 
  public void addProfessore(Professore p, int i){
 professori[i]=p;
  } 
  public void addVoti(double voto, int i){
 voti[i]=voto;
  } 
  
}

lunedì 3 novembre 2008

Tante classi ...

(funziona il sistema dell'array)

Code:

//1


public class Foglio{
private String dati;

public Foglio(String a){
 dati=a;
}

public String getDati(){
 return dati;
}


public void setDati(String a){
 dati=a;
}

}


//2

public class Moto{
private String cilindrata;
private String nome;

public Foglio(String a,String b){
 cilindrata=a;
 nome=b;
}

public String getCilindrata(){
 return cilindrata;
}

public String getNome(){
 return Nome;
}


public void setCilindrata(String a){
 cilindrata=a;
}

public void setNome(String a){
 nome=a;
}

}


//3


public class ImagineLabel extends JLabel {

  public ImageLabel(ImageIcon icon) {
  setIcon(icon);
  setSize(icon.getImage().getWidth(null), icon.getImage().getHeight(null));
  }

}
 //4

public class Cellulare{
private String marca;
private String numeroSerie;

 public Cellulare(String ma,String nS){
 marca=ma;
 numeroSerie=nS

 }
 
 public String getMarca(){
 
 return marca;
 
 }
 public String getNumeroSerie(){
 
 return numeroSerie;
 
 }
 public void setMarca(String a){
 
 marca=a;
 
 }
 public String setNumeroSerie(String a){
 
 numeroSerie=a;
 
 }

}

//5


public class VideoGioco{
private String marca;
private String nome;
private String piattaforma;


public VideoGioco(String a,String b,String c){
 nome=a;
 marca=b;
 piattaforma=c;
}


public String getNome(String a){
 return nome;
}

public String getMarca(String a){
 return marca;
}


public String getPiattaforma(String a){
 return piattaforma;
}


public void setNome(String a){
 nome=a;
}

public void setMarca(String a){
 marca=a;
}

public void setPiattaforma(String a){
 piattaforma=a;
}


}

Java Studenti

CODE:

public class Studente extends Persona{ String classe;
 double mediaVoti;
 double[] voti; 

 public Studente(int e, String n, char s, String em, String t, double mv, String cl){
 super(e, n, s, em, t);
 voti=new double[100];
 mediaVoti=mv;
 classe=cl; 
 }
 public double[] getVoti(){
 return voti;
 }
 public double getMediaVoti(){
 return mediaVoti;
 }
 public String getClasse(){
 return classe;
 }

 public void setMediaVoti(double mv){
 mediaVoti=mv;
 }
 public void setClasse(String cl){
 classe=cl;
 }
 public void setVoid(double[] cl){
 voti=cl;
 }




}


Java test

public class TestaPersona{

public static void main(String args[]){

Persona[] persone;
persone=new Persona[10];

persone[0]=new Persona(18,"Marco",'m',"marco@gmail.com","+390758010046");
persone[1]=new Persona(20,"Cesare",'m',"Cesare@gmail.com","+390759012040");
persone[2]=new Persona(15,"elena",'f',"elena@gmail.com","+390741012020");

Studente[] studenti;
studenti=new Studente[10];

studenti[3]=new Studente(22,"Bianca",'m',"marco@gmail.com","+390758010046",6,"4al");
studenti[4]=new Studente(33,"Lana",'m',"Cesare@gmail.com","+390759012040",6,"4ale");
studenti[5]=new Studente(45,"Puzza",'f',"elena@gmail.com","+390741012020",7,"4ale");

for(int i=0;i<10;i++){
if(persone[i]!=null){
System.out.println("nome p"+(i+1)+" = "+persone[i].getNome());
}

if(studenti[i]!=null){
System.out.println("nome p"+(i+1)+" = "+studenti[i].getNome());
}

}

}


}


public class Studente extends Persona{
String classe;
double mediaVoti;
double[] voti;

public Studente(int e, String n, char s, String em, String t, int mv, String cl){
super(e, n, s, em, t);
voti=new double[100];
mediaVoti=mv;
classe=cl;
}

}

public class Persona{
private int eta;
private String nome;
private char sesso;
private String email;
private String telefono;


public Persona(int e, String n, char s, String em, String t){
eta=e;
nome=n;
sesso=s;
email=em;
telefono=t;
}

//restituisci le variabili interne
public int getEta(){
return eta;
}
public String getNome(){
return nome;
}
public char getSesso(){
return sesso;
}
public String getEmail(){
return email;
}
public String getTelefono(){
return telefono;
}

//setta le variabili interne
public void setEta(int e){
eta=e;
}
public void setEmail(String em){
email=em;
}
public void setTelefono(String t){
telefono=t;
}

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);
}
}