Avatar billede trick Nybegynder
05. november 2002 - 16:46 Der er 2 kommentarer og
2 løsninger

Beregning på tekstfelter og variabler

Jeg sidder og roder lidt rundt men fatter minus…
Jeg har lavet et lille terning spil hvor jeg til sidst skal have lagt en række tal sammen.
Tallene findes alle i tekst felter gemt enten via en variabel eller et direkte kommando f.eks.

member("etter").text = string(et)
eller
member("etter").text = string(1)
eller
member("etter").text = 1
eller
member("etter").text = ”1”

ved ikke helt hvad der er bedst til beregninger sener hen. Kunne forstille mig at jeg på en eller anden måde skulle bruge integer i stedet for, men ved ikke hvordan….

Men faktum er at når jeg til sidst laver en kommando der hedder f.eks.

Et = member("etter").text
Toer = member("toeren").text
Tre = member("tre").text
Osv. osv.


member("sum").text = string(et + toer + tre)
Dette virker på den første beregning men har 4 decimaler som jeg gerne vil være for uden.

Når jeg så til sidst i spilet skal lave en beregning på feltet sum og ligge nogle flere variabler til går det totalt i kage…

Så det korte af det lange er hvordan ligger jeg flere summen af flere tekst felter (indeholdende tal) sammen på smarteste måde???

På forhånd tak
Trick ;o)
Avatar billede jmc Nybegynder
05. november 2002 - 17:27 #1
tal = member("et").text
tal = tal + member("to").text
tal = tal + member("tre").text
osv.
member("sum").text = tal
Avatar billede medieroed Praktikant
05. november 2002 - 22:19 #2
String virker OK for mig, hvis man da ikke begynder at skrive ord istedet for tal i textfieldet, men du burde kigge på "the floatPrecision" der bruges til at bestemme hvor mange decimaler resultatet skal vises med.

her er et eksempel:

global gDelsum
on mouseUp me
 
  one = member("one").text
  two = member("two").text
  Tree = member("tree").text
 
  the floatPrecision =0
  member("delsum").text= string(one+two+tree)
 
  gDelsum=member("delsum").text
end

Hvis du ikke får brug for decimalerne kan du istedet skrive
"member("delsum").text= integer(one+two+tree)" så runder den af til nærmeste hele tal.
du skal ikke blive forvirret over "Global gDelsum", det var bare fordi jeg lavede to knapper, en til at udregne delsum og en til at udregne den totale sum - Godt spørgsmål iøvrigt!

Håber det hjælper
Hilsen MedieRoed
Avatar billede trick Nybegynder
05. november 2002 - 23:29 #3
Så fik jeg løst det, ligger lige koden med.

lu = [10,11,12,13,14,15,16,17,18,19,20,21,22]
    su = 0
    repeat with i in lu
      su = string(sprite(i).member.text) + su
    end repeat
    the floatPrecision =0
    member("sum").text = string(su)

Det viste sig flovt nok at være en fejl hvor jeg defineret indholdet af mit member, men dæleme dejligt at komme af med decimalerne, tak for det...

trick ;o)

p.s. jeg nuppet lidt fra jer begge derfor en ligelig opdeling af points håber det er okay...
Avatar billede medieroed Praktikant
05. november 2002 - 23:38 #4
fino med mig :)
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