Notizia:
  • Rilasciata Precise Pangolin 12.04. Per ottenerla, visitate questa pagina, oppure provate il tour dal vivo con un browser web moderno.
  • Nuovo forum di Ubuntu-it, l'annuncio. È consigliato aggiornare il proprio profilo e controllare la sezione Gruppo Forum per problemi noti.
  • Rilasciata la versione italiana di Precise Pangolin 12.04. Per maggiori informazioni, consultare questa discussione.
  • Il vincitore del Concorso desktop del mese di aprile è Jerico. L'elenco dei precedenti vincitori è qui.
  • È uscito il numero 17 della Newsletter italiana di Ubuntu. Lo trovate a questo indirizzo.
  • È uscito il numero 59 di Full Circle Magazine in italiano. Lo trovate a questo indirizzo.

[Progetto] ScoPy: il gioco della scopa

Iniziative e progetti della comunità legati a Ubuntu.

[Progetto] ScoPy: il gioco della scopa

Messaggioda marcoscarpetta » martedì 1 marzo 2011, 14:48

Vi presento un piccolo programma che sto scrivendo.
Si tratta del gioco della scopa.
Il programma è scritto in Python e usa le GTK come librerie grafiche.

Qui potete trovare tutte le informazioni sul programma.
Ultima modifica di marcoscarpetta il domenica 18 dicembre 2011, 19:48, modificato 1 volta in totale.
Linux è un piano segreto del KGB, dei comunisti e soprattutto di Pingu (contemplato nel simbolo del sistema operativo) per distruggere l'America, conquistare il mondo e poter quindi iniziare una nuova partita a Risiko.
marcoscarpetta
Scoppiettante Seguace
Scoppiettante Seguace
 
Messaggi: 290
Iscrizione: agosto 2009
Località: Gioia del Colle (BA)
Distribuzione: Ubuntu 12.04 LTS x86_64
Desktop: gnome-classic

Re: [Progetto] ScoPy: il gioco della scopa

Messaggioda Mefrio » martedì 1 marzo 2011, 19:49

non è male, bravo ;)

direi che dare un senso di profondità al mazzo non farebbe male, così come metterci qualche animazione :)

l'immagine delle carte coperte è orribile però, cambiala :P potresti cercare di dare una forma più "tridimensionale" al tappetino di gioco disegnandoci sopra delle piegature per farlo sembrare più realistico. Un altra cosa che potresti fare è mettere la scelta del mazzo di carte (napoletane, piacentine ecc.)
Avatar utente
Mefrio
Entusiasta Emergente
Entusiasta Emergente
 
Messaggi: 1426
Iscrizione: gennaio 2010

Re: [Progetto] ScoPy: il gioco della scopa

Messaggioda The Wise Dj » martedì 1 marzo 2011, 19:49

Nooo le carte napoletane!  ;D (non ci capisco mai una mazza xD)

Interessante, mi iscrivo =D
The Wise Dj
 

Re: [Progetto] ScoPy: il gioco della scopa

Messaggioda marcoscarpetta » martedì 1 marzo 2011, 23:33

Mefrio ha scritto:non è male, bravo ;)

direi che dare un senso di profondità al mazzo non farebbe male, così come metterci qualche animazione :)

l'immagine delle carte coperte è orribile però, cambiala :P potresti cercare di dare una forma più "tridimensionale" al tappetino di gioco disegnandoci sopra delle piegature per farlo sembrare più realistico. Un altra cosa che potresti fare è mettere la scelta del mazzo di carte (napoletane, piacentine ecc.)

