24. juni 2002 - 11:21Der er
9 kommentarer og 1 løsning
Fejlretning (omskrivning af kode ønskes)
50:antal = rekke1x06.count if sprite(brik_moving).member.name <> sprite(rekke1x06[(antal)]).member.name then if antal = 1 then sprite(brik_moving).loc = point(sprite(lykke).loch+4, sprite(lykke).locv+17)
sprite(rekke1x06[1]).loc = point(720, 94)
else error_check = TRUE end if else case (antal) of 0:sprite(brik_moving).loc = point(sprite(lykke).loch+4, sprite(lykke).locv+17)
får en fejl i denne kode hvis antal = 0 det sker ved: if sprite(brik_moving).member.name <> sprite(rekke1x06[(antal)]).member.name then
nogen der har en idé til at rette det uden at tilskrive MASSER af extra kode ? :)
desuden ..checker med case (45 til 68 - den man ser her er nr 50), nogen måde jeg kan genbruge koden istedet for at benytte mig af case og gentagelse af kode? - det er det samme der skal ske hver gange - bare med en ny "list" (rekke1x01, rekke1x02 osv)
fejlen kan undgås med en if linie -- if antal > 0 then -- placeret lige efter antal=rekke1x06.count
for hvis antal er 0, spørger den jo til indholdet i en tom liste på placering 0 (det må jo give fejl).
mht. at skrive koden om/genbruge, så kunne du jo flytte det meste ud i en ny handler, som du kalder fra din case række, og sender parametren liste med...
on etEllerAndetForklarendeHandlerNavn theList antal = theList.count
if antal > 0 then -- indsæt al din kode her -- husk at erstatte "rekke1x06" med "theList" end if end
din case vil nu ligne 50: etEllerAndetForklarendeHandlerNavn( rekke1x06 ) 51: etEllerAndetForklarendeHandlerNavn( rekke1x07 ) etc, etc...
Ask-M
ps. Det virker helt vildt kompliceret, hvad er du igang med at lave!!! pps. "rekke1x01" er et jævnt skidt navn for en liste, ligesom antal også er svært at gennemskue hvad hentyder til. Overvej at gøre lidt mere ud af forklarende navne, det gør det meget nemmere at debugge!
antal = antal entries i listen :) ..skal bruge det til at finde ud af hvilken placering brikken skal ha når den blir flyttet hen over feltet (hvis antal = 4 så skal den placere sig ved placering 5)
er ved at lave et backgammonspil - jeg laver det helt sikkert mere kompliceret end der behøves hehe, meen er jo heller ik top-proff i director :)
anyways - if linjen havde jeg tænkt på også men derved er jeg nødt til at gentage en del kode - oh well bare det virker :)
tak for hjælpen til hvordan jeg kunne genbruge koden istedet for at gentage den - forsøgte før med "rekke"&a&"x"&b og med noget repeat with a = 1 to 2 og en repeat with b= 1 to 12 indeni, men der ville den jo selvfølgelig ikke genkende det samlet som en liste.
ps: skal ind og lave multiplayer del til det når det engang virker - dertil vil jeg bruge en irc-server til at overføre data imellem klienterne i "lobbyen" håber på at IRCops´ene på den server ikke blir FOR sure hehe :)
Jeg kunne godt regne ud at rekke er det samme som række, men det er jo ikke nødvendigvis særligt sigende....
Anyway - du kunne jo proppe rekke'rne ind i en liste, så har du kun en list at holde styr på. Når du så vil checke række seks, så spørg du bare til backgammonList[6].count og får at vide at den er to (= 0)... det er i hvert fald til at repeate sig ud af.
må jeg prøve så - vidste jeg ikke at man kunne. Hvordan får jeg så en specifik værdi ud af en af de lists som jeg samler i én list? .rekke1x01 osv indeholder værdierne for hvilke sprites der ligger på det givne felt.
en sprite placeres som nummer 1 i række 4 backgammonList[4].add(7) eller add(backgammonList[4], 7)
gad vide hvormange der er i række 3 antal = backgammonList[3].count eller subList = backgammonlist[3] antal = sublist.count
hvilken sprite er i række 7 plads 2 theSprite = backgammonlist[7][2] eller subList = backgammonList[7] theSprite = subList[2]
du skal blot huske at checke at sublisten eksitere og den placering du spørg til i sublisten også eksisterer... jeg plejer at bruge værdien nul i stedet for ingenting, for så kan jeg altid spørge ned i listen uden at få fejl, så skal jeg blot check om resultatet er forskellig fra nul inden jeg begynder at flytte sprites eller hvad det nu måtte være, der skulle ske!!!
tak! - det gir jo rigtigt goe muligheder det der :)
jeg vil forsøge implementation af det da det klart kan reducere længden af min kode (flere steder)
Mvh. -Zed
Synes godt om
Ny brugerNybegynder
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.