Vai al contenuto



Foto

[mshell] Westernsoda


  • Per favore accedi per rispondere
20 risposte a questa discussione

#1 OFFLINE   lento

lento

    Senior Member

  • Utente
  • StellettaStellettaStellettaStellettaStellettaStelletta
  • 638 messaggi
  • Cellulare:E72

Inviato 24 maggio 2009 - 22:30

Purtoppo.....dico Purtroppo... continuo ad infestare questo forum di cialtronaggini informatiche.
(Lascio ad altri quella seria) Fatto di fretta fatto di corsa ma il duello eccolo quà.

Due duellanti compaiono dopo un conteggio di 5 beep.
il duellante di sinistra (bob) si controlla con i tasti 1) sale 2)spara 3) scende.
Il duellante di destra (luky) si controlla con i tasti 3) sale 6)spara 9) scende.

tra di loro sono interposti casualmente dei cactus che a volte li proteggono dalle pallottole.
I due duellanti hanno a disposizione 6 cartucce.

(Chiaro scopiazzamento di un gioco che esiste da quando sono nati i computer)
Ma mi interessa far vedere che anche se mShell non è proprio il linguaggio per video giochi...a volte conta di più la fantasia di chi
li crea.

Come al solito non è completo, ma già usabile.
mettere i suoni in "E:\sounds\" Allega file  bang.wav   29,31K   9 downloads Allega file  muerte.wav   34,5K   9 downloads
e le immagini in "E:\Images" Allega file  bara.png   209bytes   2 downloads Allega file  bob.png   258bytes   1 downloads Allega file  luky.png   239bytes   1 downloads Allega file  cactus.png   174bytes   1 downloads
buon divertimento e già che ci siete aggiustatelo un pò se vi va.
Allega file  p.png   1,9K   1 downloads

Ecco il sorgente: Allega file  Cowboy.txt   4,01K   19 downloads e la versione da :Allega file  Cowboy176_208.txt   4,02K   5 downloads
Ciao...

Messaggio modificato da lento, 10 giugno 2009 - 21:36


#2 OFFLINE   lento

lento

    Senior Member

  • Utente
  • StellettaStellettaStellettaStellettaStellettaStelletta
  • 638 messaggi
  • Cellulare:E72

Inviato 25 maggio 2009 - 06:53

Un ultima cosina per certi abitanti del forum......

Stavolta le funzioni me le dovete imparare.......
Qui cè nè una che non potete fare a meno di apprezzarne l'utilità.
Si tratta di acaso(da,ad)
che genera dei numeri casuali da un valore minimo fino ad un valore massimo da voi scelto.
for a=0 to 5 do
   print acaso(1,10)
end
-> 2
	 1
	 10
	 6
	 9
	 10
Pensate cosa sareste costretti a fare per generare i 12 numeri casuali che servono per posizionare i cactus e i due cowboy.
senza questa funzioncina....

Date un occhiata anche ha come è commentato il programma, vi rende più facile capire cosa fà.
(non solo ad altri ma anche a chi lo ha scritto!)

La prossima volta ci sarà da combattere con le matrici dette anche array se nel frattempo volete capire cosa sono per conto vostro...
Uè senza se pò fà soltanto en 1000 de giochi semplici semplici.

Per i super dotati..... che ce dareste na mano?

#3 OFFLINE   6587gianluca

6587gianluca

    Advanced Member

  • Utente
  • StellettaStellettaStellettaStelletta
  • 230 messaggi
  • Cellulare:Nokia C7

Inviato 25 maggio 2009 - 12:27

E FIGHISSSSSIMOOO !!!!!!
Scusate ma lui è così agitato che non lo riesco a far stare calmo, comunque "lento" sei un grande.....veramente bellino, complimentoni.
Su questo non so fino a che punto riuscirò a lavorarci un po per aggiungere qualcosa.....ci proverò.
Geazie, grazieeeeee

#4 OFFLINE   Nick_7