La profondità al mazzo si può fare subito(cambiando l'immagine con una con effetto tridimensionale), aggiungere i mazzi mi sembra una buona idea, l'unica cosa è che ci vorra un po' a ritagliare le 40 carte dall'immagine di Wikipedia.

Per fare le animazioni bisognerebbe rifare l'interfaccia grafica, in quanto ora è una gtk table che contiene immagini e bottoni. Si potrebbe fare con pygame credo.

In ogni caso prima della grafica volevo pensare a migliorare l'algoritmo del computer, non avendo ancora trovato qualcosa di decente.

Scio Nescire ha scritto:Nooo le carte napoletane!  ;D (non ci capisco mai una mazza xD)

Interessante, mi iscrivo =D


Che carte vorresti? Se vuoi anche tu quelle piacentine le aggiungo(anche se mi sembrano una brutta copia di quelle napoletane)
Ultima modifica di marcoscarpetta il martedì 1 marzo 2011, 23:36, modificato 1 volta in totale.
Linux è un piano segreto del KGB, dei comunisti e soprattutto di Pingu (contemplato nel simbolo del sistema operativo) per distruggere l'America, conquistare il mondo e poter quindi iniziare una nuova partita a Risiko.
marcoscarpetta
Scoppiettante Seguace
Scoppiettante Seguace
 
Messaggi: 290
Iscrizione: agosto 2009
Località: Gioia del Colle (BA)
Distribuzione: Ubuntu 12.04 LTS x86_64
Desktop: gnome-classic

Re: [Progetto] ScoPy: il gioco della scopa

Messaggioda The Wise Dj » martedì 1 marzo 2011, 23:48

Quelle classiche da scala 40 o poker, diciamo quelle con i numeri ben impressi =D

Che algoritmo usa il computer?

Riesci a isolarlo e postarlo separatamente?
The Wise Dj
 

Re: [Progetto] ScoPy: il gioco della scopa

Messaggioda marcoscarpetta » martedì 1 marzo 2011, 23:54

Le carte da poker sono 52, queste sono 40.
Comunque la scala dei valori è abbastanza comprensibile, dall'1 al 7 si capiscono credo, poi c'è la donna, il cavallo e il re.

Il codice è questo ma non so se lo capirai:
Praticamente prima calcola le prese possibili per ogni carta.
Poi ci sono due casi, quello in cui si può prendere qualcosa e quello in cui no.
poi in entrambi i casi calcola il valore di ogni giocata considerando le carte da prendere e quelle da lasciare a terra(questa è la parte da migliorare) e sceglie la migliore.
Codice: Seleziona tutto
def gioca_computer(self):
      carte_mano = self.giocatore[1].mano.carte
      carte_terra = self.carte_terra.carte
      giocate = []
      no_prese = 1
      n = 0
      i = 0
      while n < len(carte_mano):
         prese_possibili = prese(carte_mano[n], carte_terra)
         if prese_possibili != [[]]:
            no_prese = 0
         for presa in prese_possibili:
            giocate.append([n, presa])
         n = n+1
      if len(giocate) == 1:
         return giocate[0]
      elif no_prese == 1:
         ide_carte = range(len(carte_mano))
         migliore = [0,[],0]
         for ide_carta in ide_carte:
            valore = 0
            n = 0
            for carta in carte_mano:
               if carta.valore == carte_mano[ide_carta].valore:
                  n = n + 1
            if n >= 2:
               valore = valore + 1
            if carte_mano[ide_carta].palo != 0:
               valore = valore + 1
            if carte_mano[ide_carta].valore == 7:
               valore = valore - 1
            if valore > migliore[2]:
               migliore[0], migliore[2] = ide_carta, valore
            n = 0
            for carta in carte_mano:
               if carta.valore > carte_mano[ide_carta].valore:
                  n = n + 1
            valore = valore + n
         return migliore[0:2]
      else:
         migliore = [0,[],-20]
         for giocata in giocate:
            valore = 0
            if len(giocata[1]) == len(carte_terra):
               valore = valore + 20
            valore_terra = 0
            for ide_carta in range(len(carte_terra)):
               if not ide_carta in giocata[1]:
                  valore_terra = valore_terra + carte_terra[ide_carta].valore
            if valore_terra <= 10:
               valore = valore - 6
            carte = []
            for ide_carta in giocata[1]:
               carte.append(carte_terra[ide_carta])
            carte.append(carte_mano[giocata[0]])
            valore = valore + len(carte)
            for carta in carte:
               if carta.palo == 0:
                  valore = valore + 3
               if carta.valore == 7:
                  valore = valore + 4
                  if carta.palo == 0:
                     valore = valore + 20
               if carta.valore == 6:
                  valore = valore + 2
               if carta.valore == 1:
                  valore = valore + 1
            if valore > migliore[2]:
               migliore[0], migliore[1], migliore[2] = giocata[0], giocata[1], valore
         return migliore[0:2]

Ma sai giocare a scopa?
perchè più che un aiuto informatico mi servirebbe avere una scala delle prese migliori
Ultima modifica di marcoscarpetta il mercoledì 2 marzo 2011, 0:04, modificato 1 volta in totale.
Linux è un piano segreto del KGB, dei comunisti e soprattutto di Pingu (contemplato nel simbolo del sistema operativo) per distruggere l'America, conquistare il mondo e poter quindi iniziare una nuova partita a Risiko.
marcoscarpetta
Scoppiettante Seguace
Scoppiettante Seguace
 
Messaggi: 290
Iscrizione: agosto 2009
Località: Gioia del Colle (BA)
Distribuzione: Ubuntu 12.04 LTS x86_64
Desktop: gnome-classic

Re: [Progetto] ScoPy: il gioco della scopa

Messaggioda sbubba » mercoledì 2 marzo 2011, 0:21

molto carino!!
a me il dorso delle carte piace. se aggiungi le piacentine non sarebbe male!
sarebbe carino anche visualizzare il numero di carte o mani rimanenti, per rendersi conto meglio della partita.
Avatar utente
sbubba
Entusiasta Emergente
Entusiasta Emergente
 
Messaggi: 1527
Iscrizione: maggio 2007

Re: [Progetto] ScoPy: il gioco della scopa

Messaggioda The Wise Dj » mercoledì 2 marzo 2011, 0:37

Intendevo il tipo delle carte da poker, non il numero (52) ;)

