Esercizio per il 06/05/2010
1) creare la tabella materia
fatta dai campi ID e NOME;
2)nella tabella titolo
aggiungere la chiave esterna materia_id;
3)fare la jsp che inserisce un titolo con la materia
scelta da un menu dropdown fatto con la select.
--------------------------------------------------------------------------------------
1)create table materia( id int not null, nome varchar(15), primary key( id));
2)alter table titolo add materia_id int;
3)da svolgere
giovedì 6 maggio 2010
giovedì 11 febbraio 2010
giovedì 10 dicembre 2009
mercoledì 25 novembre 2009
Esercizi per casa
ES n° 10 pagina 233
Tabella
Anagrafica (Nome, Cognome, Matricola, Nascita, Indirizzo, CodiceDipartimento, NomeDipartimento, IndirizzoDipartimento, Stipendio)
Dipendenze
CodiceDipartimento → (NomeDipartimento, IndirizzoDipartimento) ← Seconda forma normale.
Tabelle
Dipartimento (CodiceDipartimento, NomeDipartimento, IndirizzoDipartimento)
Anagrafica (Matricola, Nome, Cognome, Nascita, Indirizzo, CodiceDipartimento)
ES n° 11 pagina 233
Tabelle
Esami-1 (Corso, Matricola, Data, Voto, NomeCorso)
Esami-2 (Corso, Matricola, Data, VotoInCifre, VotoInLettere)
Dipendenze Esami-1
(Matricola, Corso) → Voto ← Seconda forma normale.
Corso → NomeCorso ← Seconda forma normale.
Tabelle Esami-1
Corso (Corso, NomeCorso)
Matricola (Matricola, Voto, Corso)
Esami-1 (Matricola, Data, Corso)
Dipendenze Esami-2
(Matricola, Corso) → (VotoInCifre, VotoInLettere) ← Seconda forma normale.
VotoInCifre → VotoInLettere ← Terza forma normale.
VotoInLettere → VotoInCifre ← Terza forma normale.
(Matricola, Corso) → VotoInCifre
(Matricola, Corso) → VotoInLettere
Per togliere la terza forma normale, scelgo come determinante VotoInCifre. (Entrambi si determinano a vicenda, pertanto ne scelgo uno.)
Tabelle Esami-2
Matricola (Matricola, Corso)
VotoInCifre (VotoInCifre, VotoInLettere)
Esami-2 (Corso, Matricola, Data)
ES n° 12 pagina 233
Tabella
Libro (CodiceDelLibro, NomeAutore, TitoloLibro, NomeEditore, IndirizzoEditore, Prezzo, AnnoEdizione)
Normalizzazione :
Prima forma normale : Non vi sono dati ripetuti.
Seconda forma normale : Cerco le dipendenze.
Dipendenze
IndirizzoEditore → NomeEditore ← Seconda forma normale. Perché l'indirizzo può avere solo un editore con quel nome.
Terza forma normale : Non ci sono dipendenze transitive.
Tabelle
Editore (NomeEditore, IndirizzoEditore)
Libro (CodiceDelLibro, NomeAutore, TitoloLibro, IndirizzoEditore, Prezzo, AnnoEdizione)
ES n° 13 pagina 233
Materiali (Codice, Descrizione, Fornitore, Prezzo, IndirizzoFornitore, Quantità, PosizioneInMagazzino, Acciaio, NomeAcciaio, ResistenzaAcciaio, NomeFornitore)
Dipendenze
Acciaio → (NomeAcciaio, ResistenzaAcciaio) ← Seconda regola normale.
NomeAcciaio → ResistenzaAcciaio ← Terza regola normale.
Acciaio → ResistenzaAcciaio ← Terza regola normale.
Fornitore → (IndirizzoFornitore, NomeFornitore) ← Seconda regola normale.
Tabelle
Acciaio (Acciaio, NomeAcciaio)
QualitàAcciaio (NomeAcciaio, ResistenzaAcciaio)
Fornitore (Fornitore, IndirizzoFornitore, NomeFornitore)
Materiali (Codice, Descrizione, Fornitore, Prezzo, Quantità, PosizioneInMagazzino, Acciaio)
Tabella
Anagrafica (Nome, Cognome, Matricola, Nascita, Indirizzo, CodiceDipartimento, NomeDipartimento, IndirizzoDipartimento, Stipendio)
Dipendenze
CodiceDipartimento → (NomeDipartimento, IndirizzoDipartimento) ← Seconda forma normale.
Tabelle
Dipartimento (CodiceDipartimento, NomeDipartimento, IndirizzoDipartimento)
Anagrafica (Matricola, Nome, Cognome, Nascita, Indirizzo, CodiceDipartimento)
ES n° 11 pagina 233
Tabelle
Esami-1 (Corso, Matricola, Data, Voto, NomeCorso)
Esami-2 (Corso, Matricola, Data, VotoInCifre, VotoInLettere)
Dipendenze Esami-1
(Matricola, Corso) → Voto ← Seconda forma normale.
Corso → NomeCorso ← Seconda forma normale.
Tabelle Esami-1
Corso (Corso, NomeCorso)
Matricola (Matricola, Voto, Corso)
Esami-1 (Matricola, Data, Corso)
Dipendenze Esami-2
(Matricola, Corso) → (VotoInCifre, VotoInLettere) ← Seconda forma normale.
VotoInCifre → VotoInLettere ← Terza forma normale.
VotoInLettere → VotoInCifre ← Terza forma normale.
(Matricola, Corso) → VotoInCifre
(Matricola, Corso) → VotoInLettere
Per togliere la terza forma normale, scelgo come determinante VotoInCifre. (Entrambi si determinano a vicenda, pertanto ne scelgo uno.)
Tabelle Esami-2
Matricola (Matricola, Corso)
VotoInCifre (VotoInCifre, VotoInLettere)
Esami-2 (Corso, Matricola, Data)
ES n° 12 pagina 233
Tabella
Libro (CodiceDelLibro, NomeAutore, TitoloLibro, NomeEditore, IndirizzoEditore, Prezzo, AnnoEdizione)
Normalizzazione :
Prima forma normale : Non vi sono dati ripetuti.
Seconda forma normale : Cerco le dipendenze.
Dipendenze
IndirizzoEditore → NomeEditore ← Seconda forma normale. Perché l'indirizzo può avere solo un editore con quel nome.
Terza forma normale : Non ci sono dipendenze transitive.
Tabelle
Editore (NomeEditore, IndirizzoEditore)
Libro (CodiceDelLibro, NomeAutore, TitoloLibro, IndirizzoEditore, Prezzo, AnnoEdizione)
ES n° 13 pagina 233
Materiali (Codice, Descrizione, Fornitore, Prezzo, IndirizzoFornitore, Quantità, PosizioneInMagazzino, Acciaio, NomeAcciaio, ResistenzaAcciaio, NomeFornitore)
Dipendenze
Acciaio → (NomeAcciaio, ResistenzaAcciaio) ← Seconda regola normale.
NomeAcciaio → ResistenzaAcciaio ← Terza regola normale.
Acciaio → ResistenzaAcciaio ← Terza regola normale.
Fornitore → (IndirizzoFornitore, NomeFornitore) ← Seconda regola normale.
Tabelle
Acciaio (Acciaio, NomeAcciaio)
QualitàAcciaio (NomeAcciaio, ResistenzaAcciaio)
Fornitore (Fornitore, IndirizzoFornitore, NomeFornitore)
Materiali (Codice, Descrizione, Fornitore, Prezzo, Quantità, PosizioneInMagazzino, Acciaio)
giovedì 19 novembre 2009
Progettazione Database
Progettare un Database con i gruppi musicali internazionali
Si vuole memorizzare tramite l’utilizzo del database il nome di gruppi musicali, conoscerne una storia, il numero dei componenti, i ruoli all’interno della band, la provenienza del gruppo, il luogo del tour musicale, il genere di musica che suonano, la loro discografia; Scorrendo un menù a tendina visualizzo i nomi delle varie band, e poi posso risalire ad ogni singola informazione che li riguarda.
Componenti del gruppo :
Matteo Gastaldi (Leader)
Stefano Biscarini
Gruppi musicali : Linkin Park - Sum 41 - Blink 182 – Zebrahead – Queen - Dream Teather – Dragonforce - Deep Purple - Guns N’ Roses - Led Zeppelin - Metallica - Iron Maiden - Slipknot - System of a Down - Pink Floyd – Nirvana - Pantera .
Caratteristiche band :
· Nome
· N.Componenti
· Ruoli all’interno della band
· Provenienza
· Luogo tour
· Genere
· Discografia
lunedì 16 marzo 2009
Esercitazione Java
/*Matteo Gastaldi 4ALE*/
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
public class Calcolatrice{
JFrame f=new JFrame("Calcolatrice Autore : Matteo Gastaldi");
JLabel l1=new JLabel("1° operando :");
JLabel l2=new JLabel("2° operando :");
JLabel l3=new JLabel("risultato : ");
JTextField f1=new JTextField();
JTextField f2=new JTextField();
JButton b5=new JButton("clear");
JButton b1=new JButton("+");
JButton b2=new JButton("-");
JButton b4=new JButton("/");
JButton b3=new JButton("X");
JButton b6=new JButton("=");
JLabel risultato=new JLabel();
JPanel p1=new JPanel();
JPanel p2=new JPanel();
char valori;
public Calcolatrice(){
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.setSize(400,400);
p1.setLayout(new GridLayout(3,2));
p2.setLayout(new GridLayout(2,3));
p1.add(l1);
p1.add(f1);
p1.add(l2);
p1.add(f2);
p1.add(l3);
p1.add(risultato);
p2.add(b5);
p2.add(b1);
p2.add(b2);
p2.add(b4);
p2.add(b3);
p2.add(b6);
f.add (BorderLayout.NORTH,p1);
f.add (BorderLayout.CENTER,p2);
b5.addActionListener(new Clear());
b1.addActionListener(new Addizione());
b2.addActionListener(new Sottrazione());
b4.addActionListener(new Divisione());
b3.addActionListener(new Moltiplicazione());
b6.addActionListener(new Uguale());
f.setVisible(true);
}
public class Addizione implements ActionListener{
public void actionPerformed(ActionEvent event){
/*String testo1=f1.getText();
String testo2=f2.getText();
int t=Integer.parseInt(testo1);
int t1=Integer.parseInt(testo2);
double addizione=t+t1;
String r=Double.toString(addizione);
risultato.setText(r);*/
valori='+';
}
}
public class Uguale implements ActionListener{
public void actionPerformed(ActionEvent event){
String testo1=f1.getText();
String testo2=f2.getText();
int t=Integer.parseInt(testo1);
int t1=Integer.parseInt(testo2);
double r=0;
if(valori=='+') r=t+t1;
if(valori=='-') r=t-t1;
if(valori=='X') r=t*t1;
if(valori=='/') r=t/t1;
String rr=Double.toString(r);
risultato.setText(rr);
}
}
public class Sottrazione implements ActionListener{
public void actionPerformed(ActionEvent e){
/*String testo1=f1.getText();
String testo2=f2.getText();
int t=Integer.parseInt(testo1);
int t1=Integer.parseInt(testo2);
double sottrazione=t-t1;
String r=Double.toString(sottrazione);
risultato.setText(r);*/
valori='-';
}
}
public class Moltiplicazione implements ActionListener{
public void actionPerformed(ActionEvent e){
/*String testo1=f1.getText();
String testo2=f2.getText();
int t=Integer.parseInt(testo1);
int t1=Integer.parseInt(testo2);
int moltiplicazione=t*t1;
String r=Integer.toString(moltiplicazione);
risultato.setText(r);*/
valori='X';
}
}
public class Clear implements ActionListener{
public void actionPerformed(ActionEvent e){
f1.setText("");
f2.setText("");
risultato.setText("");
}
}
public class Divisione implements ActionListener{
public void actionPerformed(ActionEvent e){
/*String testo1=f1.getText();
String testo2=f2.getText();
int t=Integer.parseInt(testo1);
int t1=Integer.parseInt(testo2);
double divisione=t/t1;
String r=Double.toString(divisione);
risultato.setText(r);*/
valori='/';
}
}
public static void main (String []args){
Calcolatrice f=new Calcolatrice();
}
}
/*Autore del sorgente : Matteo Gastaldi*/
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
public class Calcolatrice{
JFrame f=new JFrame("Calcolatrice Autore : Matteo Gastaldi");
JLabel l1=new JLabel("1° operando :");
JLabel l2=new JLabel("2° operando :");
JLabel l3=new JLabel("risultato : ");
JTextField f1=new JTextField();
JTextField f2=new JTextField();
JButton b5=new JButton("clear");
JButton b1=new JButton("+");
JButton b2=new JButton("-");
JButton b4=new JButton("/");
JButton b3=new JButton("X");
JButton b6=new JButton("=");
JLabel risultato=new JLabel();
JPanel p1=new JPanel();
JPanel p2=new JPanel();
char valori;
public Calcolatrice(){
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.setSize(400,400);
p1.setLayout(new GridLayout(3,2));
p2.setLayout(new GridLayout(2,3));
p1.add(l1);
p1.add(f1);
p1.add(l2);
p1.add(f2);
p1.add(l3);
p1.add(risultato);
p2.add(b5);
p2.add(b1);
p2.add(b2);
p2.add(b4);
p2.add(b3);
p2.add(b6);
f.add (BorderLayout.NORTH,p1);
f.add (BorderLayout.CENTER,p2);
b5.addActionListener(new Clear());
b1.addActionListener(new Addizione());
b2.addActionListener(new Sottrazione());
b4.addActionListener(new Divisione());
b3.addActionListener(new Moltiplicazione());
b6.addActionListener(new Uguale());
f.setVisible(true);
}
public class Addizione implements ActionListener{
public void actionPerformed(ActionEvent event){
/*String testo1=f1.getText();
String testo2=f2.getText();
int t=Integer.parseInt(testo1);
int t1=Integer.parseInt(testo2);
double addizione=t+t1;
String r=Double.toString(addizione);
risultato.setText(r);*/
valori='+';
}
}
public class Uguale implements ActionListener{
public void actionPerformed(ActionEvent event){
String testo1=f1.getText();
String testo2=f2.getText();
int t=Integer.parseInt(testo1);
int t1=Integer.parseInt(testo2);
double r=0;
if(valori=='+') r=t+t1;
if(valori=='-') r=t-t1;
if(valori=='X') r=t*t1;
if(valori=='/') r=t/t1;
String rr=Double.toString(r);
risultato.setText(rr);
}
}
public class Sottrazione implements ActionListener{
public void actionPerformed(ActionEvent e){
/*String testo1=f1.getText();
String testo2=f2.getText();
int t=Integer.parseInt(testo1);
int t1=Integer.parseInt(testo2);
double sottrazione=t-t1;
String r=Double.toString(sottrazione);
risultato.setText(r);*/
valori='-';
}
}
public class Moltiplicazione implements ActionListener{
public void actionPerformed(ActionEvent e){
/*String testo1=f1.getText();
String testo2=f2.getText();
int t=Integer.parseInt(testo1);
int t1=Integer.parseInt(testo2);
int moltiplicazione=t*t1;
String r=Integer.toString(moltiplicazione);
risultato.setText(r);*/
valori='X';
}
}
public class Clear implements ActionListener{
public void actionPerformed(ActionEvent e){
f1.setText("");
f2.setText("");
risultato.setText("");
}
}
public class Divisione implements ActionListener{
public void actionPerformed(ActionEvent e){
/*String testo1=f1.getText();
String testo2=f2.getText();
int t=Integer.parseInt(testo1);
int t1=Integer.parseInt(testo2);
double divisione=t/t1;
String r=Double.toString(divisione);
risultato.setText(r);*/
valori='/';
}
}
public static void main (String []args){
Calcolatrice f=new Calcolatrice();
}
}
/*Autore del sorgente : Matteo Gastaldi*/
venerdì 20 febbraio 2009
Esercitazione sugli Array Char
public class Stringhe1{
String s="#Sud Africa#";
public String eliminaCarattere(String s){
int l=s.length();
int j=0;
char[] c=new char[l];
char[] c1=new char[l];
c=s.toCharArray();
for (int i=0; i if (c[i]!='#') {
c1[j]=c[i];
j++;
}
}
String nuova=new String(c1);
return nuova;
}
public static void main(String[] args){
Stringhe1 s1=new Stringhe1();
String ss="#Su#d Af#rica#";
String ss1=s1.eliminaCarattere(ss);
System.out.println(ss1);
}
}
String s="#Sud Africa#";
public String eliminaCarattere(String s){
int l=s.length();
int j=0;
char[] c=new char[l];
char[] c1=new char[l];
c=s.toCharArray();
for (int i=0; i
c1[j]=c[i];
j++;
}
}
String nuova=new String(c1);
return nuova;
}
public static void main(String[] args){
Stringhe1 s1=new Stringhe1();
String ss="#Su#d Af#rica#";
String ss1=s1.eliminaCarattere(ss);
System.out.println(ss1);
}
}
domenica 8 febbraio 2009
Calcolatrice in Java
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
public class Calcolatrice{
JFrame f=new JFrame("Calcolatrice");
JLabel l1=new JLabel("Digita il primo numero");
JLabel l2=new JLabel("Digita il secondo numero");
JTextField f1=new JTextField();
JTextField f2=new JTextField();
JButton b1=new JButton("Addizione");
JButton b2=new JButton("Sottrazione");
JButton b3=new JButton("Moltiplicazione");
JButton b4=new JButton("Divisione");
JTextField risultato=new JTextField();
public Calcolatrice(){
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.setSize(400,400);
f.setLayout(new GridLayout(5,8));
f.add(l1);
f.add(f1);
f.add(l2);
f.add(f2);
f.add(b1);
f.add(b2);
f.add(b3);
f.add(b4);
f.add(risultato);
b1.addActionListener(new Addizione());
f.setVisible(true);
b2.addActionListener(new Sottrazione());
f.setVisible(true);
b3.addActionListener(new Moltiplicazione());
f.setVisible(true);
b4.addActionListener(new Divisione());
f.setVisible(true);
}
public class Addizione implements ActionListener{
public void actionPerformed(ActionEvent event){
String testo1=f1.getText();
String testo2=f2.getText();
int t=Integer.parseInt(testo1);
int t1=Integer.parseInt(testo2);
double addizione=t+t1;
String r=Double.toString(addizione);
risultato.setText(r);
}
}
public class Sottrazione implements ActionListener{
public void actionPerformed(ActionEvent e){
String testo1=f1.getText();
String testo2=f2.getText();
int t=Integer.parseInt(testo1);
int t1=Integer.parseInt(testo2);
double sottrazione=t-t1;
String r=Double.toString(sottrazione);
risultato.setText(r);
}
}
public class Moltiplicazione implements ActionListener{
public void actionPerformed(ActionEvent e){
String testo1=f1.getText();
String testo2=f2.getText();
int t=Integer.parseInt(testo1);
int t1=Integer.parseInt(testo2);
int moltiplicazione=t*t1;
String r=Integer.toString(moltiplicazione);
risultato.setText(r);
}
}
public class Divisione implements ActionListener{
public void actionPerformed(ActionEvent e){
String testo1=f1.getText();
String testo2=f2.getText();
int t=Integer.parseInt(testo1);
int t1=Integer.parseInt(testo2);
double divisione=t/t1;
String r=Double.toString(divisione);
risultato.setText(r);
}
}
public static void main (String []args){
Calcolatrice f=new Calcolatrice();
}
}
import javax.swing.*;
import java.awt.event.*;
public class Calcolatrice{
JFrame f=new JFrame("Calcolatrice");
JLabel l1=new JLabel("Digita il primo numero");
JLabel l2=new JLabel("Digita il secondo numero");
JTextField f1=new JTextField();
JTextField f2=new JTextField();
JButton b1=new JButton("Addizione");
JButton b2=new JButton("Sottrazione");
JButton b3=new JButton("Moltiplicazione");
JButton b4=new JButton("Divisione");
JTextField risultato=new JTextField();
public Calcolatrice(){
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.setSize(400,400);
f.setLayout(new GridLayout(5,8));
f.add(l1);
f.add(f1);
f.add(l2);
f.add(f2);
f.add(b1);
f.add(b2);
f.add(b3);
f.add(b4);
f.add(risultato);
b1.addActionListener(new Addizione());
f.setVisible(true);
b2.addActionListener(new Sottrazione());
f.setVisible(true);
b3.addActionListener(new Moltiplicazione());
f.setVisible(true);
b4.addActionListener(new Divisione());
f.setVisible(true);
}
public class Addizione implements ActionListener{
public void actionPerformed(ActionEvent event){
String testo1=f1.getText();
String testo2=f2.getText();
int t=Integer.parseInt(testo1);
int t1=Integer.parseInt(testo2);
double addizione=t+t1;
String r=Double.toString(addizione);
risultato.setText(r);
}
}
public class Sottrazione implements ActionListener{
public void actionPerformed(ActionEvent e){
String testo1=f1.getText();
String testo2=f2.getText();
int t=Integer.parseInt(testo1);
int t1=Integer.parseInt(testo2);
double sottrazione=t-t1;
String r=Double.toString(sottrazione);
risultato.setText(r);
}
}
public class Moltiplicazione implements ActionListener{
public void actionPerformed(ActionEvent e){
String testo1=f1.getText();
String testo2=f2.getText();
int t=Integer.parseInt(testo1);
int t1=Integer.parseInt(testo2);
int moltiplicazione=t*t1;
String r=Integer.toString(moltiplicazione);
risultato.setText(r);
}
}
public class Divisione implements ActionListener{
public void actionPerformed(ActionEvent e){
String testo1=f1.getText();
String testo2=f2.getText();
int t=Integer.parseInt(testo1);
int t1=Integer.parseInt(testo2);
double divisione=t/t1;
String r=Double.toString(divisione);
risultato.setText(r);
}
}
public static void main (String []args){
Calcolatrice f=new Calcolatrice();
}
}
lunedì 15 dicembre 2008
Albero Di Natale
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;
public AlberoNatale(){
albero=new JFrame("Albero del Santo Natale 2008");
albero.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
albero.setSize(600,700);
a=new PannelloAlbero();
accende=new JButton("accendi le lampadine");
spegne=new JButton("spegni le lampadine");
albero.add(a,BorderLayout.CENTER);
albero.add(accende,BorderLayout.SOUTH);
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);
}
}
public static void main(String[] args){
AlberoNatale alb=new AlberoNatale();
}
}
venerdì 5 dicembre 2008
Calcolatrice
Finita Ora La Calcolatrice In Java!
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
public class Finestra2 implements ActionListener{
JLabel l1=new JLabel("primo numero");
JLabel l2=new JLabel("secondo numero");
JTextField t1=new JTextField();
JTextField t2=new JTextField();
JButton b1=new JButton("+");
JTextField risultato=new JTextField();
public void creaForm1(){
JFrame finestra1=new JFrame("finestra IVL");
finestra1.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
finestra1.setSize(300,300);
finestra1.setLayout(new GridLayout(3,2));
finestra1.add(l1);
finestra1.add(t1);
finestra1.add(l2);
finestra1.add(t2);
finestra1.add(b1);
finestra1.add(risultato);
b1.addActionListener(this);
finestra1.setVisible(true);
}
public void actionPerformed(ActionEvent event){
String testo1=t1.getText();
String testo2=t2.getText();
int a=Integer.parseInt(testo1);
int b=Integer.parseInt(testo2);
int somma=a+b;
String r=Integer.toString(somma);
risultato.setText(r);
}
}
Inserendo due numeri, e premendo sul tasto " + " l'Applet svolge l'operazione!
giovedì 4 dicembre 2008
Il Natale Si Sta Avvicinando!!
Come da titolo si sta avvicinando il Natale!
Il famoso albero di Gubbio!
Bono l'pandoro!! ^_^
Un cesto pieno di pietanze :Q_
Il Panettoneeee!
E.... Infine.....
Babbo Natale ^_^
Più che Babbo.. Direi due Belle Babbe no Prof? ;-)
Buona Giornata a tutti!
martedì 2 dicembre 2008
Esercizio Somma
Salve Prof! Scrivo direttamente dalla M3 °_° e pubblico fresco fresco l'esercizio fatto poco fa!
import javax.swing.JOptionPane;
public class Somma {
public static void main(String [] args){
String primoNumero=JOptionPane.showInputDialog( "digita il primo numero" );
String secondoNumero=JOptionPane.showInputDialog( "digita il secondo numero" );
int a=Integer.parseInt(primoNumero);
int b=Integer.parseInt(secondoNumero);
int c=a+b;
JOptionPane.showMessageDialog( null, "somma= " + c,"somma di due interi", JOptionPane.PLAIN_MESSAGE );
Somma s=new Somma();
}
}
Digitando due numeri positivi o negativi, calcola la somma di quest'ultimi riportando il risultato!
lunedì 1 dicembre 2008
Finestra Java
Corpo della Finestra
import javax.swing.*;
public class Finestra1 {
public void creaForm1(){
JFrame finestra1=new JFrame("finestra IVL");
finestra1.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
finestra1.setSize(300,300);
finestra1.setVisible(true);
}
}
Testa della Finestra
public class TestaFinestra{
public static void main(String[] args){
Finestra1 f=new Finestra1();
f.creaForm1();
}
}
domenica 30 novembre 2008
Rotazione Poligono
Abbiamo implementato l'applet in Java di un poligono che a seconda del click del mouse doveva ruotare a DX o SX
import java.awt.*; /*abstract windows toolkit*/
import java.awt.event.*;
import java.applet.*;
import java.util.*;
import java.awt.geom.*;
public class RotazionePoligono extends Applet implements MouseListener, KeyListener {
private int[] xpoints= {0,-10,-7,7,10};
private int[] ypoints= {-10,-2,10,10,-2};
private Polygon poly; /*creo un nuovo poligono*/
int rotation=0;
public void init() { /*primo metodo che viene lanciato quando l'applet viene creata*/
poly=new Polygon(xpoints,ypoints,xpoints.length);
addMouseListener(this);
addKeListener(this);
}
public void paint(Graphics g) {
Graphics2D g2d= (Graphics2D) g; /*converto una variabile (oggetto) g in una variabile (oggetto) g2d [CASTING]*/
int ampiezza=getSize().width;
int altezza=getSize().height;
g2d.setColor(Color.BLACK);
g2d.fillRect(0,0,ampiezza,altezza); /*riempe il rettangolo (Rect) per le coordinate fornite che lo delimitano
0,0 = limiti di partenza da cui iniziare a riempire
ampiezza,altezza = limiti di arrivo dove finire di riempire*/
g2d.translate(ampiezza/2,altezza/2);
g2d.scale(20,20);
g2d.rotate( Math.toRadians(rotation) );
/*istruzioni per disegnare il poligono*/
g2d.setColor(Color.YELLOW);
g2d.draw(poly);
g2d.setColor(Color.PINK);
g2d.fill(poly); /*riempo (con fill) la forma poligono (instanziata prima) con il colore settato da setColor*/
}
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;
repaint();
break;
case MouseEvent.BUTTON3:
rotation++;
if (rotation>360) rotation=0;
repaint();
break;
}
}
public void keyReleased(keyEvent k){}
public void keyTiped(keyEvent k){}
public void keyPressed(keyEvent k){}
switch (k.getKeyCode() ) {
case KeyEvent .VK_LEFT:
rotation--;
if (rotation<0) rotation=359;
repaint();
break;
case MouseEvent.VK_RIGHT:
rotation++;
if (rotation>360) rotation=0;
repaint();
break;
}
import java.awt.event.*;
import java.applet.*;
import java.util.*;
import java.awt.geom.*;
public class RotazionePoligono extends Applet implements MouseListener, KeyListener {
private int[] xpoints= {0,-10,-7,7,10};
private int[] ypoints= {-10,-2,10,10,-2};
private Polygon poly; /*creo un nuovo poligono*/
int rotation=0;
public void init() { /*primo metodo che viene lanciato quando l'applet viene creata*/
poly=new Polygon(xpoints,ypoints,xpoints.length);
addMouseListener(this);
addKeListener(this);
}
public void paint(Graphics g) {
Graphics2D g2d= (Graphics2D) g; /*converto una variabile (oggetto) g in una variabile (oggetto) g2d [CASTING]*/
int ampiezza=getSize().width;
int altezza=getSize().height;
g2d.setColor(Color.BLACK);
g2d.fillRect(0,0,ampiezza,altezza); /*riempe il rettangolo (Rect) per le coordinate fornite che lo delimitano
0,0 = limiti di partenza da cui iniziare a riempire
ampiezza,altezza = limiti di arrivo dove finire di riempire*/
g2d.translate(ampiezza/2,altezza/2);
g2d.scale(20,20);
g2d.rotate( Math.toRadians(rotation) );
/*istruzioni per disegnare il poligono*/
g2d.setColor(Color.YELLOW);
g2d.draw(poly);
g2d.setColor(Color.PINK);
g2d.fill(poly); /*riempo (con fill) la forma poligono (instanziata prima) con il colore settato da setColor*/
}
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;
repaint();
break;
case MouseEvent.BUTTON3:
rotation++;
if (rotation>360) rotation=0;
repaint();
break;
}
}
public void keyReleased(keyEvent k){}
public void keyTiped(keyEvent k){}
public void keyPressed(keyEvent k){}
switch (k.getKeyCode() ) {
case KeyEvent .VK_LEFT:
rotation--;
if (rotation<0) rotation=359;
repaint();
break;
case MouseEvent.VK_RIGHT:
rotation++;
if (rotation>360) rotation=0;
repaint();
break;
}
Banca
ContoCorrente
public class ContoCorrente{
int saldo;
int numeroConto;
public ContoCorrente(int saldo,int numeroConto){
this.saldo=saldo;
this.numeroConto=numeroConto;
}
public int getSaldo(){
return saldo;
}
public void prelievo(int p){
saldo=saldo-p;
if (saldo<0){
saldo=0;
}
}
public void versamento(int v){
saldo=saldo+v;
}
public int getNumeroConto(){
return numeroConto;
}
}
TestaConto
public class TestaConto{
public static void main(String[] args){
ContoCorrente c1=new ContoCorrente(1000,1);
System.out.println(c1.getSaldo());
ContoCorrente c2=new ContoCorrente(100,2);
c1.versamento(500);
System.out.println(c1.getSaldo());
c1.prelievo(2000);
System.out.println(c1.getSaldo());
ContoCorrente[] conti=new ContoCorrente[2];
conti[0]=c1;
conti[1]=c2;
for (int i=0; i++; i<2){
System.out.println(conti[i].getSaldo());
}
}
}
public class TestaConto{
public static void main(String[] args){
ContoCorrente c1=new ContoCorrente(1000,1);
System.out.println(c1.getSaldo());
ContoCorrente c2=new ContoCorrente(100,2);
c1.versamento(500);
System.out.println(c1.getSaldo());
c1.prelievo(2000);
System.out.println(c1.getSaldo());
ContoCorrente[] conti=new ContoCorrente[2];
conti[0]=c1;
conti[1]=c2;
for (int i=0; i++; i<2){
System.out.println(conti[i].getSaldo());
}
}
}
martedì 18 novembre 2008
Esercitazioni in classe
Salve Prof! Torno ora da scuola e inserisco immediatamente nel Blog gli esercizi svolti quest'oggi!
Prima Applet Java
import java.awt.*;
import java.applet.*;
public class PrimaApplet extends Applet {
public void paint(Graphics g){
g.drawString("Benvenuti gli studenti della classe IV",20,30);
}
}
Seconda Applet Java
import java.awt.*;
import java.applet.*;
public class SecondaApplet extends Applet {
public void paint(Graphics g){
Graphics2D g2d= (Graphics2D) g;
Rectangle r=new Rectangle(10,10,50,20);
g2d.draw(r);
}
}
Terza Applet Java
import java.awt.*;
import java.applet.*;
import java.util.*;
public class TerzaApplet extends Applet {
private Shape shape;
public void init(){
shape= new Rectangle2D.Double(-1.0,-1.0,1.0,1.0);
}
public void paint(Graphics g){
Graphics2D g2d= (Graphics2D) g;
g2d.setColor(Color.BLACK);
int width=getSize().width;
int height=getSize().height;
g2d.fillRect(0,0,width,height);
Rectangle r=new Rectangle(10,10,50,20);
g2d.draw(r);
}
}
Applet 1
Prima Applet Java
import java.awt.*;
import java.applet.*;
public class PrimaApplet extends Applet {
public void paint(Graphics g){
g.drawString("Benvenuti gli studenti della classe IV",20,30);
}
}
Seconda Applet Java
import java.awt.*;
import java.applet.*;
public class SecondaApplet extends Applet {
public void paint(Graphics g){
Graphics2D g2d= (Graphics2D) g;
Rectangle r=new Rectangle(10,10,50,20);
g2d.draw(r);
}
}
Terza Applet Java
import java.awt.*;
import java.applet.*;
import java.util.*;
public class TerzaApplet extends Applet {
private Shape shape;
public void init(){
shape= new Rectangle2D.Double(-1.0,-1.0,1.0,1.0);
}
public void paint(Graphics g){
Graphics2D g2d= (Graphics2D) g;
g2d.setColor(Color.BLACK);
int width=getSize().width;
int height=getSize().height;
g2d.fillRect(0,0,width,height);
Rectangle r=new Rectangle(10,10,50,20);
g2d.draw(r);
}
}
Applet 1
< html >
< head >< title >prima applet< /title >< /head >
< body >
< applet codebase="." code="PrimaApplet.class" name="Prima Applet" width="300" height="500" >< /applet >
< /body >
< /html >
Applet 2
< html >
< head >< title >prima applet< /title >< /head >
< body >
< applet codebase="." code="SecondaApplet.class" name="Seconda Applet" width="300" height="500" >< /applet >
< /body >
< /html >
Venerdì sicuramente finiremo di fare il tutto ;)
Buona Serata!
Buona Serata!
domenica 2 novembre 2008
Esercizi per Lunedì 3 Novembre (H 01.50)
--------------------------------------------------------------------------------------------------
public class Cellulare {
//attributi
private String marca, modello;
private boolean fotocamera;
private int [3] dimensioni;
//metodo costruttore
public Cellulare(String ma, String mo, boolean f,int [3] d)
{
marca=ma;
modello=mo;
fotocamera=f;
dimensioni=d;
}
//metodi getters
public getMarca()
{
return marca;
}
public getModello()
{
return modello;
}
public getFotocamera()
{
return fotocamera;
}
public getDimensioni()
{
return dimensioni;
}
//metodi setters
public setMarca(String mar)
{
marca=mar;
}
public setModello(String mod)
{
modello=mod;
}
public setDimensioni(int [3] dim)
{
dimensioni=dim;
}
public setFotocamera(boolean foto)
{
fotocamera=foto;
}
}
--------------------------------------------------------------------------------------------------
public class Cane {
//attributi
private String razza,nome,colore pelo;
//metodo costruttore
public Cane(String r, String n, String c)
{
razza=r;
nome=n;
colore pelo=c;
}
//metodi getters
public getRazza()
{
return razza;
}
public getNome()
{
return nome;
}
public getColorePelo()
{
return colore pelo;
}
//metodi setters
public setRazza(String ra)
{
razza=ra;
}
public setNome(String no)
{
nome=no;
}
public setColorePelo(String cp)
{
colore pelo=cp;
}
}
--------------------------------------------------------------------------------------------------
public class Computer {
//attributi
private String processore,hardDisk;
private int ram;
//metodo costruttore
public Computer(String p, String h, int r)
{
processore=p;
hardDisk=h;
ram=r;
}
//metodi getters
public getProcessore()
{
return processore;
}
public getHardDisk()
{
return hardDisk;
}
public getRam()
{
return ram;
}
//metodi setters
public setProcessore(String pr)
{
processore=pr;
}
public setHardDisk(String hd)
{
hardDisk=hd;
}
public setRam(int ra)
{
ram=ra;
}
}
--------------------------------------------------------------------------------------------------
public class Persona {
//attributi
private int eta;
private string nome;
private char sesso;
//metodo costruttore
public Persona(int e, String n, char s)
{
eta=e;
nome=n;
sesso=s;
}
//metodi getters
public getEta()
{
return eta;
}
public getNome()
{
return nome;
}
public getSesso()
{
return sesso;
}
//metodi setters
public setEta(int et)
{
eta=et;
}
public setNome(String no)
{
nome=no;
public setSesso(char se)
{
sesso=se;
}
}
--------------------------------------------------------------------------------------------------
public class Monitor {
//attributi
private String marca,modello;
private char colore;
//metodo costruttore
public Monitor(String ma, String mo, char c)
{
marca=ma;
modello=mo;
colore=c;
}
//metodi getters
public getMarca()
{
return marca;
}
public getModello()
{
return modello;
}
public getColore()
{
return colore;
}
//metodi setters
public setMarca(String mar)
{
marca=mar;
}
public setModello(String mod)
{
modello=mod;
}
public setColore(char col)
{
colore=col;
}
}
public class Cellulare {
//attributi
private String marca, modello;
private boolean fotocamera;
private int [3] dimensioni;
//metodo costruttore
public Cellulare(String ma, String mo, boolean f,int [3] d)
{
marca=ma;
modello=mo;
fotocamera=f;
dimensioni=d;
}
//metodi getters
public getMarca()
{
return marca;
}
public getModello()
{
return modello;
}
public getFotocamera()
{
return fotocamera;
}
public getDimensioni()
{
return dimensioni;
}
//metodi setters
public setMarca(String mar)
{
marca=mar;
}
public setModello(String mod)
{
modello=mod;
}
public setDimensioni(int [3] dim)
{
dimensioni=dim;
}
public setFotocamera(boolean foto)
{
fotocamera=foto;
}
}
--------------------------------------------------------------------------------------------------
public class Cane {
//attributi
private String razza,nome,colore pelo;
//metodo costruttore
public Cane(String r, String n, String c)
{
razza=r;
nome=n;
colore pelo=c;
}
//metodi getters
public getRazza()
{
return razza;
}
public getNome()
{
return nome;
}
public getColorePelo()
{
return colore pelo;
}
//metodi setters
public setRazza(String ra)
{
razza=ra;
}
public setNome(String no)
{
nome=no;
}
public setColorePelo(String cp)
{
colore pelo=cp;
}
}
--------------------------------------------------------------------------------------------------
public class Computer {
//attributi
private String processore,hardDisk;
private int ram;
//metodo costruttore
public Computer(String p, String h, int r)
{
processore=p;
hardDisk=h;
ram=r;
}
//metodi getters
public getProcessore()
{
return processore;
}
public getHardDisk()
{
return hardDisk;
}
public getRam()
{
return ram;
}
//metodi setters
public setProcessore(String pr)
{
processore=pr;
}
public setHardDisk(String hd)
{
hardDisk=hd;
}
public setRam(int ra)
{
ram=ra;
}
}
--------------------------------------------------------------------------------------------------
public class Persona {
//attributi
private int eta;
private string nome;
private char sesso;
//metodo costruttore
public Persona(int e, String n, char s)
{
eta=e;
nome=n;
sesso=s;
}
//metodi getters
public getEta()
{
return eta;
}
public getNome()
{
return nome;
}
public getSesso()
{
return sesso;
}
//metodi setters
public setEta(int et)
{
eta=et;
}
public setNome(String no)
{
nome=no;
public setSesso(char se)
{
sesso=se;
}
}
--------------------------------------------------------------------------------------------------
public class Monitor {
//attributi
private String marca,modello;
private char colore;
//metodo costruttore
public Monitor(String ma, String mo, char c)
{
marca=ma;
modello=mo;
colore=c;
}
//metodi getters
public getMarca()
{
return marca;
}
public getModello()
{
return modello;
}
public getColore()
{
return colore;
}
//metodi setters
public setMarca(String mar)
{
marca=mar;
}
public setModello(String mod)
{
modello=mod;
}
public setColore(char col)
{
colore=col;
}
}
-------------------------------------------------------------------------------------------------
Ecco come promesso Prof, gli esercizi assegnati da lei per Lunedì.
Buona notte di nuovo!
Ecco come promesso Prof, gli esercizi assegnati da lei per Lunedì.
Buona notte di nuovo!
Prof!
Dopo una bella serata in compagnia di fanciulle! Ora sistemo gli esercizi che ci aveva assegnato, e glieli posto prof!
Buona Notte!
Buona Notte!
martedì 28 ottobre 2008
Primi Esercizi in Java
Dunque, questo pomeriggio abbiamo iniziato ad usare il linguaggio Java.
Qui sotto Riporto il lavoro svolto quest'oggi.
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;
}
/*seguono i metodi getters*/
public String getNome(){
return nome;
}
public char getSesso(){
return sesso;
}
public int getEta(){
return eta;
}
public String getEmail(){
return email;
}
public String getTelefono(){
return telefono;
}
/*seguono i metodi setters*/
public void setEta(int e){
eta=e;
}
public void setEmail(String em){
email=em;
}
public void setTelefono(String t){
telefono=t;
}
}
Questo è per Definire una classe.
public class TestaPersona {
public static void main(String args[]){ /*args stà per argomenti*/
Persona p1;
Persona p2;
Persona p3;
p1=new Persona(18,"Mario",'m',"mario@libero.it","+390752323");
p2=new Persona(24,"Luisa",'f',"luisa@virgilio.it","+390752121");
p3=new Persona(20,"Caio",'m',"caio@libero.it","+390652323");
}
}
Qui invece definiamo 3 oggetti.
Aggiornerò a lavoro ultimato!
Qui sotto Riporto il lavoro svolto quest'oggi.
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;
}
/*seguono i metodi getters*/
public String getNome(){
return nome;
}
public char getSesso(){
return sesso;
}
public int getEta(){
return eta;
}
public String getEmail(){
return email;
}
public String getTelefono(){
return telefono;
}
/*seguono i metodi setters*/
public void setEta(int e){
eta=e;
}
public void setEmail(String em){
email=em;
}
public void setTelefono(String t){
telefono=t;
}
}
Questo è per Definire una classe.
public class TestaPersona {
public static void main(String args[]){ /*args stà per argomenti*/
Persona p1;
Persona p2;
Persona p3;
p1=new Persona(18,"Mario",'m',"mario@libero.it","+390752323");
p2=new Persona(24,"Luisa",'f',"luisa@virgilio.it","+390752121");
p3=new Persona(20,"Caio",'m',"caio@libero.it","+390652323");
}
}
Qui invece definiamo 3 oggetti.
Aggiornerò a lavoro ultimato!
giovedì 23 ottobre 2008
Il gioco delle 7 stanghette (Ore 1:08)
Come da titolo sono le una inoltrate, e finalmente insieme a Marco Perrotta, siamo riusciti a finire questo dannato gioco! Ci è voluto un pomeriggio intero, però cel'abbiamo fatta!
Venerdì 24/10/2008 H 7.45
Alcune immagini del programma in funzione e poi la sorgente!