Nick_7

    Senior Member

  • Utente
  • StellettaStellettaStellettaStellettaStelletta
  • 349 messaggi
  • Località:Luna
  • Cellulare:Omnia HD
  • Firmware:I8910XXJB1

Inviato 25 maggio 2009 - 17:29

È bello come gioco ma in quanto a programmazione non mi ispira molto...continuerò con la pallina per il momento :unsure:
Spettacolare invece la funzione acaso :D

#5 OFFLINE   6587gianluca

6587gianluca

    Advanced Member

  • Utente
  • StellettaStellettaStellettaStelletta
  • 230 messaggi
  • Cellulare:Nokia C7

Inviato 26 maggio 2009 - 10:16

Ciao "lento", avrei bisogno di un aiuto..uno solo, e stai sempre a chiede!!!!
Il fatto che quando uno dei due pistoleri spara ed il proiettile incontra un cactus e detto proiettile si ferma vicino al cactus è una cosa che mi incuriosice, e cioè è una complicazione che mi interesserebbe farla anche mia in quanto è bellina ed utile nei giochini, però guerdando e leggendo il sorgente non riesco a capire a quali istruzioni corrisponde. Saresti cosi gentile da evidenziarmi la parte del sorgente che effettua il controllo del proiettile che colpisce il cactus ?????
Grazie "lento" e ciao.-

#6 OFFLINE   lento

lento

    Senior Member

  • Utente
  • StellettaStellettaStellettaStellettaStellettaStelletta
  • 638 messaggi
  • Cellulare:E72

Inviato 26 maggio 2009 - 10:31

Saresti cosi gentile da evidenziarmi la parte del sorgente che effettua il controllo del proiettile che colpisce il cactus ?????

function sparabob()
//=================
  if .bobcolt<0 then return; end;
  y=.ybob +15;
  audio.play("E:\\Sounds\\bang.wav");
  for a=20 to 220 by 10 do
	  // qui legge il colore del disegno se è diverso dal fondo giallo vuol dire che ha colpito il cactus.
				 |
				 v
	if g.get(a,y)<> g.yellow then audio.stop(); return false;  end;
	g.pen(g.black); g.brush(g.black); g.rect(a,y,3,2);				 
	g.show(); sleep(50);
	g.pen(g.yellow); g.brush(g.yellow); g.rect(a,y,3,2); sleep(50);
  end;
  for a=220 to 239 do
	if g.get(a,y)<> g.yellow then return true; end;
  end;
  return false;
end

Guarda che ti ho dato anche una mezza risposta per la lentezza del suono, vai a vedere la diacussione dove me lo chiedevi, appena cè un pò di tempo ci mettiamo mano, daccordo?
Ciao...

Messaggio modificato da lento, 26 maggio 2009 - 10:33


#7 OFFLINE   6587gianluca

6587gianluca

    Advanced Member

  • Utente
  • StellettaStellettaStellettaStelletta
  • 230 messaggi
  • Cellulare:Nokia C7

Inviato 26 maggio 2009 - 10:54

Guarda che ti ho dato anche una mezza risposta per la lentezza del suono, vai a vedere la diacussione dove me lo chiedevi, appena cè un pò di tempo ci mettiamo mano, daccordo?
Ciao...



Ciao grazie della risposta rapidissima. Scusami ma non riesco a trovare la discussione ove ti avevo chiesto della lentezza del suono e quindi non riesco a trovare la tua risposta....mi puoi inviare il link della discussione.

In oltre volevo chiederti sempre per il controllo del proiettile-cactus,
tu scrivi all'interno della funzione :
if g.get(a,y)<> g.yellow then audio.stop(); return false; end;
mi chiedevo, nel caso in cui un controllo del genere lo volessi inserire in un sorgente privo di funzioni, come sostituisco il return false; ?????

#8 OFFLINE   lento

lento

    Senior Member

  • Utente
  • StellettaStellettaStellettaStellettaStellettaStelletta
  • 638 messaggi
  • Cellulare:E72

Inviato 26 maggio 2009 - 12:39