Ora vedo il codice =P
The Wise Dj
 

Re: [Progetto] ScoPy: il gioco della scopa

Messaggioda The Wise Dj » mercoledì 2 marzo 2011, 0:43

Allora, per un attimo avevo pensato alla cirulla (prendi 15) che è comunque più complessa sotto certi aspetti =D

Direi che come prima cosa si punta al sette bello (sia a prenderlo giù sia a preferire di prenderlo perdendo una scopa (se hai il sette bello e un asso in mano, un sette e un due per terra, ad esempio)), poi agli ori, poi alla primiera, poi alle scope.

Parere personale, evitare di lasciare sul tavolo combinazioni del sette.

Se vuoi implementare anche la difficoltà per il giocatore puoi mettere che per qualche valore random lui lasci perdere l'azione giusta e ne faccia una sciocca. Diminuendo la difficoltà il valore random generato sarà più propenso all'errore del computer.
The Wise Dj
 

Re: [Progetto] ScoPy: il gioco della scopa

Messaggioda marcoscarpetta » mercoledì 2 marzo 2011, 13:35

sbubba ha scritto:molto carino!!
a me il dorso delle carte piace. se aggiungi le piacentine non sarebbe male!
sarebbe carino anche visualizzare il numero di carte o mani rimanenti, per rendersi conto meglio della partita.


Si anche questa è una buona idea, appena ho tempo faccio queste modifiche

Scio Nescire ha scritto:Intendevo il tipo delle carte da poker, non il numero (52) ;)

Ora vedo il codice =P


Ma qundi dovrei mattere dall'1 al 10 o dall'1 al 7 e J, Q e K?

Scio Nescire ha scritto:Allora, per un attimo avevo pensato alla cirulla (prendi 15) che è comunque più complessa sotto certi aspetti =D

Direi che come prima cosa si punta al sette bello (sia a prenderlo giù sia a preferire di prenderlo perdendo una scopa (se hai il sette bello e un asso in mano, un sette e un due per terra, ad esempio)), poi agli ori, poi alla primiera, poi alle scope.

Parere personale, evitare di lasciare sul tavolo combinazioni del sette.

Se vuoi implementare anche la difficoltà per il giocatore puoi mettere che per qualche valore random lui lasci perdere l'azione giusta e ne faccia una sciocca. Diminuendo la difficoltà il valore random generato sarà più propenso all'errore del computer.


Più o meno adesso è già così, a parte gli errori (non sono necessari tanto si vince sempre lo stesso)
Linux è un piano segreto del KGB, dei comunisti e soprattutto di Pingu (contemplato nel simbolo del sistema operativo) per distruggere l'America, conquistare il mondo e poter quindi iniziare una nuova partita a Risiko.
marcoscarpetta
Scoppiettante Seguace
Scoppiettante Seguace
 
Messaggi: 290
Iscrizione: agosto 2009
Località: Gioia del Colle (BA)
Distribuzione: Ubuntu 12.04 LTS x86_64
Desktop: gnome-classic

Re: [Progetto] ScoPy: il gioco della scopa

Messaggioda vaillant » mercoledì 2 marzo 2011, 13:37

