Avatar billede olaf2000 Nybegynder
08. januar 2002 - 11:14 Der er 6 kommentarer og
1 løsning

Random

Yo jeg har etlille problem med Director 8.5.
Jeg vil gerne have oprettet en funktion der gør, at man kan få den til at finde to tilfældige tal imellem 1 til 50 ( eller 100 ) og lægge dem sammen. Dog skal den bare selv huske svaret, sådan at man selv skal skrive det i boxen jeg har oprettet til svaret. Det er et lille matematik spil jeg er ved at lege med til børn....
Avatar billede ask-m Nybegynder
08. januar 2002 - 11:19 #1
Hej,

Følgende funktion i et movieScript:

on addRandomNumbers maxRandom
      global gRandomSum

      gRandomSum = random(maxRandom) + random(maxRandom)
end

I messageBox:

addRandomNumbers( 50 )
put gRandomSum
-- 27

hvis du sender 50 med til funktionen vil resultatet (gRandomSum) altid være mellem 2 og 100

hvis du sender 100 med vil resultatet altid være mellem 2 og 200....

Ask-M
Avatar billede olaf2000 Nybegynder
08. januar 2002 - 11:23 #2
Jeg har tre boxse. [] + [] = []
I den sidste box skal man så selv kunne skrive resultatet, men jeg kan ikke finde...
... ud af at få random funktionen til at virke

Avatar billede ask-m Nybegynder
08. januar 2002 - 11:27 #3
Vil du selv putte tallene i box1 og box2, og så sammenligne tallet i box3 med det \"rigtige\" facit?

Ask
Avatar billede olaf2000 Nybegynder
08. januar 2002 - 11:40 #4
Nej, det er meningen at spillet selv skal kunne finde tallene til box 1 + 2.
Spillet går ud på, at man skal lærer at regne, så derfor skal svaret kunne skrives af personen der spiller det. Svaret skal spillet bare kunne, derfor skal den selv \"kunne\" det. Det er nok lidt forkert formuleret. Men pointen er, at det er et spil til børn i 3. kl. ( fiktiv, men alligevel ) som skal lærer at regne via spillet. På en eller anden måde?


Avatar billede ask-m Nybegynder
08. januar 2002 - 11:49 #5
Jeg går ud fra:
-- box 1, 2, 3 er et textmembers

movieScript handler

on initNumbers maxRandom
  global gFacit

  firstNumber = random(maxRandom)
  secondNumber = random(maxRandom)
  gFacit = firstNumber + secondNumber
 
  member(\"box1\").text = string( firstNumber )
  member(\"box2\").text = string( secondNumber )
  member(\"box3\").text = \"\"  -- clearing the member
end


on checkFacit
  userFacit = value( member(\"box3\").text )

  if userFacit = gFacit then
      alert \"Resultatet er rigtigt\"
  else
      alert \"Resultatet er forkert, det rigtige resultat er \" & string(gFacit)
  end if
end


Håber det virker, for jeg har ikke testet det!

Ask-M
Avatar billede ask-m Nybegynder
08. januar 2002 - 11:50 #6
Ups....

on checkFacit
  global gFacit
  userFacit = value( member(\"box3\").text )

  if userFacit = gFacit then
      alert \"Resultatet er rigtigt\"
  else
      alert \"Resultatet er forkert, det rigtige resultat er \" & string(gFacit)
  end if
end

der manglede lige \"global gFacit\"

Ask-M
Avatar billede olaf2000 Nybegynder
08. januar 2002 - 11:59 #7
Af en eller anden grund melder den en slags error

Script error: Variable used before assigned a value

if userFacit = gFacit ?

Jeg tror, at det er fordi jeg har alt mulig tekst skrevet ind, der ikke helt passer med dit, da det nok har nogle fejl i sig. Hvilket er meget sandsynlig, da jeg har lavet en del rod i det.
Tror du, at problemet lægger der?

Ellers ser det meget perfekt ud og jo, boxsene er texrmembers hvilket jeg havde glemt at melde, men jeg er stadig heller ikke sikker på, at de er sat rigtigt op. Møf, men jeg arbejder på det... ellers mange tak.
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
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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