Problema lotto in perl

Topic Sul Perl.

Moderator: dree

Problema lotto in perl

Postby bled on Sun Sep 02, 2007 2:38 am

Salve a tutti...per sfizio sto creando il gioco dell lotto in perl...
bene tramite la funzione rand in un array creo 5 numeri casuali...ma come faccio a fare..."se hai indovinato due numeri su 5 allora è ambo ecc.."?
spero di essere stao chiaro grazie anticipatamente :D
bled
Newbies
 
Posts: 40
Joined: Tue Jul 31, 2007 1:29 pm

Problema lotto in perl

Sponsor

Sponsor


Postby k8 on Sun Sep 02, 2007 4:47 am

scorri l'array (magari con un foreach?) e verifichi, oppure, in php ci sono funzioni del tipo in_array(paroladacercare,array)
che verificano se un elemento è presente o no nell'array.
Non so se esiste anche in perl.. penso di sì..
Big-Bug cerca collaboratori.
Scrivete senza abbreviazioni e senza k, grazie.
k8
Admin
 
Posts: 2127
Joined: Tue Jun 06, 2006 4:00 pm

Postby bled on Sun Sep 02, 2007 11:11 am

mmm grazie mille ora vedro cosa posso fare...mi informo il piu possibile...la mia difficolta era solo quella trovare nell'array...se qualcun altro sa sono contento :D
bled
Newbies
 
Posts: 40
Joined: Tue Jul 31, 2007 1:29 pm

Postby BlackCode on Sun Sep 02, 2007 12:43 pm

dovresti confrontare ogni valore dell'utente con ogni array
newmainframe
<BlackCode> ho scoperto una cosa lollosissima
<BlackCode> le mie scarpette di arrampicata (si chiamano così)
<BlackCode> hanno come simbolo il diamante di beryl
Io sono contro l' utilizzo di faccine al posto del testo su MSN
User avatar
BlackCode
Newbies
 
Posts: 17
Joined: Fri Aug 24, 2007 8:15 pm
Location: ~localhost

Postby _Andy_ on Sun Sep 02, 2007 2:46 pm

foreach dovrebbe andare bene

Code: Select all
foreach $numero(@numeri) {
              if ($numero==$numeroscelto) {
                        $indovinati++;
              }
}
User avatar
_Andy_
Variabile
 
Posts: 258
Joined: Thu Jun 15, 2006 8:00 pm
Location: 127.0.0.1

Postby bled on Sun Sep 02, 2007 11:47 pm

allora io faccio...
come prima cosa faccio inserire 5 numeri
dopodiche creo un array con 5 numeri in random...
è il punto del foreach che mi confonde...scusate se vi assillo :sad:
bled
Newbies
 
Posts: 40
Joined: Tue Jul 31, 2007 1:29 pm

Postby k8 on Mon Sep 03, 2007 1:31 am

bled wrote:allora io faccio...
come prima cosa faccio inserire 5 numeri
dopodiche creo un array con 5 numeri in random...
è il punto del foreach che mi confonde...scusate se vi assillo :sad:

foreach scorre tutto l'array e verifica appunto se ci son quegli elementi o no.
Big-Bug cerca collaboratori.
Scrivete senza abbreviazioni e senza k, grazie.
k8
Admin
 
Posts: 2127
Joined: Tue Jun 06, 2006 4:00 pm

Postby bled on Mon Sep 03, 2007 1:51 am

si ma qui parlo di cinque numeri scelti da confronmtare con quelli random...
bled
Newbies
 
Posts: 40
Joined: Tue Jul 31, 2007 1:29 pm

Postby k8 on Mon Sep 03, 2007 2:03 am

bled wrote:si ma qui parlo di cinque numeri scelti da confronmtare con quelli random...

e che centra?
segui l'esempio di _andy_ e guardati un pò come funzionano i cicli :)
Big-Bug cerca collaboratori.
Scrivete senza abbreviazioni e senza k, grazie.
k8
Admin
 
Posts: 2127
Joined: Tue Jun 06, 2006 4:00 pm

Postby _Andy_ on Mon Sep 03, 2007 1:38 pm

Code: Select all
@numeriscelti; // array che contiene i numeri scelti dall'utente
@numerirand;   // numeri scelti casualmente

foreach $numeroscelto(@numeriscelti) {
             foreach $numerorand(@numerirand) {
                           if($numeroscelto==$numerorand)
                           { $indovinati++; }
             }
}

print "Hai indovinato $indovinati numero/i\n";


scusa la scarsa indentazione ma scrivere in un form senza la possibilità di usare il tab mi mette in difficoltà :lol:
User avatar
_Andy_
Variabile
 
Posts: 258
Joined: Thu Jun 15, 2006 8:00 pm
Location: 127.0.0.1

Postby bled on Wed Sep 05, 2007 2:33 am

innanzi tutto io con qst code faccio inserire all'user i numeri che vuole giocare
dopodiche li vado a mettere nell'array...faccio fare un random...
Code: Select all
print"inserisci il 1 numero\n";
$a=<STDIN>;
print"inserisci il 2 numero\n";
$b=<STDIN>;
print"inserisci il 3 numero\n";
$c=<STDIN>;
print"inserisci il 4 numero\n";
$d=<STDIN>;
print"inserisci il 5 numero\n";
$e=<STDIN>;
@numeriscelti=("$a","$b","$c","$d","$e");
@numerirand=(int(rand 90 ) + 1, int(rand  90) + 1, int(rand  90) + 1, int(rand  90) + 1,int(rand  90) + 1);

va bene fin qui come codice?
bled
Newbies
 
Posts: 40
Joined: Tue Jul 31, 2007 1:29 pm

Postby _Andy_ on Wed Sep 05, 2007 1:06 pm

non prenderla come un'offesa, ma il tuo codice mostra esattamente come non bisogna usare gli array :lol:

eccotelo riscritto

Code: Select all
for($i=0;$i<5;$i++) {
   print 'Inserisci il '.($i+1).' numero: ';
   chomp($numeriscelti[$i]=<STDIN>);
   $numerirand[$i]=int(rand(98))+1;
}


a sto punto lo hai tutto scritto ;)
User avatar
_Andy_
Variabile
 
Posts: 258
Joined: Thu Jun 15, 2006 8:00 pm
Location: 127.0.0.1

Postby bled on Wed Sep 05, 2007 3:25 pm

nessuna offesa sto qui per imparare...e sinceramente hai ragione devo usare il ciclo for...
bled
Newbies
 
Posts: 40
Joined: Tue Jul 31, 2007 1:29 pm

Postby _Andy_ on Wed Sep 05, 2007 3:26 pm

bene, spero che ora funzioni tutto ;)
User avatar
_Andy_
Variabile
 
Posts: 258
Joined: Thu Jun 15, 2006 8:00 pm
Location: 127.0.0.1

Postby bled on Wed Sep 05, 2007 3:45 pm

cè ancora qualcosa che nn va...
bled
Newbies
 
Posts: 40
Joined: Tue Jul 31, 2007 1:29 pm

Next

Return to Perl

Who is online

Users browsing this forum: No registered users and 1 guest

cron