non riesco a trovare la discussione ove ti avevo chiesto della lentezza del suono...mi puoi inviare il link della discussione.

Quihttp://www.nokioteca.......t&p=1300091

In oltre volevo chiederti sempre per il controllo del proiettile-cactus,
tu scrivi all'interno della funzione :
if g.get(a,y)<> g.yellow then audio.stop(); return false; end;
mi chiedevo, nel caso in cui un controllo del genere lo volessi inserire in un sorgente privo di funzioni, come sostituisco il return false; ?????

colpito=false; // variabile che se false non colpito se true colpito!
y=200; 
for a=20 to 220 by 10 do  // scansiona la riga
  if g.get(a,y)<> g.yellow then  // se il colore del fondo è diverso da giallo "COLPITO"
	colpito=true; break;	// assegna e  esce da for..do con break.
  end;
end
qui continua il tuo programma e andrai a verificare la variabile colpito se colpito è uguale a true
farai quello che farai......

ma le funzioni le dovrai IMPARARE......he! he! he!

potresti scrivere una funzione che verifica cosa ai colpito così:
function colpitocosa(y)
  for a=20 to 220 by 10 do // scansiona la distanza tra pistolero e pistolero un controllo ogni 10 pixel
	if g.get(a,y)<> g.yellow then return "cactus";  end; //rende il nome cactus e ferma la funzione
  end;
  for a=220 to 239 do  // fa una scansione pixel per pixel nello spazio del pistolero avversario
	if g.get(a,y)<> g.yellow then return "colpito"; end;  // se incontra luky rende colpito e ferma la funzione
  end;
  return "nulla"; // se non ha colpito ne cactus ne pistoleri rende la parola nulla
end

se ti è più facile puoi vederla così:

variabile=colpitocosa(200);

in variabile potrai trovarti la scritta "cactus" oppure "colpito" oppure "nulla" a seconda di cosa è successo alla riga 200
0,0  ---> x
 +----------------------+
 |			|
 |			|
 |                      |
 |  ....................|  scandaglia qui! riga 200 (y=200)
 |			|
 |			|
 |			|
 +----------------------+

Ciao...

Messaggio modificato da lento, 19 marzo 2011 - 21:50


#9 OFFLINE   6587gianluca

6587gianluca

    Advanced Member

  • Utente
  • StellettaStellettaStellettaStelletta
  • 230 messaggi
  • Cellulare:Nokia C7

Inviato 26 maggio 2009 - 17:03

colpito=false; // variabile che se false non colpito se true colpito!
y=200; 
for a=20 to 220 by 10 do  // scansiona la riga
  if g.get(a,y)<> g.yellow then  // se il colore del fondo è diverso da giallo "COLPITO"
	colpito=true; break;	// assegna e  esce da for..do con break.
  end;
end


Meraviglioso, e vai, e vai, e vai, e vai.... ancora una volta grazie al tuo aiuto precisissimo sono riuscito ad applicare queste righe ad un altro sorgente facendo in modo, senza mille controlli, di far fermare un proiettile se incontra qualcosa sulla sua strada.
Grazie mille, certo che Voi due ne sapete una più del diavolo è !!!!!!

..........allora scusa, mi chiedevo un altra cosa.....dal momento che è possibile fare il controllo :
if g.get(a,y)<> g.yellow then
si può anche effettuare il controllo in base al colore ????? e cioè cerco di spiegarmi meglio, si può fare ad esempio :
if g.get(a,y) = g.red then ......
if g.get(a,y) = g.green then ....
if g.get(a,y) = g.blu then .....
...
...

e così via ??????????????????????

Messaggio modificato da 6587gianluca, 26 maggio 2009 - 17:16


#10 OFFLINE   lento

lento

    Senior Member

  • Utente
  • StellettaStellettaStellettaStellettaStellettaStelletta
  • 638 messaggi
  • Cellulare:E72

Inviato 26 maggio 2009 - 17:57

si può anche effettuare il controllo in base al colore ????? e cioè cerco di spiegarmi meglio, si può fare ad esempio :
if g.get(a,y) = g.red then ......
if g.get(a,y) = g.green then ....
if g.get(a,y) = g.blu then .....
...
...

