Italian La prossima settimana, VACANZE... ma per ora vado avanti

udg

Expert
Licensed User
Longtime User
Ciao Eros, mi sto appassionando alla vicenda dei livelli..eheh

Non mi è chiaro se nliv2 deve tornarti un numero tra 1 e 30 in funzione del livello che va da 0 a 31, in funzione di ciò che scrivi nell'esempio espanso del post #1072, oppure se deve comportarsi come quanto scrivi in premessa ("se livello è 27 allora nliv2 sarà 7").

Nel primo caso potresti avere una funzione del tipo

B4X:
'Che valore tornare per i livelli "bonus", 10, 21 e 32? Per ora restituisce 10, 21 e 31
' poi magari gli if li cambi in una istruzione select..case così copri gli eventuali casi speciali dei bonus.
Sub CalcolaNLiv2 (curliv as int ) as int
dim tmpliv, decine, unita, res as int
tmpliv = curliv
if tmpliv <10 then tmpliv = tmpliv+1 ' trasforma 0..9 in 1..10
if tmpliv > 21 then tmpliv = tmpliv -1 ' trasforma 22..31 in 21..30
decine = tmpliv /10
unita = tmpliv mod 10
res = (decine * 10) +unita
return res
end sub

Come vedi, 0..9 ritorna 1..10, 10 ritorna 10, 11..20 ritorna 11..20, 21 ritorna 21, 22..31 ritorna 21..30 e 32 ritorna 31, quindi hai tutti i valori da 1 a 31 con 10,21 e 31 duplicati in corrispondenza dei bonus.

Resto in attesa delle prossime puntate della saga "il livello misterioso" anche se, in verità, quella relativa alle pubblicità non è male..magari farò zapping dall'una all'altra!

Buon fine settimana a tutti
 

LucaMs

Expert
Licensed User
Longtime User
Tra poco leggerò il post di HHHHUUUUUU ("appassionato?" c'è da impazzire, hehehe),

ma prima voglio urlare un....

E U R E K A

perché sono riuscito a far funzionare quei "benedetti" interstitial.

allego il progetto, le modifiche le potrete vedere da soli perché io ho fuso.
 

Attachments

  • lm AdmobInterstitial.zip
    13.2 KB · Views: 180

LucaMs

Expert
Licensed User
Longtime User
Ciao Eros, mi sto appassionando alla vicenda dei livelli..eheh

Non mi è chiaro se nliv2 deve tornarti un numero tra 1 e 30 in funzione del livello che va da 0 a 31, in funzione di ciò che scrivi nell'esempio espanso del post #1072, oppure se deve comportarsi come quanto scrivi in premessa ("se livello è 27 allora nliv2 sarà 7").

Nel primo caso potresti avere una funzione del tipo

B4X:
'Che valore tornare per i livelli "bonus", 10, 21 e 32? Per ora restituisce 10, 21 e 31
' poi magari gli if li cambi in una istruzione select..case così copri gli eventuali casi speciali dei bonus.
Sub CalcolaNLiv2 (curliv as int ) as int
dim tmpliv, decine, unita, res as int
tmpliv = curliv
if tmpliv <10 then tmpliv = tmpliv+1 ' trasforma 0..9 in 1..10
if tmpliv > 21 then tmpliv = tmpliv -1 ' trasforma 22..31 in 21..30
decine = tmpliv /10
unita = tmpliv mod 10
res = (decine * 10) +unita
return res
end sub

Come vedi, 0..9 ritorna 1..10, 10 ritorna 10, 11..20 ritorna 11..20, 21 ritorna 21, 22..31 ritorna 21..30 e 32 ritorna 31, quindi hai tutti i valori da 1 a 31 con 10,21 e 31 duplicati in corrispondenza dei bonus.

Resto in attesa delle prossime puntate della saga "il livello misterioso" anche se, in verità, quella relativa alle pubblicità non è male..magari farò zapping dall'una all'altra!

Buon fine settimana a tutti


Il punto è che lui non vede come/dove Nliv2 possa influire sul resto, non come debba calcolarlo, perché quella variabile servirebbe solo a caricare la giusta bitmap.
E' troppo incasinato per poterci capire qualcosa noi, temo.

Direi che, come consiglio generale, cerchiamo di usare più spesso le classi, meno "tipi" ed array (lo dico anche a me stesso, eh!)


Buon fine settimana a tutti anche da parte mia ("buon fine" o "buona fine"? Mah, boh :))
 

