martedì 17 novembre 2009

Classe Testa Carta-Black Jack

Questa classe come Testa Mano e Testa Mazzo provano se le classi Carta,Mano e Mazzo funzionino.


public class TestaCarta{
public static void main(String[] args){
int n=Integer.parseInt(args[0]); //converte una stringa in un numero
Carta a1=new Carta(n);
a1.ioSono();
}
}

Classe Mazzo-Black Jack

import java.util.Random;
public class Mazzo{
Carta mazzo[]=new Carta[52];
Carta successiva=new Carta(1);
public void riordinaMazzo(){
for(int i=0;i<52;i++){
Carta c=new Carta(i);
mazzo[i]=c;
}
}
public Mazzo(){
riordinaMazzo();
}
public void mischiaMazzo(){
Random r1=new Random();
Carta comodo=new Carta(1);
//int nr=r1.nextInt(52);
for(int i=0;i<52;i++){
int n1=r1.nextInt(52);
int n2=r1.nextInt(52);
comodo=mazzo[n1];
mazzo[n1]=mazzo[n2];
mazzo[n2]=comodo;
}
successiva=mazzo[0];
}
public void stampaMazzo(){
for(int i=0;i<52;i++){
mazzo[i].ioSono();
}
}
public Carta getSuccessiva(){
return successiva;
}
public void setSuccessiva(int conta){
successiva=new Carta(conta);
}
//metodo che restituisce la variabile globale mazzo
public Carta[] getMazzo(){return mazzo;}
}

Classe Mano-Black Jack

public class Mano{
Carta[] mano=new Carta[11];
int contaCarte=0;
int punteggio=0;
public void addCarta(Carta carta){
mano[contaCarte]=carta;
contaCarte++;
}
public void stampaMano(){
int i=0;
while(mano[i]!=null){
System.out.println(mano[i].getNome()+" "+mano[i].getSeme());
i++;
}
}
public void stampaManoBanco(){
System.out.println(mano[0].getNome()+" "+mano[0].getSeme());
}
public void stampaManoBanco1(){
mano[0].ioSono();
}
public int calcolaPunteggio(){
int i=0;
punteggio=0;
while(mano[i]!=null){
punteggio=punteggio+mano[i].getValore();
i++;
}
i=0;
if (punteggio<=21){
while(mano[i]!=null){
if (mano[i].getValore()==1){
if(21-punteggio>=10) punteggio=punteggio+10;
}
i++;
}
}
System.out.println("punteggio: "+punteggio);
return punteggio;
}
}

Classe Carta-Black Jack

public class Carta{
//variabili di istanza o di oggetto
private String seme; //"P" "Q" "C" "J"
private String nome; // " A 2----9 J Q K"
private int inumero;
private int valore;
private int punti;
private String semi[]={"cuori","quadri","fiori","picche"};
private String nomi[]={"asse","2","3","4","5","6","7","8","9","10","Jack","Donna","Re"};
public Carta(int n){ //n il numero univoco della carta da 1 a 52
int iseme=n/13;
seme=semi[iseme];
valore=n%13+1;
if((valore==11)||(valore==12)||(valore==13)){
punti=10;
}else{
punti=valore;
}
nome=nomi[valore-1];
}
// metodi get permettono di restituire alle altre classi i valori delle variabili d'oggetto
public String getSeme(){
return seme;
}
public String getNome(){
return nome;
}
public int getValore(){
return punti;
}
public void ioSono(){
System.out.println("io sonola carta:"+getNome()+" "+getSeme());
}
}

Gioco del Black jack in java (svolto in classe)- Classe Banco

In ogni classe abbiamo definito i suoi metodi e attributi e alla fine li abbiamo "uniti" in un unica classe la quale mandava in esecuzione il programma
La prima che abbiamo definito è stata quella relativa al banco a di gioco e in seguito tutte le altre testandole ogni volta.