e così via ??????????????????????

Certamente..... addirittura il colore di confronto lo puoi prelevare direttamente dal disegno e assegnarlo ad una variabile.
colore=g.get(10,10) questo comando prelevà il colore del pixel alle coordinate 10-10 e lo mette in una variabile
che poi puoi usare per fare dei confronti.
if g.get(x,y)= colore then ...

Non solo ma puoi prelevare anche una linea o un segmento e confrontarlo con un altro segmento di schermo.

ciao.....(e impara le funzioni...)

#11 OFFLINE   lento

lento

    Senior Member

  • Utente
  • StellettaStellettaStellettaStellettaStellettaStelletta
  • 638 messaggi
  • Cellulare:E72

Inviato 07 giugno 2009 - 16:01

È bello come gioco...

Questo te lo sei ridimensionato?? in caso affermativo postalo! lo rendiamo fruibile per altri appena risolto il problema della tastiera.

#12 OFFLINE   Nick_7

Nick_7

    Senior Member

  • Utente
  • StellettaStellettaStellettaStellettaStelletta
  • 349 messaggi
  • Località:Luna
  • Cellulare:Omnia HD
  • Firmware:I8910XXJB1

Inviato 07 giugno 2009 - 17:53

No non l'ho ridimensionato, se riesci a farlo tu, magari durante le vacanze gli darò un'occhiata :lol:
Prima vorrei risolvere il gioco della pallina...

#13 OFFLINE   lento

lento

    Senior Member

  • Utente
  • StellettaStellettaStellettaStellettaStellettaStelletta
  • 638 messaggi
  • Cellulare:E72

Inviato 10 giugno 2009 - 21:41

No non l'ho ridimensionato, se riesci a farlo tu, magari durante le vacanze gli darò un'occhiata :wacko:
Prima vorrei risolvere il gioco della pallina...

Qui ti posto la versione ridimensionataAllega file  Cowboy176_208.txt   4,02K   4 downloads
ho tolto anche un errore sulla funzione acaso() (Speravo che qualcuno la correggesse...)
Mentre ho lasciato la lettura dei tasti autobloccante...tanto se qualcuno fa il furbo e non molla il tasto l'altro se preme lo sparo vince!.

Ricordatevi....è fatta con qualche errore (veniale) e per essere migliorata.
Ripeto sono diventato un videogiochista solo per accontentare delle richieste....

#14 OFFLINE   6587gianluca

6587gianluca

    Advanced Member

  • Utente
  • StellettaStellettaStellettaStelletta
  • 230 messaggi
  • Cellulare:Nokia C7

Inviato 19 marzo 2011 - 19:24

Scusate, ho tentato, ma invano, di adattarlo ad un Nokia E71, quindi ho provato a far muovere almeno uno dei due omini con il mouse, ho sostituito i tasti con il mousa ma non si muovono, ad esempio ho provato a far muovere bob con i tasti 16 in su e 17 in giù, ma non si muove....secondo Voi perchè ????

#15 OFFLINE   lento

lento

    Senior Member

  • Utente
  • StellettaStellettaStellettaStellettaStellettaStelletta
  • 638 messaggi
  • Cellulare:E72

Inviato 19 marzo 2011 - 20:19

Scusate, ho tentato, ma invano, di adattarlo ad un Nokia E71, quindi ho provato a far muovere almeno uno dei due omini con il mouse, ho sostituito i tasti con il mousa ma non si muovono, ad esempio ho provato a far muovere bob con i tasti 16 in su e 17 in giù, ma non si muove....secondo Voi perchè ????

Ciao '6587gianluca' è da tempo che non ti si sente....
Forse stai sbagliando numero di tasto usa i valori predefiniti ui.upkey e ui.downkey
al posto dei numeri 16 e 17.

A presto :)

#16 OFFLINE   6587gianluca