CyclopDroid

Well-Known Member
Licensed User
Longtime User
Grazie a tutti per l'aiuto che mi date e cercate di darmi ma... purtroppo, il mio amato Haier W910 non funziona più :(:(:(:(
Quindi, non posso più sviluppare, finché non ho un altro smartphone.Quello di mia moglie, purtroppo, serve a lei e non posso i certo sequestrarglielo.
Ora non si accende più e non carica.
Ho provato tutti i modi possibile per cercare di farlo resuscitare ma, la batteria, seppur collegata, mi dice scarica e si spegne.
Posto immagini:

Errore se provo a premere il tasto Volume+ e collego la USB (Appare la ricarica e subito):
batteryerror.jpg

App Ampere
Ampere.jpg

Errore collegandolo al computer:
messaggiphone.jpg

Ora, dall'App Ampere, non segnala surriscaldamenti (anche se il colore Rosso non mi piace) ma il testo sulla temperatura (-30°C) mi stranizza e non poco.
A quello di mia moglie, di voltaggio, gli da dai 4.0 ai 4.1.
 
Last edited:

CyclopDroid

Well-Known Member
Licensed User
Longtime User
Luca: ho testato il tuo interstitial, sul cell di mia moglie, e sono arrivato a capire che l'errore è del mio codice ID. Con il tuo funziona mentre con il mio NO. Come hai creato il codice ID Interstitial?
Udg: Purtroppo è come dice Luca. Anche con la tua Sub, il risultato è medesimo (cambiando le variabili decine e unita con nliv1 e nliv2). non mi mette il voto sul livello terminato ma mi va al livello successivo e non capisco il perché, visto che questa variabile non è utilizata da nessun'altra parte e nè tantomeno e si interscambia con altre.
Grazie.
 
Last edited:

LucaMs

Expert
Licensed User
Longtime User
Grazie a tutti per l'aiuto che mi date e cercate di darmi ma... purtroppo, il mio amato Haier W910 non funziona più :(:(:(:(
Quindi, non posso più sviluppare, finché non ho un altro smartphone.Quello di mia moglie, purtroppo, serve a lei e non posso i certo sequestrarglielo.
Ora non si accende più e non carica.
Ho provato tutti i modi possibile per cercare di farlo resuscitare ma, la batteria, seppur collegata, mi dice scarica e si spegne.
Posto immagini:

Errore se provo a premere il tasto Volume+ e collego la USB (Appare la ricarica e subito):
View attachment 34423

App Ampere
View attachment 34424

Errore collegandolo al computer:
View attachment 34425

Ora, dall'App Ampere, non segnala surriscaldamenti (anche se il colore Rosso non mi piace) ma il testo sulla temperatura (-30°C) mi stranizza e non poco.
A quello di mia moglie, di voltaggio, gli da dai 4.0 ai 4.1.


Non potrebbe essere semplicemente moribonda la batteria?

Io per risparmiare acquisterei un Samsung S3 usato ;)
 

LucaMs

Expert
Licensed User
Longtime User
ho testato il tuo interstitial, sul cell di mia moglie, e sono arrivato a capire che l'errore è del mio codice ID. Con il tuo funziona mentre con il mio NO. Come hai creato il codice ID Interstitial?

Ho usato quello di @Filippo (chissà, magari quando lo uso, lui ci guadagna... speriamo :))

Cmq, non era quello che non faceva funzionare il tutto (nel progetto che lui ha pubblicato), perché io avevo librerie diverse. Adesso, con queste librerie e una modifica al Manifest (presa sempre da questo sito), funziona.

