| |

VB.NET - FortgeschritteneRe: Online-Spiel: Matchmaking | |  | Autor: Snof | Datum: 16.06.09 14:55 |
| Hallo
Zu deinem ersten Problem hab ich ne Idee. Ist aber noch nich ganz ausgereift. Sammel alle möglichen Paarungen zusammen und sortiere sie nach Differenz der Stärke der Spieler. Und dann geh die Liste von oben nach unten durch. Wenn bei einem Paar einer oder beide Spieler schon vergeben sind, ignoriere es.
Es wird aus der aktuell möglichen Menge an Paarungen die Beste rausgesucht und dann wiederum aus der Restmenge das Optimum. So lange bis die Menge leer ist. Dabei kann es allerdings passieren, dass es schnell zu Paarungen mit recht hoher Differenz kommt.
zB:1 - 2 - 2,4 - 3 - 4 - 4,6 - 5 - 6 Bei einer solchen Verteilung kommen follgende Paare raus:(2 - 2,4) (4,6 - 5)
(3 - 4) (1 - 6) Die Frage ist, möchtest du das? Ein alternatives Vorgehen wäre es, eine Menge von Paarungen zu suchen, bei denen die Summe der Differenzen minimal ist. Da hab ich im Moment aber kein Algorithmusvorschlag.
Überleg aber mal bitte was genau du mit der Zuweisung erreichen möchtest, also die beste Paarung finden, oder dass alle einen möglichst guten partner haben, oder was ganz anderes?
Zu deinem zweiten Problem: Wie behandelst du sowas in der Offline-Variante?
Wenn dein Spiel nach Server-Client-Prinzip arbeitet, sollte das Spiel eh aufm Server laufen und die Clients nur als Oberfläche dienen. In diesem Fall Sendet Client 1 an den Server, dass er das Spiel verlässt. Der Server gibt es dann an Client 2 weiter. Sowohl Server als auch Client reagieren dann entsprechend darauf.
Und Problem 3:
Gegen das einfache Beenden des Programms oder andere Verbindungsabbrüche würde ich einen TimeOut probieren. Eventuell noch ein regelmäßiges Signal vom Client zum Server. Bleibt dieses zu lange aus gilt der Client als Offline.
Dagegen, dass ein Spieler nicht an seinem Rechner sitzt, kann man aber glaub ich wenig tuen. Das hängt auch von deinem Spiel ab. Bei Schach beispielsweise ist es deinem Rechner praktich gar nicht möglich zu erkennen, ob der Spieler nur lange überlegt oder nicht mehr da ist.
Soweit erstmal von mir, eventuell kommt noch mehr, falls ich nen schönen Algorithmus finde oder mir ein guter einfällt  |  |
 | 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 |
  |
|
Neu! sevDTA 3.0 Pro 
SEPA mit Kontonummernprüfung
Erstellen von SEPA-Dateien mit integriertem BIC-Verzeichnis und Konto- nummern-Prüfverfahren, so dass ungültige Bankdaten bereits im Vorfeld ermittelt werden können. Weitere InfosTipp des Monats Oktober 2025 Matthias KozlowskiUmlaute konvertierenErsetzt die Umlaute in einer Zeichenkette durch die entsprechenden Doppelbuchstaben (aus ä wird ae, usw.) Access-Tools Vol.1 
Über 400 MByte Inhalt
Mehr als 250 Access-Beispiele, 25 Add-Ins und ActiveX-Komponenten, 16 VB-Projekt inkl. Source, mehr als 320 Tipps & Tricks für Access und VB
Nur 24,95 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
|
|