Complimenti per l'iniziativa. Benchè non possa essere di grande aiuto per lo sviluppo, mi diletto a provarlo per suggerire modifiche o malfunzionamenti ;)
Avatar utente
vaillant
Moderatore Globale
Moderatore Globale
 
Messaggi: 7387
Iscrizione: marzo 2009
Località: Modica
Distribuzione: Fedora 17 x64
Desktop: GNOME Shell 3.4.1

Re: [Progetto] ScoPy: il gioco della scopa

Messaggioda marcoscarpetta » mercoledì 2 marzo 2011, 13:48

vaillant ha scritto:Complimenti per l'iniziativa. Benchè non possa essere di grande aiuto per lo sviluppo, mi diletto a provarlo per suggerire modifiche o malfunzionamenti ;)


(b2b)
Linux è un piano segreto del KGB, dei comunisti e soprattutto di Pingu (contemplato nel simbolo del sistema operativo) per distruggere l'America, conquistare il mondo e poter quindi iniziare una nuova partita a Risiko.
marcoscarpetta
Scoppiettante Seguace
Scoppiettante Seguace
 
Messaggi: 290
Iscrizione: agosto 2009
Località: Gioia del Colle (BA)
Distribuzione: Ubuntu 12.04 LTS x86_64
Desktop: gnome-classic

Re: [Progetto] ScoPy: il gioco della scopa

Messaggioda The Wise Dj » mercoledì 2 marzo 2011, 13:51

marcoscarpetta ha scritto:Ma qundi dovrei mattere dall'1 al 10 o dall'1 al 7 e J, Q e K?


1 - 7 + le figure (J,Q, K)

marcoscarpetta ha scritto:Più o meno adesso è già così, a parte gli errori (non sono necessari tanto si vince sempre lo stesso)


Ma allora non ha senso giocare se vinci sempre =P
CI vorrebbe un livello di difficoltà vario IMHO.
The Wise Dj
 

Re: [Progetto] ScoPy: il gioco della scopa

Messaggioda marcoscarpetta » mercoledì 2 marzo 2011, 13:56

Scio Nescire ha scritto:
marcoscarpetta ha scritto:Ma qundi dovrei mattere dall'1 al 10 o dall'1 al 7 e J, Q e K?


1 - 7 + le figure (J,Q, K)


Ok, magari ora lo predispongo ad avere più mazzi poi si aggiungono

Scio Nescire ha scritto:
marcoscarpetta ha scritto:Più o meno adesso è già così, a parte gli errori (non sono necessari tanto si vince sempre lo stesso)


Ma allora non ha senso giocare se vinci sempre =P
CI vorrebbe un livello di difficoltà vario IMHO.


Non è che si vince sempre, è che le mosse del computer non sono molto giuste e allora è facile vincere

Magari adesso metto una lista delle cose da fare e di quelle fatte nel 1° post
Linux è un piano segreto del KGB, dei comunisti e soprattutto di Pingu (contemplato nel simbolo del sistema operativo) per distruggere l'America, conquistare il mondo e poter quindi iniziare una nuova partita a Risiko.
marcoscarpetta
Scoppiettante Seguace
Scoppiettante Seguace
 
Messaggi: 290
Iscrizione: agosto 2009
Località: Gioia del Colle (BA)
Distribuzione: Ubuntu 12.04 LTS x86_64
Desktop: gnome-classic

Re: [Progetto] ScoPy: il gioco della scopa

Messaggioda crx » mercoledì 2 marzo 2011, 14:22

