Pages: [1]   Go Down
Print
Author Topic: Esercizio Scopa  (Read 1539 times)
0 Members e 1 Utente non registrato stanno visualizzando questa discussione.
TheSpecialOne
Apprendista Forumista
**
Offline Offline

Posts: 232



« on: 28-11-2008, 16:32:07 »

ecco la mia soluzione a questo esercizio, non avendone assoluta certezza, posto qui il mio "elaborato"
Se qualche anima pia ha voglia di correggere gli errori (sicuri) presenti!

ESERCIZIO:
Una collezione di carte da gioco siciliane costituisce la presa di un giocatore in una partita di scopa.
Con probabilità 1/10 il giocatore ha segnato un punto di scopa.
Determinare il punteggio del giocatore.
N.B.: Si ricorda che i punti del gioco della scopa sono :
1. Carte (un punto se si possiede la maggioranza di carte),
2. Oro (un punto se si possiede la maggioranza di carte d’oro),
3. Sette d’oro (un punto se lo si possiede),
4. Settanta (versione semplificata: un punto se si possiede la maggioranza di sette).

Code:
public class scopa
{
public static void main (String [] args)
{
int n= (int)(Math.random()*41); //prese del giocatore
int i=0; //indice
int oro=0; //contatore carte di denari
int set=0; //contatore di 7
int punteggio=0; //punteggio totale del giocatore
cartaDaGioco [] C=new cartaDaGioco[n]; //carte da gioco create
while (i<n)
{
if (n>20)
{
punteggio++;
}
C[i].getValore();
C[i].getSeme();
if (C[i].getSeme=='O')
{
oro++;
}
if (oro==6)
{
punteggio++;
}
if (C[i].getSeme=='O' && C[i].getValore==7)
{
punteggio++;
}
if (C[i].getValore==7)
{
set++;
}
if (set==3)
{
punteggio++;
}
System.out.println (punteggio);
}
}
}

PS: Ho ipotizzato la presenza di 2 giocatori, quindi il punto per le carte si prende con 21 carte, l'oro con 6 carte di denari e il "settanta" con 3 sette su 4!
Logged
MisteroLupo
Apprendista Forumista
**
Offline Offline

Posts: 273

Tra il dire e il fare c'è distanza di hamming 2.


« Reply #1 on: 02-12-2008, 19:22:49 »

sembra funzionare. posto anche la mia versione
Code:
// esercizio Scopa

public static void main(String[] args) {
byte preseEffettuate = 10;
byte giocatori = 4;
byte punteggio = 0;
byte preseOro = 0;
byte preseSette = 0;
CartaDaGioco[] c = new CartaDaGioco[preseEffettuate]; // array di carte, la presa del giocatore
if (preseEffettuate>40/giocatori) punteggio++; // un punto se si possiede la maggioranza di carte
for (byte i = preseEffettuate;i>=0;i--) {
if (c[i].getSeme()=='O') {
preseOro++;
if (c[i].getValore()==7) punteggio++;
}
if (c[i].getValore()==7) preseSette++;
}
if (preseOro>10/giocatori) punteggio++; // maggioranza di carte d'oro
if (preseSette>4/giocatori) punteggio++; // maggioranza di sette
}
Logged
goofy84it
Guest
« Reply #2 on: 05-12-2008, 01:26:08 »

sembra funzionare. posto anche la mia versione
Code:
// esercizio Scopa

public static void main(String[] args) {
byte preseEffettuate = 10;
byte giocatori = 4;
byte punteggio = 0;
byte preseOro = 0;
byte preseSette = 0;
CartaDaGioco[] c = new CartaDaGioco[preseEffettuate]; // array di carte, la presa del giocatore
if (preseEffettuate>40/giocatori) punteggio++; // un punto se si possiede la maggioranza di carte
for (byte i = preseEffettuate;i>=0;i--) {
if (c[i].getSeme()=='O') {
preseOro++;
if (c[i].getValore()==7) punteggio++;
}
if (c[i].getValore()==7) preseSette++;
}
if (preseOro>10/giocatori) punteggio++; // maggioranza di carte d'oro
if (preseSette>4/giocatori) punteggio++; // maggioranza di sette
}


SONO D'ACCORDISSIMO!!!  ok ANCHE IO L'HO FATTO IDENTICO AL TUO!  univ  yoh (ovviamente i nomi delle variabili sono differenti!) 
 ciao
Logged
MisteroLupo
Apprendista Forumista
**
Offline Offline

Posts: 273

Tra il dire e il fare c'è distanza di hamming 2.


« Reply #3 on: 05-12-2008, 10:44:02 »

 yoh
Logged
Pages: [1]   Go Up
Print
Jump to: