Jump to content
Nokioteca Forum

[mshell] Tank


lento
 Share

Recommended Posts

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 :lol: 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: car1.png --- car2.png 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 by lento
Link to comment
Share on other sites

Ciao lento, prima di tutto vorrei congratularmi con te per la tua bravura nel padronare mShell :lmaosmiley: , 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

la butto li... :lmaosmiley:

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 by Il.Socio
Link to comment
Share on other sites

ho tentato di disegnare un cerchio in questo modo:

Il fatto è che non mi compare niente e non capisco perchè... :rolleyes:

'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

...................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 by 6587gianluca
Link to comment
Share on other sites

Beh, grazie a tutti in particolare a lento, finalmente ci sono riuscito a disegnare il fatidico cerchio in questo modo... :rolleyes:

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... :angel:

(Ricordati di identare i programmi, aiuta molto!)
questo significa che devo lasciare gli spazi prima di alcune righe??? :shifty:

Bella l'idea dell'alter ego, ecco anche il mio: "mShell è un mondo stupendo e qui c'è gente che potrebbe aiutarci a capirlo meglio!" :mumble:

Edited by Nick_7
Link to comment
Share on other sites

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??? :thumbs:

'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 by lento
Link to comment
Share on other sites

Allora ho constatato che la mia intuizione era corretta, :incazzato: 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 questa

sede 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 by Nick_7
Link to comment
Share on other sites

Allora ho constatato che la mia intuizione era corretta, :) in pratica (a parole mie):

'Nick_7' sei grande! la tua esposizione è notevole! :thumbs:

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 by lento
Link to comment
Share on other sites

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 by Nick_7
Link to comment
Share on other sites

  • 3 weeks later...

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
 Share

×
×
  • Create New...

Important Information

Questo sito utilizza i cookie per analisi, contenuti personalizzati e pubblicità. Continuando la navigazione, accetti l'utilizzo dei cookie da parte nostra | Privacy Policy