Carino!
Qualche appunto.
Non mi sono messo a leggere il codice, però sono d'accordo con Scio Nescire: il computer non fa "più o meno" quello che ha suggerito: ad esempio tra due carte uguali, tra cui una di denari, dovrebbe scegliere i denari. Inoltre, se può fare diverse combinazioni, dovrebbe puntare a prendere i sette (ad esempio, se ci sono sul tavolo 1, 5, 7, 3 e lui ha un 6 e un 10, dovrebbe puntare al 7+3, non al 5+1).
La finestra con i risultati della partita appare sempre sopra tutte le altre (anche quella su cui sto scrivendo ora...) e sempre al centro dello schermo anziché al centro della finestra del gioco.
Ultima cosa: forse sono io che non capisco bene (ora vado un po' di corsa), ma guarda la finestra che ho postato: come faccio io ad avere 4 punti e il computer 2?

Comunque bravo.
Non si hanno i permessi necessari per visualizzare i file allegati in questo messaggio.
S = k ln W
Come iniziare a diventare un hacker - Come risolvere quasi tutti i problemi
Windows: 9 Anni, 4 Mesi; GNU/Linux: 4 Anni, 1 Mese.
Avatar utente
crx
Entusiasta Emergente
Entusiasta Emergente
 
Messaggi: 1216
Iscrizione: settembre 2008

Re: [Progetto] ScoPy: il gioco della scopa

Messaggioda The Wise Dj » mercoledì 2 marzo 2011, 14:29

Che sarebbero i settanta? o.O
The Wise Dj
 

Re: [Progetto] ScoPy: il gioco della scopa

Messaggioda marcoscarpetta » mercoledì 2 marzo 2011, 14:43

crx ha scritto:Carino!
Qualche appunto.
Non mi sono messo a leggere il codice, però sono d'accordo con Scio Nescire: il computer non fa "più o meno" quello che ha suggerito: ad esempio tra due carte uguali, tra cui una di denari, dovrebbe scegliere i denari. Inoltre, se può fare diverse combinazioni, dovrebbe puntare a prendere i sette (ad esempio, se ci sono sul tavolo 1, 5, 7, 3 e lui ha un 6 e un 10, dovrebbe puntare al 7+3, non al 5+1).


queste cose le dovrebbe veramente già fare, ti sono capitati proprio quei casi?

crx ha scritto:La finestra con i risultati della partita appare sempre sopra tutte le altre (anche quella su cui sto scrivendo ora...) e sempre al centro dello schermo anziché al centro della finestra del gioco.


Ok, cambiato, ora va sotto ma è sempre al centro dello schermo.

crx ha scritto:Ultima cosa: forse sono io che non capisco bene (ora vado un po' di corsa), ma guarda la finestra che ho postato: come faccio io ad avere 4 punti e il computer 2?


I punti che mostra sono quelli totali, spero che che stessi giocando la seconda partita

Scio Nescire ha scritto:Che sarebbero i settanta? o.O


Quella che tu chiami primiera. Qui si chiama settanta
Per quanto riguarda le carte da poker, i denari quali sono poi? i cuori?

Grazie a tutti per i consigli
Ultima modifica di marcoscarpetta il mercoledì 2 marzo 2011, 18:58, modificato 1 volta in totale.
Linux è un piano segreto del KGB, dei comunisti e soprattutto di Pingu (contemplato nel simbolo del sistema operativo) per distruggere l'America, conquistare il mondo e poter quindi iniziare una nuova partita a Risiko.
marcoscarpetta
Scoppiettante Seguace
Scoppiettante Seguace
 
Messaggi: 290
Iscrizione: agosto 2009
Località: Gioia del Colle (BA)
Distribuzione: Ubuntu 12.04 LTS x86_64
Desktop: gnome-classic

Re: [Progetto] ScoPy: il gioco della scopa

Messaggioda crx » mercoledì 2 marzo 2011, 20:54

queste cose le dovrebbe veramente già fare, ti sono capitati proprio quei casi?

Si. Oggi non ho potuto fare altre prove, ma appena posso ci riprovo e vedo.

I punti che mostra sono quelli totali, spero che che stessi giocando la seconda partita

Capito: si, stavo giocando la seconda partita.
Ma allora non è meglio un risultato "doppio": risultati della partita e risultati totali della giocata?
S = k ln W
Come iniziare a diventare un hacker - Come risolvere quasi tutti i problemi
Windows: 9 Anni, 4 Mesi; GNU/Linux: 4 Anni, 1 Mese.
Avatar utente
crx
Entusiasta Emergente
Entusiasta Emergente
 
Messaggi: 1216
Iscrizione: settembre 2008

Re: [Progetto] ScoPy: il gioco della scopa

Messaggioda The Wise Dj » mercoledì 2 marzo 2011, 21:32

Uhm!

Allora, ori = denari = quadri ;)

Se vuoi le carte posso cercarle anche io
The Wise Dj
 

Re: [Progetto] ScoPy: il gioco della scopa

Messaggioda The Wise Dj » giovedì 3 marzo 2011, 1:01

The Wise Dj
 

Successiva

Torna a Progetti della Comunità

Chi c’è in linea

Visualizzano questa pagina: giulux, vaisarger e 2 ospiti