Italian Consigli per nuovo progetto

Schakalaka

Active Member
Licensed User
Buon giorno a tutti.
Vorrei chiedere ai piu esperti qualche consiglio circa un mio nuovo progetto.
Sono nuovo nella programmazione e mi sono avvicinato grazie ad un corso su Udemy.

L' applicazione è un quiz, domanda e 4 risposte possibili.
Vorrei far in modo, di rendere le domande sempre casuali ed in automatico.

Per esempio, parliamo di animali e loro classi di appartenenza
(classi: Mammiferi, rettili, uccelli, anfibi) con relazione uno a n animali.

Questo esempio si può semplificare, anche con una relazione uno a uno..

Volendo proseguire, vi sarebbero due modalità di gioco:
"maggior numero di domande risposte in es.:1 minuto"
e qui, come faccio a fare una progressbar che va all' indietro scalando il tempo? (e per ogni risp corretta, +3s ed errata -1s)

seconda modalità simile,
3 vite, 7 secondi a risposta, fino alla fine delle vite.


Oltre alla logica, avrei bisogno del codice, o frammenti..


Grazie e Buona Pasqua
 

udg

Expert
Licensed User
Longtime User
Pensando un po' più in grande, potresti progettare l'app in modo che la versione base abbia a bordo una ventina di domande e che si possano scaricare da un server, a pagamento, altri blocchi da 20/50 domande. Anche la gestione di livelli (se rispondo correttamente ad una certa percentuale di domande vengo promosso al livello successivo e ricevo un blocco di domande adeguate al nuovo livello) non sarebbe male.

Per monetizzare, cerca "in-app billig" (Google si tiene il 30%) e "interstitials" (pubblicità che l'utente dovrà sorbirsi alla conclusione di un passaggio importante, come promozione ad un nuovo livello, nuovo record personale, etc).

ps: molti, se non tutti, i pezzi che ti servono per assemblare l'app sono già presenti sul Forum; si tratta di avere la pazienza di cercarli e di testarne un po' di quelli simili tra loro e poi aggiungere la logica unica al gioco che vorresti creare.
 

Schakalaka

Active Member
Licensed User
Ciao, e grazie per le risposte , in tempi brevissimi nonostante pasqua..

rispondendo a LucaMs, direi che Sq lite, lo conosco ancora meno di b4a.

magari è una bestemmia, ma pensavo di utilizzare un file txt così organizzato:

Mammiferi|orso|cane
Rettili|coccodrillo|serpente|ecc|ecc...|n rettili
#classe|#membro1|#membro2|ecc...

e al programma dico:
per generare l domanda: scegli una riga a caso e prendi il un elemento a caso, tranne il primo
mentre per generare le 4 risposte: prendi il primo membro della riga scelta per la domanda, e altri 3 primi membri a caso tra le altre righe.

Rispondendo invece a udg, che ringrazio;
gli acquisti in-app sono attivabili solo per chi ha un conto commerciale di google, cosa che non ho.
Le domande di questa applicazione è sempre una.

"Quale di questi animali appartiene a questa classe?"

Oppure

"L' animale XYZ a quale classe appartiene?"

Se vogliamo, è sempre della stessa difficoltà. Il livello, sta invece nella cultura dell ' utilizzatore: magari sa a che classe appartiene l' orso, ma se chiedi del "Rinolofo euriale", non l 'ha mai sentito. #passami il concetto.

Per l' avanzamento,
ho pensato a due tipi:

1) maggior numero di domande nel minor tempo
tre difficoltà facile medio difficile. quel che cambia è il tempo a disposizione

2) tre vite e maggior numero di domande possibile
che può diventare (facile, medio, difficile)
a seconda del tempo per domanda (10s,7s,5s)

per monetizzare banner e popup a tutto schermo.


Grazie ancora a tutti.
 

Schakalaka

Active Member
Licensed User
ciao a tutti!!

sono riuscito a scrivere questo codice per fare quel che volevo.
B4X:
    list1 = File.ReadList(File.Dirassets, "Nazioni.txt")
   
        list2 = File.ReadList(File.Dirassets, "capitali.txt")

    qresult = list1.Get(Rnd(0,197))' seleziona a caso un nome dalla lista

    qresultint = list1.IndexOf(qresult) 'restituisce il numero di riga del nome di qresult
'    If langSpinner.SelectedItem = "Italiano" Then
    SetLabelSize(questionLabel,"Quale è la CAPITALE della " & qresult & "??")
    Log("Nazione:" & qresult)
'    Else if langSpinner.SelectedItem = "English" Then
'        SetLabelSize(questionLabel,"What is the CAPITAL of " & qresult & "??")
'    Else 
'        SetLabelSize(questionLabel,"Quale è la CAPITALE della " & qresult & "??")
'    End If
    Answare1Int = qresultint 'inserisco il numero di riga della domanda nel file delle risposte poddibili
    answareString1 = list2.Get(Answare1Int)
    Log("Risposta1:" & answareString1)

    Answare2Int = Rnd(0,197) 'genero altri numeri casulali per le altre risposte
    answareString2 = list2.Get(Answare2Int)
    Log(Answare2Int)
    Log("Risposta2:" & answareString2)

    Answare3Int = Rnd(0,197)
    answareString3 = list2.Get(Answare3Int)
    Log(Answare3Int)
    Log("Risposta3:" & answareString3)

    Answare4Int = Rnd(0,197)
    answareString4 = list2.Get(Answare4Int)
    Log(Answare4Int)
    Log("Risposta4:" & answareString4)

    allAnsware = Array As Int(Answare1Int, Answare2Int,Answare3Int,Answare4Int)
   
    list3 = allAnsware

'-------------------------------------------------------------------------------------------------------



||||||||||||||||||||||||||mescolaNazioni|||||||||||||||||||||||||||||||
        ShuffleList(list3)
        Log("===== PlayList (shuffle) =========")
        For i = 0 To list3.Size-1
            list3.Get(i)
            Log(list3.Get(i))
        Next
    Log("=================================")

|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||

    Dim listindex0 As Int
    Dim listindex1 As Int
    Dim listindex2  As Int
    Dim listindex3 As Int
   
    listindex0 = list3.Get(0)
    listindex1 = list3.Get(1)
    listindex2 = list3.Get(2)
    listindex3 = list3.Get(3)
    Log(listindex2)
   
    answare1 = list2.Get(listindex0)
    Answare2 =list2.Get(listindex1)
    Answare3 =list2.Get(listindex2)
    Answare4 =list2.Get(listindex3)
    If answare1 <> Answare2 And answare1 <> Answare3 And answare1 <> Answare4 _ 
        And Answare2 <> answare1 And Answare2 <> Answare3 And Answare2<> Answare4 _
        And Answare3 <> Answare2 And Answare3 <> answare1 And Answare3<> Answare4 And Answare4 <> answare1 And Answare4 <> Answare2 And Answare4 <> Answare3 Then
    SetButtonTextSize(answare1Button,answare1)
    SetButtonTextSize(answare2Button,Answare2)
    SetButtonTextSize(answare3Button,Answare3)
    SetButtonTextSize(answare4Button,Answare4)
   
    Else

        trovaNazioni
    End If

Vorrei avere un parere esperto, ed eventuale un modo alternativo e più performante per fare le stesse cose..

Ho un problema con le lettere accentate, che non vengono visualizzate correttamente.
Come posso risolvere?

Grazie
 
Cookies are required to use this site. You must accept them to continue using the site. Learn more…