Cmq, per avere conferma, prova col suo ID.
 

LucaMs

Expert
Licensed User
Longtime User
non mi mette il voto sul livello terminato ma mi va al livello successivo

Scusa la risposta ovvia e banale, ma dovresti trovare il punto in cui dovrebbe "mettere il voto sul livello terminato" e metterci un bel breakpoint. Stessa cosa se e dove hai qualcosa tipo Livello = Livello + 1


[non hai la mia meravigliosa :D utility AddLogs? Ti aiuterebbe a seguire il flusso dell'app e vedere quando avviene il salto di livello non voluto]
 

CyclopDroid

Well-Known Member
Licensed User
Longtime User
Ho usato quello di @@Filippo (chissà, magari quando lo uso, lui ci guadagna... speriamo :))

Cmq, non era quello che non faceva funzionare il tutto (nel progetto che lui ha pubblicato), perché io avevo librerie diverse. Adesso, con queste librerie e una modifica al Manifest (presa sempre da questo sito), funziona.

Cmq, per avere conferma, prova col suo ID.
Non c'entra. Perché io, senza cambiare librerie, se lancio il tuo codice con l'ID di Filippo, funziona! Se metto il mio ID NO (mi dice NoFil). Quindi è una questione di ID.
A sto punto, chiedo a Filippo di come ha fatto per creare un ID ADMOB Interstitial. Io ho solo un ID ADMOB ma non interstital solo quello per i click.

Non potrebbe essere semplicemente moribonda la batteria?

