lento Posted May 16, 2009 Report Share Posted May 16, 2009 (edited) Salve posto un rudimentale giochetto. Sempre con l'intenzione di incuriosire. E' scritto maluccio (poco tempo a disposizione) ma funziona bene. Chi lo preleva può sempre metterci del suo e magari postarlo!. Il gioco si basa sul impartire una stringa di 10 comandi A=avanti I=Indietro F=Fuoco. poi i Tank vengono posti a caso nello scenario di guerra. Hò se sbagliate stringa vi può girare parecchie ore prima che uno esploda. Allego il sorgente: tank.txt e quello per: tank176x208.txt E i tre files sonori che vanno messi nella directory E:\Sounds\ Esplosione cararmato:BOOM4.WAV Sparo cararmato:TANKFIRE.wav Movimento cararmato:PULSE.WAV Oops dimenticavo i Tanks: --- in E:\Images\ Non aspettatevi effetti speciali......(non ho mai scritto giochini prima d'ora lo faccio perchè sò che a qualcuno piacciono) Fatemi sapere.....In tanto mi ancoro in fondo al barile....cosi qualsiasi critica...non potrà spingermi più in basso!. Edited June 11, 2009 by lento Link to comment Share on other sites More sharing options...
Nick_7 Posted May 19, 2009 Report Share Posted May 19, 2009 Ciao lento, prima di tutto vorrei congratularmi con te per la tua bravura nel padronare mShell , poi è da un po' che ho iniziato ad interessarmi a mShell e vorrei iniziare ad imparare come creare dei giochini o dei programmi, anche molto semplici, con mShell, che se non sbaglio dovrebbe essere il programma più semplice per iniziare a programmare sul cellulare. ho tentato di disegnare un cerchio in questo modo: use graph as g; g.size(176,208); g.full(true); function stampa(campo,k); g.pen(g.black); g.brush(g.white); g.circle(10,10,10); g.pen(g.green); g.brush(g.green); end Il fatto è che non mi compare niente e non capisco perchè... Link to comment Share on other sites More sharing options...
Il.Socio Posted May 19, 2009 Report Share Posted May 19, 2009 (edited) la butto li... manca la chiamata a g.show() ? Credo che tutte le chiamate a g.xxx operino su un buffer temporaneo e solo quando si chiama g.show() il buffer viene poi passato sul display. Edited May 19, 2009 by Il.Socio Link to comment Share on other sites More sharing options...
lento Posted May 19, 2009 Author Report Share Posted May 19, 2009 ho tentato di disegnare un cerchio in questo modo:Il fatto è che non mi compare niente e non capisco perchè... 'Nick_7' sono contento del tuo interesse. Confermo che mShell è il linguaggio più semplice disponibile per cellulari. E può rendere divertente imparare a programmare, oltretutto lo si può fare in qualsiasi posto ti porti il tuo cellulare. Guardando quanto postato ti rispondo così: Se in il tuo programma è come qui sotto riportato: use graph as g; g.size(176,208); g.full(true); g.pen(g.black); g.brush(g.white); g.circle(10,10,10); g.pen(g.green); g.brush(g.green); Come ti ha detto 'Il.Socio' manca il comando g.show(). che serve a rendere visibile quanto hai disegnato. In oltre se il tuo programma termina qui. Devi aggiungere anche sleep(n. secondi) per permetterti di vederlo Ma anche per eseguire immagini in successione mShell necessita di un tempo minimo di pausa tra un g.show() e l'altro (Credo che sia una difficoltà di gestione del multi-task da parte di mShell). Se invece quello che hai scritto è una funzione di nome stampa e quello che ho riportato il suo contenuto: function stampa(campo,k); g.pen(g.black); g.brush(g.white); g.circle(10,10,10); g.pen(g.green); g.brush(g.green); end allora non vedi nulla perchè da nessuna parte del programma chiami la funzione per essere eseguita oltre alla mancanza del comando g.show(); sopra citato ed eventuale sleep() (Ricordati di identare i programmi, aiuta molto!) Ora mi hai creato un bel problema! cè Alter (per chi non lo conosce è il mio alter ego per giunta è convinto di avere persionalità multiple) che mi dà di quelle gomitate terribili nei fianchi. e dice:Dai! repiglia mShell dai che ce divertemo! Link to comment Share on other sites More sharing options...
6587gianluca Posted May 19, 2009 Report Share Posted May 19, 2009 (edited) ...................Ora mi hai creato un bel problema! cè Alter (per chi non lo conosce è il mio alter ego per giunta è convinto di avere persionalità multiple) che mi dà di quelle gomitate terribili nei fianchi. e dice:Dai! repiglia mShell dai che ce divertemo! Io, sinceramente sono daccordo con il tuo alter....non volendo parlare del mio che mi dice testuali parole "dai, dai...insistiamo anche noi.....che facciamo senza l'aiuto di lento e del suo alter !!!!!!!!! Edited May 19, 2009 by 6587gianluca Link to comment Share on other sites More sharing options...
Nick_7 Posted May 19, 2009 Report Share Posted May 19, 2009 (edited) Beh, grazie a tutti in particolare a lento, finalmente ci sono riuscito a disegnare il fatidico cerchio in questo modo... use graph as g; g.size(176,208); g.full(true); g.pen(g.black); g.brush(g.white); g.circle(10,10,10); g.show(); sleep(55555); La funzione stampa l'avevo messa a caso perchè non sapevo proprio come fare... (Ricordati di identare i programmi, aiuta molto!) questo significa che devo lasciare gli spazi prima di alcune righe??? Bella l'idea dell'alter ego, ecco anche il mio: "mShell è un mondo stupendo e qui c'è gente che potrebbe aiutarci a capirlo meglio!" Edited May 19, 2009 by Nick_7 Link to comment Share on other sites More sharing options...
lento Posted May 20, 2009 Author Report Share Posted May 20, 2009 (edited) Io, sinceramente sono daccordo con il tuo alter....non volendo parlare del mio che mi dice testuali parole "dai, dai...insistiamo anche noi.....che facciamo senza l'aiuto di lento e del suo alter !!!!!!!!! Oberato da milioni di richieste, cedo.... Ho deciso di continuare ad utilizzare mShell nella speranza di esser utile. Qui ci si deve divertire, imparare a programmare il proprio cellulare divertendosi. questo significa che devo lasciare gli spazi prima di alcune righe??? 'Nick_7' per via del'indentazione siccome non si può fare un corso di programmazione in questa sede e capisco che non tutti se la sentono di leggere un manuale. Troviamo una via di mezzo! Allora fai una ricerca su internet tipo "identazione informatica" e leggi quanto hanno scritto persone più qualificate del sottoscritto. Poi con tue parole posta cosa hai capito. Anzi potrebbe essere un modo per aiutarci: Quando si è imparato un comando(mShell), un concetto, un algoritmo postare e spiegare con proprie parole quello che si è imparato, magari anche un piccolo esempio.(Eggià tra i tanti che devono imparare mShell ci sono anch'io!.) Sperando che altri intervengano correggendo o aggiungendo quello che manca alla spiegazione. Sperando che altri intervengano chiedendo un aiuto per i loro dubbi e incomprensioni su quanto esposto. Questo vale anche per '6587gianluca' non penserai che non mi sono accorto di come hai accuratamente evitato di rispondere a certe domande tipo "Conosci gli array?" ecc. ecc. Un ultima cosa '6587gianluca' visto che non hai completato il gioco della pallina ne farò un post io. Edited May 20, 2009 by lento Link to comment Share on other sites More sharing options...
Nick_7 Posted May 21, 2009 Report Share Posted May 21, 2009 (edited) Allora ho constatato che la mia intuizione era corretta, in pratica (a parole mie): L'indentazione è l'inserimento di un certo numero di spazi vuoti all'inizio di una riga al fine di rendere più semplice la lettura del programma da parte nostra; questi spazi non influiscono in alcun modo sul programma. Ecco un esempio da Wikipedia: 1. SE età < maggioreEtà ALLORA 2. SE età < etàMinima ALLORA 3. SCRIVI 'spiacente, non puoi lavorare' 4. ALTRIMENTI 5. SCRIVI 'puoi lavorare come apprendista' 6. FINE-SE 7. ALTRIMENTI 8. SCRIVI 'Puoi lavorare!' 9. FINE-SE Nel frammento di codice riportato, l'indentazione del codice rende chiaro il fatto che la verifica di riga 2 viene fatta solo se ha avuto esito positivo quella di riga 1, ovvero che la seconda selezione è annidata nella prima. Questo sarebbe decisamente meno comprensibile se il codice fosse stato scritto senza indentazione: 1. SE età < maggioreEtà ALLORA 2. SE età < etàMinima ALLORA 3. SCRIVI 'spiacente, non puoi lavorare' 4. ALTRIMENTI 5. SCRIVI 'puoi lavorare come apprendista' 6. FINE-SE 7. ALTRIMENTI 8. SCRIVI 'Puoi lavorare!' 9. FINE-SE 'Nick_7' per via del'indentazione siccome non si può fare un corso di programmazione in questasede e capisco che non tutti se la sentono di leggere un manuale. Dove posso trovare il manuale? Un ultima cosa '6587gianluca' visto che non hai completato il gioco della pallina ne farò un post io. Che gioco della pallina? Mi piacerebbe molto vederne il file .m per capire come farne uno anch'io Ed il mio alter-ego: Ma se non sai neanche fare un'animazione... Edited May 21, 2009 by Nick_7 Link to comment Share on other sites More sharing options...
lento Posted May 21, 2009 Author Report Share Posted May 21, 2009 (edited) Allora ho constatato che la mia intuizione era corretta, in pratica (a parole mie): 'Nick_7' sei grande! la tua esposizione è notevole! l'unica precisazione che posso fare per aiutarti è il concetto di blocco di istruzioni 1 a=1; b=1; 2 if a=b then 3 print "so forte"; 4 print "so bello" 5 end 1 for a=1 to 10 do 2 if a%2=0 then 3 print a, "n. patate"; 4 print "son tutte pari!"; 5 end 6 end Molte istruzioni agiscono su un insieme di codice e il quantitativo di questo altro codice e dato solo da dove poni l'istruzione end. Nel primo caso alla linea 1 trovi if....then questo comando accetta un certo numero di altre istruzioni da eseguire (nel caso il confronto tra a e b risulta vero). Se vero eseguirà le righe N.3 e N.4. Le righe 3 e 4 viene considerato come un blocco, come se fosse una cosa unica. nel secondo esempio il blocco dell'istruzione for....to...do comprende le righe 2-3-4-5 e a sua volta le righe 2-3-4-5 contengono un altro blocco di istruzioni per il comando if....then che sono le righe 3-4 Ora l'identazione ha lo scopo di evidenziare questi blocci di istruzioni. Dove posso trovare il manuale? Leggi questa l'eccellente "Miniguida per Iniziare" di 'masmil1988'http://www.nokioteca.net/home/forum/index....showtopic=38298 I manuali sono compresi con mShell. Che gioco della pallina? Mi piacerebbe molto vederne il file .m per capire come farne uno anch'io Guarda nella discussione "Far Rotolare Il Barile" li o postato degli esempi e una spiegazione http://www.nokioteca.net/home/forum/index....t&p=1295800 e qui trovi una spiegazione del principio. http://www.nokioteca.net/home/forum/index....t&p=1292987 Se te la senti una volta letto il programma ball4.txt potresti provare tu a completarlo? è semplice ed in oltre se qualcosa non ti è chiaro chiedi! Edited May 21, 2009 by lento Link to comment Share on other sites More sharing options...
Nick_7 Posted May 21, 2009 Report Share Posted May 21, 2009 (edited) Leggi questa l'eccellente "Miniguida per Iniziare" di 'masmil1988' http://www.nokioteca.net/home/forum/index....showtopic=38298 Mi dice che la pagina non esiste più... Allora ragazzi dato che questa cosa mi sta prendendo molto ho deciso di aprirci una discussione apposita perciò continuiamo Qui Edited May 21, 2009 by Nick_7 Link to comment Share on other sites More sharing options...
lento Posted May 21, 2009 Author Report Share Posted May 21, 2009 Mi dice che la pagina non esiste più... Ooops.....errore di trascrizione riprova ora lò corretta.! Link to comment Share on other sites More sharing options...
Nick_7 Posted May 22, 2009 Report Share Posted May 22, 2009 Ooops.....errore di trascrizione riprova ora lò corretta.! Grazie ora funziona Link to comment Share on other sites More sharing options...
lento Posted June 11, 2009 Author Report Share Posted June 11, 2009 Ho aggiunto la versione per schermi 176x208 i files immagine e suono vedi sopra. Ecco il sorgente modificato:tank176x208.txt Link to comment Share on other sites More sharing options...
Recommended Posts
Please sign in to comment
You will be able to leave a comment after signing in
Sign In Now