6587gianluca

    Advanced Member

  • Utente
  • StellettaStellettaStellettaStelletta
  • 230 messaggi
  • Cellulare:Nokia C7

Inviato 19 marzo 2011 - 22:08

CIAAAAAOOOOOOOOO LENTO, scusa se grido ma mi fa un grandissimo piacere sentiri, veramente mi fa tanto piacere, pensavo che ti eri solo ed esclusivamente dedicato ad altri linguaggi e pensavo che non ti saresti più fatto vivo in mShell.
Ho appena provato le tue indicazioni, e come sempre funziona tutto alla grande.
Grazie.
Come ti va ??? A cosa ti stai dedicando ultimamente ???
Ciao e buona domenica.
Gian Luca.-

#17 OFFLINE   lento

lento

    Senior Member

  • Utente
  • StellettaStellettaStellettaStellettaStellettaStelletta
  • 638 messaggi
  • Cellulare:E72

Inviato 20 marzo 2011 - 09:46

Come ti va ??? A cosa ti stai dedicando ultimamente ???
Ciao e buona domenica.
Gian Luca.-


Buona Domenica anche a te.

Attualmente continuo la mia disperata ricerca di un linguaggio che mi permetta di sfruttare i cellulari per un tempo sufficientemente lungo.
Anche Alter comincia ad essere deluso.....Lui puntava su j2me.

Intanto sfrutto mShell (Ho abbandonato Python per Nokia, mannaggia! :doh: mo me tocca rimangiarmi tutto quanto detto prima!)
Massi...Massi... tanto sto in fondo al barile più giù de cosi non se pò annà.

#18 OFFLINE   6587gianluca

6587gianluca

    Advanced Member

  • Utente
  • StellettaStellettaStellettaStelletta
  • 230 messaggi
  • Cellulare:Nokia C7

Inviato 22 marzo 2011 - 19:21

Ma secondo te, lento, all'origine quando avevi creato questo giochino lo avevo installato su nokia N82 e funzionava e tutt'ora funziona regolarmente.
Attualmente come hai visto sopra, il sorgente l'ho pasato su E71. La prima volta l'ho inviato via bluetooth, l'ho trovato nella lista dei giochi in mShell l'ho avviato e poi ho provato a fare qualche modifica......il risultato è che il file mi dava un errore quando gli davo il go ed addiritura dopo alcune prove non ho più trovato il file nell'elenco dei giochi. Ho provato sucessivamente a trasferire il sorgente direttamente mediante lettore di memory. Ha funzionato per un po, gli ho fatto alcune modifiche ed oggi sono andato in mShell ed il file westernsoda non c'è più...scomparso.
Secondo te da cosa può dipendere ????
Ciao.-

#19 OFFLINE   lento

lento

    Senior Member

  • Utente
  • StellettaStellettaStellettaStellettaStellettaStelletta
  • 638 messaggi
  • Cellulare:E72

Inviato 22 marzo 2011 - 20:32

Ma secondo te, lento,.....
.....
Secondo te da cosa può dipendere ????
Ciao.-

Tanto per intenderci questo giochino l'ho scritto proprio su un E71. Per la precisione avevo mShell sulla memoryCard.
Se hai disposto i suoni e le immagini nelle posizioni sopra indicate il tutto dovrebbe funzionare.

Credo che quando fai delle modifiche è poi lo salvi in realtà lo salvi in una sottodirectory o in una directory che mShell non è in grado
di vedere.

Prova a sfrugolare in giro per le directory con FileManager e vedi se il tuo sorgente ti compare in posizioni strane..

Messaggio modificato da lento, 22 marzo 2011 - 20:33


#20 OFFLINE   6587gianluca

6587gianluca

    Advanced Member

  • Utente
  • StellettaStellettaStellettaStelletta
  • 230 messaggi
  • Cellulare:Nokia C7

Inviato 25 marzo 2011 - 19:27

Ho smanetato da tute le parti, il sorgente non c'è.
In oltre ogni cosa che faccio mi appare il seguente messaggio di errore :

file or database corrupted !

boooooooo!!!!!!!!