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

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

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

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

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

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!

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!

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!

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!

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

martedì 30 settembre 2008

Apertura del Blog

30/09/2008
Apertura del blog didattico della 4ALE.
In questo blog verranno inserite notizie e informazioni varie che durante la lezione di informatica apprenderemo.
Terrò aggiornato il blog giornalmente (si spera).
Un saluto a tutti!