La prima mossa mia e del computer.

La partita si fa accesa!

Vittoria mia nei confronti del computer.
Il File Sorgente, onde evitare che qualche simpaticone lo copi, verrà postato domattina stessa nell'aula Multimedia 3 di informatica.
A Domani Prof! Buonanotte!
La prima mossa mia e del computer.
La partita si fa accesa!
Vittoria mia nei confronti del computer.
Il File Sorgente, onde evitare che qualche simpaticone lo copi, verrà postato domattina stessa nell'aula Multimedia 3 di informatica.
A Domani Prof! Buonanotte!
Venerdì 24/10/2008 H 7.45
Come ieri, anche oggi non sto molto bene, pertanto allego a questo post il file sorgente del gioco.
Prof mi raccomando col voto!
#include
#include
#include
#define NUMRIGHE 4
int limiti[NUMRIGHE] = {7,5,3,1}; //Limiti per le righe
int rows[NUMRIGHE][7]; // Tavola di gioco
int fill[NUMRIGHE]; // Livelli di riempimento delle righe
char symbol[3]= {'|','+','-'}; // Simboli del gioco
//Disegna la tavola
void repaint()
{
system ("cls");
int i;
printf("Il gioco delle sette stanghette\n\n");
for(i=0;i<7;i++)
printf("%c",symbol[rows[0][i]]);
printf("\n ");
for(i=0; i<5; i++)
printf("%c",symbol[rows[1][i]]);
printf("\n ");
for(i=0; i<3; i++)
printf("%c",symbol[rows[2][i]]);
printf("\n ");
for(i=0; i<1; i++)
printf("%c",symbol[rows[3][i]]);
printf("\n\n");
}
// Azzera i dati di gioco
void inizializza()
{
int i, j;
for(i=0; i<7; i++)
{
if (i< NUMRIGHE)
fill[i]=0;
for(j=0; j< NUMRIGHE; j++)
rows[j][i]=0; //todo: presente lavoro superfluo
}
}
// Controlla che l'imput passatogli sia giusto
int controllaInput(int rigan, int cellen, int sender)
{
if (rigan==0 && cellen==0)
return 0;
if (rigan>NUMRIGHE || rigan<1)
{
if (sender == 1)
printf("Numero di riga errato.");
return 0;
}
if ( fill[rigan-1]+cellen > limiti[rigan-1] )
{
if (sender == 1)
printf("Impossibile prendere il numero di celle richiesto.");
return 0;
}
return 1;
}
// Valorizza il numero di celle richieste nella riga specificata
// (richiede un input verificato)
void prendiCelle(int rigan, int cellen, int value)
{
int i=-1;
rigan--;
fill[rigan] += cellen;
while (cellen>0 && ++i< limiti[rigan])
if (rows[rigan][i]==0)
{
rows[rigan][i]=value;
cellen--;
}
}
// Controlla se la partita è finita o può continuare
int checkMatch()
{
// controllo se è rimasta una cella libera
if (celleRimaste()<=1)
return 1;
return 0; // Parita non finita
}
// ritorna il numero di celle rimaste
int celleRimaste()
{
return limiti[0]+limiti[1]+limiti[2]+limiti[3]-fill[0]-fill[1]-fill[2]-fill[3];
}
// Genera un numero casuale compreso tra 1 e 'num'
int getRndUpTo(int num)
{
return (int) 1 + (num * (rand()/(RAND_MAX+1.0)));
}
// Motore del giocatore AI (pseudo AI)
void execAImove()
{
//todo: implementare IA per bene (vedi programmazione dinamica)
int i=0, CelleDaPrendere = celleRimaste()-1;
// Cerco di prendere tutte le celle rimaste tranne una
for(i=0;i< NUMRIGHE;i++)
if (controllaInput(i,CelleDaPrendere,2)==1)
{
prendiCelle(i,CelleDaPrendere,2);
return;
}
// Sennò cicla random finché non trova una soluzione accettabile
int rigascelta = getRndUpTo(NUMRIGHE);
int ncellescelto = getRndUpTo(limiti[rigascelta]);
while (controllaInput(rigascelta,ncellescelto,2)==0)
{
rigascelta = getRndUpTo(NUMRIGHE);
ncellescelto = getRndUpTo(limiti[rigascelta]);
}
// Prendo le celle scelte
prendiCelle(rigascelta,ncellescelto,2);
}
main()
{
// inizializzo la 'scacchiera'
inizializza();
int rigan, cellen, togglePlayer=1; // inizia il player
// Cicla finché il match non è terminato
while (checkMatch()==0)
{
if (togglePlayer==1)
{
// ridisegno la tavola ogni volta che ha giocato IA o all'inizio
repaint();
//azzero le variabili
rigan=0, cellen=0;
// chiedo l'input al player
while(controllaInput(rigan,cellen,1)==0)
{
printf("\nImmetti riga (1-4) e num. di stanghette che vuoi prendere (separati da virgola):");
scanf("%d,%d",&rigan,&cellen);
}
// prendo il numero di celle scelto dal player
prendiCelle(rigan,cellen,1);
togglePlayer = 2;
}
else
{
// eseguo la mossa AI
execAImove();
togglePlayer = 1;
}
}
repaint();
// finalizzo
printf("\n\nPartita terminata. ");
if (togglePlayer==2)
printf("Hai vinto!\n\n");
else
printf("Hai perso...\n\n");
// possibile ciclare per ripetere il gioco
system("PAUSE");
}
Iscriviti a:
Post (Atom)