Io per risparmiare acquisterei un Samsung S3 usato ;)
E' strano che improvvisamente questa vadi in tilt...diciamo che, a forza di strafarciarlo, potrebbe essersi rovinata o staccata.
No. Non spenderei MAI 150-200€ per un S3 usato (magari con problemi anch'esso) ...a sto punto, acquisto l'Ephone P7000 a prezzo intero.

Scusa la risposta ovvia e banale, ma dovresti trovare il punto in cui dovrebbe "mettere il voto sul livello terminato" e metterci un bel breakpoint. Stessa cosa se e dove hai qualcosa tipo Livello = Livello + 1
La sua variabile è liv, ma il problema è che questa NON viene influenzata alcunché da Nliv2... è per questo che non capisco quel mledetto salto.

Uhm... non sarà che ti sei stufato e basta? Perché, anche se lenti, puoi sempre usare gli emulatori, nel frattempo.
Anhe se magari un po, questo gioco, mi ha rotto... non è questo il problema. E, gli emulatori, proprio non li sopporto perché non fanno quello che ti aspetteresti dallo smartphone (già capitato) con ulteriori poroblemi nel cercare di capire il difetto.
 

LucaMs

Expert
Licensed User
Longtime User
La sua variabile è liv, ma il problema è che questa NON viene influenzata alcunché da Nliv2... è per questo che non capisco quel mledetto salto.

Ok, cancella dalla mente Nliv2, se sei sicuro che non influisca, no? Ma sicuramente liv viene aumentata in qualche punto del programma e non dovrebbe, se dici che salta un livello.

Premi F7 su liv e vedi tutti i punti in cui è usata - (io ho anche un "metodo" utile: metto sempre gli spazi "nel modo giusto", quindi io potrei anche cercare "liv =", non avrò mai da qualche parte "liv=") e trovi dove viene incrementata.

non mi mette il voto sul livello terminato ma mi va al livello successivo

Ci sarà pure un punto preciso del programma in cui viene stabilito di mettere il voto, ovvero a fine gioco, suppongo. Metti un breakpoint lì e magari anche "poco prima".

Usare un emulatore, in questo caso è una necessità, a meno che non compri l'elefante domattina :D (ho saputo da te che esiste un Ephone!).

Hai glissato su AddLogs: il tuo è proprio uno dei problemi in cui esso sarebbe molto utile. Se non ce l'hai, scaricalo e in pvt ti do la pw.
 

udg

Expert
Licensed User
Longtime User
Magari il codice è corretto, ma il punto dove liv viene incrementato di una unità è richiamato DUE volte invece di una..
ad esempio, una prinma volta appena terminato il livello ed una seconda in preparazione del livelo successivo.

Domanda: ma succede per ogni passaggio di livello o solo quando scattano i bonus?
 

CyclopDroid

Well-Known Member
Licensed User
Longtime User
Luca, ho lanciato il tuo programma AddLogs ma ora mi da errore sul modMyUtils.
Se provo ad aggiungere un modulo.bas esistente e clicco sul tuo modMyUtils mi dice che esiste già uno con quel nome.
Come si faceva?
Eco il messaggio di errore sulla varibile "da":
B4X:
B4A version 4.30
Parsing code.                           Error
Error parsing program.
Error description: Undeclared variable 'da' is used before it was assigned any value.
Occurred on line: 318
modMyUtils.MyLog(TAB & "Da = " & Da)
 
Last edited:

LucaMs

Expert
Licensed User
Longtime User
Ovviamente non ricordo un tubo.

Usa sempre una copia della cartella del tuo progetto, non si sa mai.

"Digli" di togliere i log e poi reinserirli.

Non vedo come possa tentare il log di una variabile non dichiarata (Da) senza che il tuo progetto ti dia errore.


[Ah, non so se hai l'ultima versione di AddLogs o meno, né se la versione che hai contenesse bug]
 
D

Deleted member 103

Guest
@erosmax
A sto punto, chiedo a Filippo di come ha fatto per creare un ID ADMOB Interstitial. Io ho solo un ID ADMOB ma non interstital solo quello per i click.
Non ho creato nessun ID-Interstitial, è lo stesso che uso per il Banner.
 

CyclopDroid

Well-Known Member
Licensed User
Longtime User
xLuca: Penso sia una versione vecchia perché e Standalone. Ti ho inviato una email.
A chi lo sa: Entrando nella mia email dell'account AdSense/AdMob (che è differente dalla mia usuale e non so se, e come, si può cambiare), ho notato che Google, mi inviò una email, riguardo l'applicazione "Pensieri D'Amore", dove mi diceva che potevo mettere la pubblicità Interstitial in questa, dandomi una ID.:confused:
Ma vale solo per quella App? O posso utilizzarla anche per altre?
Se la risposta è: Vale solo per quell'App... che significa, che prima devo pubblicare il mio gioco eppoi aspettare che Google mi invii una ID per poter mettere l'Interstitial? :eek::eek:
Non capisco proprio. :confused:

PS: Ho provato ad inserire il codice Interstitial che google admob mi ha assegnato all'applicazione "Pensieri D'amore" (che è diverso da quello del banner) sulla'app di prova (nell'emulatore)... e funziona:D:eek::confused:
Quindi?:confused:
Perché è differente dall'ID banner? Posso utilizzarla per tutte le mie App? Allora, perché google me l'ha data solo per quell'App? :confused:
Continuo a non capire sta cosa.:confused:
 
Last edited:
D

Deleted member 103

Guest
@erosmax
Per admod esistono 2 tipi di ID, il vecchio e il nuovo-formato.
Formato-vecchio = "xxxxxxxxxxxxxxx"
Formato-nuovo= "ca-app-pub-xxxxxxxxxxxxxxx/xxxxxxxxxxx"

Forse il tuo ID ha il vecchio formato?

Cmq per creare un nuovo ID non c'è bisogno di publicare una App, basta andare su Admod e creare una nuova App digitando solo il nome della tua futura App.
Dopo che hai finito la tua App vai su admob e colleghi la tua App con la App creata su admob.

Perché è differente dall'ID banner? Posso utilizzarla per tutte le mie App? Allora, perché google me l'ha data solo per quell'App? :confused:
Puoi farlo, ma che senso avrebbe? Tu vuoi sapere quanto guadagni con la App-X e con la App-Y, o no?
 
Top