Hoi,
Ziet er best netjes uit :)
Heb wel een paar opmerkingen:
#1 Wrap je script in een functie, zoals het script nu is definieer je
alle variabelen in de global scope. Dit kan problemen veroorzaken met
andere scripts.
Dus dan krijg je:
(function(){
/* script goes here */
}());
#2 Zo te zien gebruik je elke keer als wilt kijken of iets niet klopt
de constructie if (! (param1 == param2)) Dit kan je beter/duidelijker
doen door het uitroepteken in de vergelijking zelf te zetten: if
(param1 != param2)
#3 Ander puntje over het gebruik van vergelijking operatoren, je
gebruikt afwisselend == en ===. Ik neem aan dat je dan ook het
verschil weet, en ik raad je aan om gewoon altijd === en !== te
gebruiken. Dit voorkomt problemen als je ergens per ongeluk de ==
gebruikt waar === noodzakelijk was.
#4 alleen functies hebben een eigen scope, for loops en dergelijken
hebben geen eigen scope. Je declareert dus op gegeven moment twee keer
in dezelfde scope de variabele i. Ik geloof niet dat het in een
browser tot problemen leid, maar het is in ieder geval technisch
gezien niet juist om te doen. Je zult dus of ff moeten opletten welke
variabelen je allemaal al gedeclareerd hebt in een bepaalde scope. Je
zou eventueel alle declaraties gewoon helemaal aan het begin van de
functie kunnen zetten waar je ze in gebruikt. Dit gebeurd namelijk ook
in de interpreter, het maakt niks uit waar precies in de code je een
bepaalde variabele declareert, ze zullen toch altijd aan het begin van
de scope gedeclareerd worden door de interpreter.
Je zou nog een stap verder kunnen gaan en zelfs maar 1 keer het
keyword var gebruiken:
function(){
var i,
str = "blahblah",
fun = function() {return 1;},
fun2 = function() {alert(str);};
/* do stuf */
}
#6 Nog een heel klein dingetje, als je een javascriptcompressor op je
code gebruikt zal deze het niet doen. Dit komt door je rekensommetjes
met "iets % 60" De javascript compressor haalt de spaties weg en omdat
het script gebruikt wordt als een url zal de browser %60 naar `
converteren. Ik weet niet hoe jij het script momenteel runt, en of je
de javascriptcompressor gebruikt. Dus wellicht was je hier al op de
hoogte van, maar ach kan geen kwaad om het nog ff te zeggen. Misschien
handig om er nog ff een comment bij te zetten in je code.
Nu betreft je vraag: Je mag de URL natuurlijk gewoon direct in je
locationbar zetten scriptgewijs zodat je automatisch naar die pagina
gaat. Het gaan naar een pagina wordt gezien als 1 actie, en dat mag je
dus gewoon doen:
location.href = "game.php?village=X&screen=place"
Om de coördinaten in te vullen hoef je helemaal niet moeilijk te doen
met kopiëren/plakken. Op de kaart kan je gewoon het id van het dorp
uitlezen en dan plak je achter die url nog gewoon "&target=id"
> hoeft hij niet voor te werken...)
http://pastebin.com/ERpgUvbZ
>
> Als je iets fouts ziet (of wat beter kan). Graag zeggen, ik ben er nog
> niet zo heel goed in...
>
> Nu geeft hij coord, afstand (Enter) coord, afstand (enter) enz.
>
> Nu kom ik bij het volgende probleem:
> Ik kan geen link in alert zetten :( Ik wilde dit doen, zodat er in de
> tw-pagina auto troepen werden ingevuld en de coord onder je Ctrl+V
> kwam (dat mag toch?). Hoe kan ik dit doen?
>
> --
> Je ontvangt dit bericht omdat je je hebt aangemeld voor de Google
> Discussiegroepen 'TT Dev'-groep.
> Als je een bericht naar deze discussiegroep wilt verzenden, stuur je
> een e-mailbericht naar
tt-...@googlegroups.com
> Als je je wilt afmelden voor deze discussiegroep, stuur je een
> e-mailbericht naar
tt-dev+un...@googlegroups.com
> Ga naar deze discussiegroep ophttp://
groups.google.com/group/tt-dev?hl=nlvoor meer opties