import java.util.Scanner;
public class Banco{
Giocatore giocatore;
int id;
String nome;
int budget=0;
Mazzo mazzo=new Mazzo();
Mano manoBanco=new Mano();
Scanner in=new Scanner(System.in);
public void creaGiocatore(){
System.out.println("Dammi il tuo nome");
String nomeGiocatore=in.next();
System.out.println("dimmi il tuo budget");
int budget=in.nextInt();
giocatore=new Giocatore(1,nomeGiocatore,budget);
}
public Banco(int id,String nome,int budget){
this.id=id;
this.nome=nome;
this.budget=budget;
}
public int run(){
int sommaBanco=100000;
int restoGiocatore=giocatore.getResto();
System.out.println("Vuoi continuare a giocare?Rispondi Si");
String r=in.next();
int puntata=giocatore.punta();
Mano manog=giocatore.getMano();
int i=0;
Carta[] carteMazzo=mazzo.getMazzo();
while((restoGiocatore>0)&&(r.equals("Si"))&&(sommaBanco>0)){
mazzo.riordinaMazzo();
mazzo.mischiaMazzo();
mazzo.stampaMazzo();
System.out.println("------------");
Carta carta=mazzo.getSuccessiva();
manog.addCarta(carteMazzo[i]);
i++;
manog.addCarta(carteMazzo[i]);
i++;
manoBanco.addCarta(carteMazzo[i]);
i++;
manoBanco.addCarta(carteMazzo[i]);
i++;
manog.stampaMano();
int punteggiog=manog.calcolaPunteggio();
manoBanco.stampaManoBanco();
int punteggiob=0;//manoBanco.calcolaPunteggio();
System.out.println("se vuoi un'altra carta rispondi Si");
r=in.next();
while((r.equals("Si"))&&(punteggiog<=21)){
manog.addCarta(carteMazzo[i]);
i++;
manog.stampaMano();
punteggiog=manog.calcolaPunteggio();
System.out.println("Se vuoi un'altra carta rispondi Si");
r=in.next();
}
if (punteggiog>21){
System.out.println("hai sballato perdi la puntata");
restoGiocatore-=puntata;
sommaBanco+=puntata;
break;
}
while((punteggiob<=punteggiog)&&(punteggiob<21)){
manoBanco.addCarta(carteMazzo[i]);
i++;
manoBanco.stampaManoBanco();
manoBanco.stampaManoBanco1();
punteggiob=manoBanco.calcolaPunteggio();
}
if(punteggiog>punteggiob){
System.out.println("hai vinto: "+puntata);
restoGiocatore+=puntata;
sommaBanco-=puntata;
}else{
System.out.println("il banco vince!"+puntata);
restoGiocatore-=puntata;
sommaBanco+=puntata;
}
}
return sommaBanco;
}
//ho assegnato il giocatore al banco
public void setGiocatore(Giocatore g){
giocatore=g;
}
}

mercoledì 21 ottobre 2009

Gioco del dado- svolto in classe-linguaggio C

#include
int numero=0;
int contaErrori=0;
int tentativo=0;
int indovinato;
void numeroCasuale(){
numero=10;
indovinato=0;
}

void indovinaNumero(){
printf("\nindovina il numero - interi da 0 a 20: ");
scanf(" %d",&tentativo);
indovinato==0;
if (tentativo>numero){
printf("numero troppo grande");
contaErrori++;
}
if (tentativo printf("numero troppo piccolo");
contaErrori++;
}
if (tentativo==numero){
printf("bravo risposta esatta\n");
printf("\n hai sbagliato %d volte\n",contaErrori);
indovinato=1;
}
}
int main(){
while(indovinato==0){
numeroCasuale();
indovinaNumero();
}
}

sabato 17 ottobre 2009

"Gatto" e "Cane" in java

public class Gatto{
String colore;
String nome;
String razza;
public Gatto(String nome,String colore,String razza){
this.colore=colore;
this.nome=nome;
this.razza=razza;
}
public void miagola(){
System.out.println("miao miao ti graffio");
}
public void graffio(){
System.out.println("ffffff");
}
}


public class Cane{
String colore;
String nome;
String razza;
public Cane(String nome,String colore,String razza){
this.colore=colore;
this.nome=nome;
this.razza=razza;
}
public void abbaio(){
System.out.println("bau bau ti mangio");
}
public void attacco(){
System.out.println("gnam gnam che buono");
}
}



public class ProvaGattoCane{
public static void main(String[] args){
Gatto g1=new Gatto("Fufi","nero","siamese");
Cane c1=new Cane("Fido","bianco","pitbull");
c1.abbaio();
g1.miagola();
g1.graffio();
c1.attacco();
}
}