| |

Suche Visual-Basic CodeAusschreibung (mit Belohnung) | |  | Autor: Shonsu | Datum: 01.09.06 18:25 |
| Hier finden sie ein Beispielbild und die Aufgabenstellung wie unten beschrieben
http://web1723.yellowhost.de/Downloads/aufgabe.rar
[u]gegeben ist:
Ein Koordinatensystem das von 1,1 bis 99,99 reicht.
Jeder Punkt der aus dem Koordinatensystem herausreicht kommt auf der gegenüberliegenden Seite wieder rein.
[u]Folgende Werte werden an die Function übergeben:
Start = S(x,y) ' wird als String im Format xx:yy:zz übergeben, zz können sie ignorieren
Ziel = Z(x,y) ' wird als String im Format xx:yy:zz übergeben, zz können sie ignorieren
StartDatum ' wird als String aus einer Textbox geholt
StartUhrzeit ' wird als String aus einer Textbox geholt
ZielDatum ' wird als String aus einer Textbox geholt
ZielZeit ' wird als String aus einer Textbox geholt
Speed as long ' ein Wert für eine Geschwindigkeit
R1 = Sqr( R2^2 + R2^2 )
R2 = halbe Kordinatensystembreite ' zu bedenken ist das das Koordinatensystem nicht bei 0 beginnt und bei 99 aufhört
Zur besseren Übersicht den Link oben benutzen und das Bild studieren.
Das mit der halben Koordinatensystembreite liegt daran das die Schiffe immer den kürzesten Weg wählen
und demzufolge bei grösser der Hälfte einfach in die andere Richtung fliegen, da es dort lang kürzer ist
[u]W(x,y) muss folgende Kriterien erfüllen:
W's muessen berechnet worden sein und nicht mit Schleifen getestet.
Die Summe von Get_Flighttime(S,W,....) + Get_Flighttime(W,Z,....) sollte so nah wie möglich an der Wunschflugdauer liegen welche die Differenz von Zielzeit-Startzeit ist. (dabei auch das Datum beachten) Get_Flighttime ist eine fertige Function, siehe Download
Der Speed kann mit der Variable Speedproz (von 10% - 100% (in 10er Schritten)) beeinflusst werden.
Desweiteren ist es möglich das S und Z dieselben Werte haben. In diesem Fall ist
R1=R2 und der Punkt W muss folgende Zriterien erfüllen.
W.X - S.X muss kleiner halbe Kordinatensystembreite sein
W.Y - S.Y muss kleiner halbe Kordinatensystembreite sein
W.X - Z.X muss kleiner halbe Kordinatensystembreite sein
W.Y - Z.Y muss kleiner halbe Kordinatensystembreite sein
Im Grunde gibt es dann keinen Radius mehr , sondern ein Quadrat mit dem Mittelpunkt S(x,y)
[u]Fehlerbehandlung:
Es ist möglich das selbst mit 10% Speed und der maximalsten Entfernung die Wunschflugdauer nicht bis auf 10min
genau erreicht werden kann weil die Wunschflugdauer einfach zuuu lang ist. Dann wird als Ergebnis der Punkt W gesucht bei dem die Gesamtflugdauer mit 10% am grössten ist.
Es ist auch möglich das die Wunschflugdauer einfach zu kurz ist, dann wird als Ergebnis gewünscht:
W(x,y) = Z(x,y) bei 100% speed
[u]Ergebnisausgabe:
Eine Listbox mit den 5 besten Ergebnissen "xx:yy" --> sortiert nach der Gesamtflugdauer von S nach W nach Z wobei Speedproz-Werte
die am kleinsten sind und Wunschflugdauer auf 10min genau treffen, Vorrang haben vor Werten die zwar auf
die Minute genau treffen aber Speedproz höher ist.
Das liegt daran das mit weniger Speed fliegen auch weniger Sprit benötigt. Wir müssen ja an die Umwelt denken ;)
[u]Hintergrund der ganzen Sache:
Es gibt ein Browsergame das auf obengenanntem Koordinatensystem aufbaut.
In diesem Game kann man eine Flotte, die sich gerade im Flug befindet, nicht angreifen.
Da ergibt sich das Problem das man auch noch ein RealLife hat und seine Flotte für eine gewisse Zeit im Bewegung halten will.
Und genau deswegen diese ganze Angelegenheit.
Zu Fragen bitte Mail an h.daehne@lbb.laepple.de (Arbeit) und gleichzeitig an _Holger_@web.de (zu Hause)
[u]Das Meineserachtens beste Ergebnis prämiere ich finanziell.
Die Höhe haengt von der 'Schönheit' der Lösung und dem Zeitpunkt der Ablieferung ab.
Alle aufgelisteten (im obrigen Downloadlink in der Datei Aufgabe.txt) Functionen dürfen nicht verändert werden, aber müssen als Rechengrundlage benutzt werden.
Speziell get_FlightTime darf nicht verändert werden.
Falls sie eine Idee haben wie man eine der Nebenfunktionen verbessern kann.....ich lerne gerne. |  |
 | Sie sind nicht angemeldet! Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.
Einloggen | Neu registrieren |
  |
|
sevWizard für VB5/6 
Professionelle Assistenten im Handumdrehen
Erstellen Sie eigene Assistenten (Wizards) im Look & Feel von Windows 2000/XP - mit allem Komfort und zwar in Windeseile :-) Weitere InfosTipp des Monats Oktober 2025 Matthias KozlowskiUmlaute konvertierenErsetzt die Umlaute in einer Zeichenkette durch die entsprechenden Doppelbuchstaben (aus ä wird ae, usw.) TOP Entwickler-Paket 
TOP-Preis!!
Mit der Developer CD erhalten Sie insgesamt 24 Entwickler- komponenten und Windows-DLLs. Die Einzelkomponenten haben einen Gesamtwert von 1866.50 EUR...
Jetzt nur 979,00 EURWeitere Infos
|
|
|
Copyright ©2000-2025 vb@rchiv Dieter Otter Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.
Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel
|
|