Domanda Risolto Solitario del Carcerato - sviluppo app

Ciao si, vorrei consigli su come sviluppare l'app da zero. E poi il gioco ha dei principi matematici di casualità vorrei capire come implementarli.
 
mi hai inviato soltanto l'app per ios in cui le dinamiche non sono descritte moltissimo.

Per generare una carta a caso puoi scegliere due valori random (ogni linguaggio di programmazione ha una propria libreria per fare ciò):
- il pimo in [1,4] che saranno i quattro semi
- l'altro in [1, 10] che saranno le carte, siciliane in questo caso.

ti prendi poi delle immagini di carte, su internet penso ne trovi a migliaia e con una banalissima funzione ti associ (seme,valore) -> immagine_carta.

Non sono descritte le altre dinamiche del gioco quindi non ti posso aiutare.

per gli acquisti in app puoi usare queste api google: https://developer.android.com/distribute/best-practices/earn/in-app-purchases
 
mi hai inviato soltanto l'app per ios in cui le dinamiche non sono descritte moltissimo.

Per generare una carta a caso puoi scegliere due valori random (ogni linguaggio di programmazione ha una propria libreria per fare ciò):
- il pimo in [1,4] che saranno i quattro semi
- l'altro in [1, 10] che saranno le carte, siciliane in questo caso.

ti prendi poi delle immagini di carte, su internet penso ne trovi a migliaia e con una banalissima funzione ti associ (seme,valore) -> immagine_carta.

Non sono descritte le altre dinamiche del gioco quindi non ti posso aiutare.

per gli acquisti in app puoi usare queste api google: https://developer.android.com/distribute/best-practices/earn/in-app-purchases

Di base si, ma non puoi generare usando quei range, perche' ogni carta e' presente una sola volta nel mazzo, non puoi rischiare di avere duplicati.
Il modo corretto e' mischiare un array di 40 elementi in modo casuale, in molti linguaggi di programmazione e' presente la funzione shuffle che fa proprio questo; dove non presente ci sono molte guide online.
Avrai un array di oggetti, ogni oggetto di tipo Carta avra' come detto seme, numero ed immagine.
La struttura ad array ti facilitera' il meccanismo di gioco, per scorrere il mazzo puoi fare semplicemente carta = mazzo[posizioneAttuale + carteDaSaltare];
 
mi hai inviato soltanto l'app per ios in cui le dinamiche non sono descritte moltissimo.

Per generare una carta a caso puoi scegliere due valori random (ogni linguaggio di programmazione ha una propria libreria per fare ciò):
- il pimo in [1,4] che saranno i quattro semi
- l'altro in [1, 10] che saranno le carte, siciliane in questo caso.

ti prendi poi delle immagini di carte, su internet penso ne trovi a migliaia e con una banalissima funzione ti associ (seme,valore) -> immagine_carta.

Non sono descritte le altre dinamiche del gioco quindi non ti posso aiutare.

per gli acquisti in app puoi usare queste api google: https://developer.android.com/distribute/best-practices/earn/in-app-purchases

.

Qui ti spiega un'po, la mia idea era ogni volta che perdi una partita ti scalo una vita e devi comprarle/guardare una pubblicità, poi magari fare una classifica con chi ha vinto/perso ed il numero di carte a cui si è arrivato. A grandi linee una cosa cosí :)
 
la parte di logica del gioco ti è già stata spiegata sopra, mischi il mazzo di carte e poi le estrai una alla volta, nel frattempo controlli se il valore della carta è pari all'indice di scorrimento:

Python:
mazzo = #lista contenente tutte le carte
random.shuffle(mazzo) #mischi le carte

i = 1 #indice di scorrimento

for carta in mazzo:
    
    if carta.valore == i % 10 + 1:
        print("hai perso")
        break
    
    i = i + 1
    
if i == 40:
    print("hai vinto")

il codice è abbozzato velocemente ma dovrebbe andare
 
  • Mi piace
Reazioni: ready
Grazie mille dell'aiuto :)
la parte di logica del gioco ti è già stata spiegata sopra, mischi il mazzo di carte e poi le estrai una alla volta, nel frattempo controlli se il valore della carta è pari all'indice di scorrimento:

Python:
mazzo = #lista contenente tutte le carte
random.shuffle(mazzo) #mischi le carte

i = 1 #indice di scorrimento

for carta in mazzo:
   
    if carta.valore == i % 10 + 1:
        print("hai perso")
        break
   
    i = i + 1
   
if i == 40:
    print("hai vinto")

il codice è abbozzato velocemente ma dovrebbe andare