venerdì 12 dicembre 2008

grafica

questo è il primo programma di grafica al momento nn completato, provvederò il prima possibile a completarlo:
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
public class Grafica1{
private JFrame f;
private Pannello1 p;
private JButton b1;
public Grafica1(){
f=new JFrame("prova pannello");
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.setSize(300,300); b1=new JButton("cambia colore casuale");
f.setLayout(new GridLayout(2,1));
p=new Pannello1();
f.add(b1);
f.add(p);
f.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);
Color colore=new Color(rosso,verde,blu);
g2D.setColor(colore);
g2D.fillOval(0,0,70,70);
}
}
public static void main(String[] args){
Grafica1 g1=new Grafica1();
}
}

mercoledì 3 dicembre 2008

Piramide rovescata

/*gioco della piramide rovesciata*/
#include
int board[17];
char simboli[2]={'|','+'};
void stampa();
int w=0;
void MossaUmano();
void MossaPc();
void AzzeraBoard();
int vincitore();
int main(){
int turno=0;
AzzeraBoard();
do{
turno=0;
stampa();
MossaUmano();
vincitore();
if(vincitore()==1){
turno=1;
break;
}
printf("mossa pc:\n");
MossaPc();
vincitore();
if(vincitore()==1){
printf("\nil pc non puo' fare altre mosse\n");
turno=2;
break;
}
}while(w=1);
if(turno==1){
printf("\nhai perso\n");
}
else
printf("\nhai vinto\n");

}
/*azzera la board*/
void AzzeraBoard(){
int i=0;
for(i=1;i<17;i++){
board[i]=0;
}
}
/*funzione stampa*/
void stampa(){
int i;
for(i=1;i<17;i++){
printf("%c",simboli[board[i]]);
if(i==7){
printf("\n ");
}
if(i==12){
printf("\n ");
}
if(i==15){
printf("\n ");
}
}
printf("\n");
}
/*mossa umano*/
void MossaUmano(){
int i=0;
int a=0;
int b=0;
printf("da quale punto vuoi iniziare la selezione?\n");
scanf("%d",&a);
printf("da quale punto vuoi terminare la selezione?\n");
scanf("%d",&b);
//errore a
if(a>b){
printf("ERRORE\nil valore di partenza e' maggiore dell'ultimo valore\n");
MossaUmano();
return;
}
//errore doppia riga
if((0<8)&&(7<17)||(7<13)&&(12<17)||(12<16)&&(b==16)){
printf("ERRORE\ni valori compresi occupano due righi\n");
MossaUmano();
return;
}
for(i=a;i<(b+1);i++){
if(board[i]==0){
board[i]=1;
}
else{
printf("ERRORE\n");
MossaUmano();
return;
}
}
}
/*mossa computer*/
void MossaPc(){
int i=0;
for(i=1;i<17;i++){
if(board[i]==0){
board[i]=1;
i=17;
}
}
}
/*controllo vincitore*/
int vincitore(){
int i;
int v=0;
for(i=1;i<17;i++){
if(board[i]==1){
v++;
}
}
if(v==16){
return 1;
}
}

seconda prova

dati alcuni problemi nel blog precedente ho deciso di aprire questo... sperando che nn ci siano altri contrattempi :/