Avatar billede flashit Nybegynder
15. juli 2003 - 14:04 Der er 8 kommentarer og
1 løsning

randomize uden visning af allerede viste tal

Hej E.

Jeg har følgende kode:

<%
dim terning
randomize
terning = int(rnd()*6)+1
Response.Write  terning
%>
Det virker også fint, man kan i forklare mig hvordan jeg kan sikre mig at det samme tal ikke bliver vist to gange.
man skal derfor få at vide at der ikke er flere tal efter den har afviklet koden 6 gange.
Avatar billede stormlic Nybegynder
15. juli 2003 - 14:18 #1
Lav et array, med de 6 mulige resultater. lav et loop der køre 6 gange. I dette loop, laver du er andet loop der køre indtil du har fundet et tal der ikke er valgt før i dit array, skriv i dit array, at du har fundet tallet X.
Avatar billede flashit Nybegynder
15. juli 2003 - 14:26 #2
øøøøøøøhhhhhhhh.

Kan du give et eks.
Avatar billede grunken Nybegynder
15. juli 2003 - 14:36 #3
og efter som du vælger en serverside løsning er det jo nødvendigt at du smider de allerede fremkomne tal i en session eller cookie, er det ikke lidt besværligt for så lidt ?
Avatar billede flashit Nybegynder
15. juli 2003 - 14:43 #4
Jo det er meget besværligt, man jeg er bare ved at finde en holdbar læsning, til mit ovenstående eks.

har du en anden god løsnikng?
Avatar billede flashit Nybegynder
15. juli 2003 - 14:45 #5
løsning :-)
Avatar billede midas_dk Nybegynder
15. juli 2003 - 14:50 #6
Hurtig pseudokode:

brugt_array = session/cookie array

gør indtil i ikke er i brugt_array
  dim terning
  randomize
  terning = int(rnd()*6)+1
  i = terning
slut gør

brugt_array.add i

session array = brugt_array

- er ret blank mht. syntaks osv., men det må være sådan her, det gøres.
Avatar billede hossein Nybegynder
15. juli 2003 - 14:52 #7
på den måde kan du ha unikke "Random nummer" mellem 1 og 6:

<%
Maks_nummer = 6
tot_unikke = 2 'antal tal som skal vises
dim random_nummer, counter, check, unikke_nummers
redim random_nummer(tot_unikke)
randomize
For counter = 1 to tot_unikke
random_nummer(counter) = Int(Rnd * Maks_nummer)+1
for check=1 to counter-1
if random_nummer(check)= random_nummer(counter) then
counter=counter-1
end if
next
next
%>
<p>
<%
For counter = 1 to tot_unikke
response.write "<li>" & random_nummer(counter) & "</li>"
next
%>
Avatar billede flashit Nybegynder
15. juli 2003 - 15:08 #8
perfekt hossein TAK
Avatar billede nielle Nybegynder
15. juli 2003 - 15:43 #9
dim Fundet(6)

for i=1 to 6
  Fundet(i) = false
next

randomize
for i=1 to 6
  Terning = Int(Rnd()*6)+1
  do while Fundet(Terning)
    Terning = Int(Rnd()*6)+1
  loop
  Fundet(Terning) = true
 
  Response.Write("Terning nr. " & i & " er " & Terning & "<br>")
next
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester