Müsst ich eigentlich hinbekommen aber so ein grober Code wär ganz nett...wenns nicht zuviel Arbeit macht.
/edit: Hab da oben noch was dazu geschrieben bei dem Bild...hoffe mal ihr habt das richtig verstanden ich hatte mich da verschrieben...
Müsst ich eigentlich hinbekommen aber so ein grober Code wär ganz nett...wenns nicht zuviel Arbeit macht.
/edit: Hab da oben noch was dazu geschrieben bei dem Bild...hoffe mal ihr habt das richtig verstanden ich hatte mich da verschrieben...
Geändert von Adamaro (22.03.2008 um 19:26 Uhr)
//Ich gehe von 8 Switchen aus, jeder steht für ein Gebiet und der Code schließt nun Switch für Switch aus bis nur noch einer anbleibt
Change Switch Range (N, NW, W, SW, S, SE, E, NE) ON
Change Variable Y = Mouse Y Position
Change Variable Y -= Hero Scene Y
Change Variable X = Mouse X Position
Change Variable X -= Hero Scene X
//Beträge
Change Variable BetY = Y
fork (BetY < 0) { BetY *= -1 }
Change Variable BetX = X
fork (BetX < 0) { BetX *= -1 }
Show Message "Test 1"
fork (X = 0) { fork (Y=0) { Change Switch Range (N, NW, W, SW, S, SE, E, NE) OFF } }
fork (Y < 0) { Change Switches S, SE, SW OFF }
else { Change Switches N, NE, NW OFF }
fork (X < 0) { Change Switches E, NE, SE OFF }
else { Change Switches W, NW, SW OFF }
Show Message "Test 2"
fork (BetX < BetY) {
Change Switches W, E OFF
Change Variable GegK = BetX
Change Variable AnK = BetY
}
else {
Change Switches N, S OFF
Change Variable GegK = BetY
Change Variable AnK = BetX
}
//Teile Gegenkathete durch Ankathete und schaue das dadurch errechnete Verhältnis an
Show Message "Test 3"
Change Variable GegK *= 10
Change Variable GegK /= AnK
fork (GegK >= 5) { Change Switches N, S, E, W OFF }
else { Change Switches NE, NW, SE, SW OFF }
Show Message "Test 4"
//Jetzt müsste nur noch einer der Switche an sein, der Code bevorzugt schwarze Gebiete, Norden vor Süden und Westen vor Osten falls der Mauszeiger auf einem Übergang liegt
Geändert von Dhan (23.03.2008 um 08:35 Uhr)
Puh okay mal gucken ob ich das im Maker hinkrieg....
aber auf jeden Fall schonmal vielen Dank für die Mühe^^
Hmmm nein da sind wohl 1,2 Fehler drin...er geht immer nach links egal ob der Zeiger rechts oder links von ihm ist und rechts-oben und links-unten sind vertauscht soweit ich das bis jetzt beurteilen kann..
Seltsam... kannst du den Code seperieren und hochladen damit ichs mir ma anschauen kann?
Im Code is ein klitzekleiner Fehler:
fork (BetX < 0) { BetY *= -1 }
soll natürlich
fork (BetX < 0) { BetX *= -1 }
heißen
Wenn du Zeit zum Testen hast bevor ichs hab, bau mal nach jedem Schritt Textnachrichten ein und schau dir bei jeder Textnachricht mit F9 die Variablen- und Switchbelegung an
Ich hab den Code jetz überarbeitet, sprich an passenden Stellen Messages eingebaut (die das Script einfrieren bis man Enter drückt, ideal zum Testen ob die Varis stimmen)
Geändert von Dhan (23.03.2008 um 07:19 Uhr)
Ein fertiges Spiel bräuchte ich, wobei ich natürlich nicht dein Projekt zu sehen brauche, sprich eine Kopie des Events in ein neues Projekt (sowie natürlich Dateien damit Mausposition funzt) passt
Und wie gesagt, schau mal, wie die Variablen sich verändern während dem tatsächlichen Durchlauf
edit: humm ich scripts mir grad schnell selbst, zumindest weiß ich jetzt, dass der Code korrekt abgeschrieben ist, sprich kein Abschreibfehler das Problem ist sondern wohl der Algorithmus selbst
edit: joa, irgendwas passt mit dem Code nicht, mein Script funzt auch nech wies soll, ich setz mich ma dran
edit: HAAA ich habs
Vertausch in den fork(X < 0) und fork(Y < 0) das X und Y und gut is
Für die Allgemeinheit als Script:
Positions-Script
Geändert von Dhan (23.03.2008 um 09:58 Uhr)
Jaaaa danke^^ Die Idee hat ich in etwa auch schon...weil mir aufgefallen ist, dass die X-Variable ja gar nix mit Norden und Süden zu tun hat...
Jetzt kann ich mein mausunterstütztes AKS endlich bauen...eine schwierige Hürde ist schonmal genommen^^