AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi Pokerprojekt realisierung
Thema durchsuchen
Ansicht
Themen-Optionen

Pokerprojekt realisierung

Ein Thema von .chicken · begonnen am 28. Mär 2007 · letzter Beitrag vom 15. Mai 2007
 
.chicken

Registriert seit: 5. Dez 2006
459 Beiträge
 
#16

Re: Pokerprojekt realisierung

  Alt 7. Apr 2007, 19:27
Ok, wahrscheinlich hast du Recht und ihc bin auch shcon ziemlich durcheinander im Projekt. Das liegt einfach daran, dass am Anfang viele Dinge nicht mit bedacht werden und die dann hinterher füchtig eingesetzt werden!
Ich denke ich schriebe die Units nochmal neu und ordentlich!

Zu der Sache mit dem Controller. Also nur der Server kennt den Controller!
Wenn ein Spieler setzt, schickt er eine Nachricht an den Server, zB:
'Bet[600]' ---> 600setzen
Wenn der Server das empfängt, soll er den Controller benachrichtigen, dass er die procedure Bet aufruft!
Dann kann der Controller aber nichtmehr den Server benachrichtigen, wenn er die procedure ausgeführt hat, weil er den Server ja nicht in den Uses hat!

Ich weiss nun wie ich über-kreuz-uses machen kann, aber ich will es garnicht, will mein Projekt ja hinterher ordentlich haben!

Was hälst du denn davon wie ich die Nachrichten schicke und auswerte?
Ich schreib hier ma n paar Zeilen dazu:
Delphi-Quellcode:
SendText('Call'); //wär zB ein einfacher Call
SendText('SGeld(1)[1500]'); //würde zB das Geld von Spieler 1 auf 1500 setzen
Ansatz so richtig oder Verbesserungsvorschlag?

Zur Auswertung hab ich mir ne Funktion geschrieben, der ich einen String und zwei Zeichen geben kann, und die dann den Substring zwischen den beiden Zeichen ausgibt.
Sieht dann zB so aus:
Delphi-Quellcode:
function TMyClient.Klammern(Value, Search1, Search2: String): String; //eben genannte Funktion
begin
  Result := Copy(Value, Pos(Search1, Value) + 1, Pos(Search2, Value) - Pos(Search1, Value) - 1);
end;


procedure TMyClient.Parse_Text(Value: String); //hier wird dann der Text ausgewertet, hoffe das ist einigermassen verständlich!
var
  temp: String;
begin
  temp := Copy(Value, 0, Pos('[', Value) - 1);
  if temp = 'CBetthen //CBet wird geändert
    CBet := StrtoInt(Klammern(Value, '[', ']'));
  if temp = 'Phasethen //Phase wird geändert
    Phase := StrtoInt(Klammern(Value, '[', ']'));
  if temp = 'SBlindthen //SBlind wird geändert
    SBlind := StrtoInt(Klammern(Value, '[', ']'));
  if temp = 'Dealerthen //Dealer wird geändert
    Dealer := StrtoInt(Klammern(Value, '[', ']'));
  if temp = 'AktiverSpthen //AktiverSp wird geändert
    AktiverSp := StrtoInt(Klammern(Value, '[', ']'));
  if temp = 'Potthen //Pot wird geändert
    Pot := StrtoInt(Klammern(Value, '[', ']'));
  if temp = 'ClientNumberthen //ClientNr wird zugewiesen
    ClientNr := StrtoInt(Klammern(Value, '[', ']'));
  if temp = 'Startthen //Spielstatus
    if Klammern(Value, '[', ']') = 'Truethen
      Start := True
    else
      Start := False;
end;
Gibts da eigentlich ne schönere/bessere Möglichkeit als diese tausend if-Abfragen?


Und dann hab ich da noch ein Problem:
Der Server schickt oft soviele Nachrichten nacheinander, dass der Server beim auswerten die Nachrichten durcheinander bringt, wie kann ich das verhindern?


Danke für die Hilfe und hoffe ich hab nix vergessen, aber jetzt muss mein Hund raus
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:32 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz