RcManiac Δημοσ. 12 Οκτωβρίου 2011 Δημοσ. 12 Οκτωβρίου 2011 Έστω ότι έχουμε αυτόν τον κώδικα , πως μπορώ κάθε φορά που το πατάω να με πηγαίνει στην επόμενη συντεταγμένη;; Δεν θέλω να επαναλαμβάνεται 2 φορές η ίδια συντεταγμένη , όταν φτάσω στην τελευταία να ξεκινάει πάλι από την αρχή. Υπάρχει κάποιος τρόπος ;; >javascript:selectAllUnits(true);var coords='778|851 778|852 778|853 778|854 778|855 ';var doc=document;var eleDoc=(window.frames.length>0)?window.main.document:document;function fnFillRallyPoint(){var coord=coords.split(' ');var coordSplit=coord[Math.floor(Math.random()*coord.length)].split('|');eleDoc.forms[0].x.value=coordSplit[0];eleDoc.forms[0].y.value=coordSplit[1];var lights=parseInt(eleDoc.forms[0].light.nextSibling.nextSibling.innerHTML.match(/\d+/));if(lights>lc){eleDoc.forms[0].light.value=lc;}else{eleDoc.forms[0].light.value=lights;}var mas=parseInt(eleDoc.forms[0].marcher.nextSibling.nextSibling.innerHTML.match(/\d+/));if(mas>ma){eleDoc.forms[0].marcher.value=ma;}else{eleDoc.forms[0].marcher.value=mas;}var hcs=parseInt(eleDoc.forms[0].heavy.nextSibling.nextSibling.innerHTML.match(/\d+/));if(hcs>hc){eleDoc.forms[0].heavy.value=hc;}else{eleDoc.forms[0].heavy.value=hcs;}var scouts=parseInt(eleDoc.forms[0].spy.nextSibling.nextSibling.innerHTML.match(/\d+/));if(scouts>sc){eleDoc.forms[0].spy.value=sc;}else{eleDoc.forms[0].spy.value=scouts;}var rams=parseInt(eleDoc.forms[0].ram.nextSibling.nextSibling.innerHTML.match(/\d+/));if(rams>0){eleDoc.forms[0].ram.value=1;}else{var cats=parseInt(eleDoc.forms[0].catapult.nextSibling.nextSibling.innerHTML.match(/\d+/));if(cats>0){eleDoc.forms[0].catapult.value=1;}}}fnFillRallyPoint();
kalogeros Δημοσ. 14 Οκτωβρίου 2011 Δημοσ. 14 Οκτωβρίου 2011 Σκέφτηκες να βάλεις τις συντεταγμένες σε ένα πίνακα δύο διαστάσεων; Το τα τις έχει όλες τις συντεταγμένες χύμα μέσα σε ένα String δεν μου φαίνεται και η καλύτερη λύση. Φτιάξε έναν πίνακα δύο διαστάσεων [n][2], όπου η διάσταση x θα κρατάει τις τιμές των x και y τιμών των συντεταγμένων σου. Δηλαδή, έστω ότι έχεις τα σημεία (32.4535, 56.23423), (15.321,76,3424) και (34.432, 65.2342). Ο πίνακας σου θα είναι 32.4535, 56.23423 15.321,76,3424 34.432, 65.2342 Κάθε φορά που θα θες να πηγαίνεις στην επόμενη συντεταγμένη Θα αυξάνεις το y κατά 1 Εάν το y+1 είναι μεγαλύτερο από το μήκος του πίνακα, τότε y=0 Δεν έκατσα να διαβάσω όλον τον κώδικα, αλλά εάν κατάλαβα καλά κάτι τέτοιο θες. Ελπίζω να βοήθησα.
georgemarios Δημοσ. 14 Οκτωβρίου 2011 Δημοσ. 14 Οκτωβρίου 2011 Για τσέκαρε αν ο παρακάτω κώδικας μπορεί να προσαρμοστεί στις ανάγκες σου > <HTML> <HEAD> <script LANGUAGE="JavaScript"> <!-- Beginning of JavaScript - function TestCoords (coords) { if ( typeof TestCoords.counter == 'undefined' ) TestCoords.counter = 0; var coord=coords.split(' '); if (TestCoords.counter >= coord.length) TestCoords.counter = 0; var coordSplit = coord[TestCoords.counter].split('|'); TestCoords.counter++; alert("x = " + coordSplit[0] + ", y = " + coordSplit[1]); } // - End of JavaScript - --> </SCRIPT> </HEAD> <BODY> <FORM> <INPUT NAME="submit" TYPE=Button VALUE="Show Me" onClick="javascript:var coords='11|12 21|22 31|32 41|42 51|52';TestCoords(coords)"> </FORM> </BODY> </HTML>
Προτεινόμενες αναρτήσεις
Αρχειοθετημένο
Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.