Tags über Netzwerk?
-
Ich würde das auch so machen das das Programm sowohl Server als auch client sein kann, du solltest dir dann nur überlegen wie du die Daten verschickst.
Ich habe es mal so gemacht das ich in einen String den ich schicke eine art Briefkopf eingebaut hab, das sah dann so aus:[Socket Absender Nr.]#[Typ der Nachricht]#[Eigentliche Daten]
und anhand der # hab ich den String zerteilt und so die Nachricht ausgewertet.
So kannste dann unterscheiden wer dir was geschickt hat.
-
Hab hier einen "Asynchroner Socket-Fehler"
Ich habe 2 "Aktivieren"- Buttons, die (bei Doppelklick auf die Buttons) sich an der gleichen Stelle im Code befinden. Also da wo
void __fastcall TForm1::btnAktivClick(TObject *Sender)usw steht.
Aber ich hab beiden Buttons unterschiedliche Namen gegeben. Warum verweisen beide gleichzeitig da drauf?
ich hoffe, ihr versteht meinen frage

-
du hast warscheinlich einfach nur die buttons kopiert, du musst mal die onclick methode bei einem aus dem objektinspektor nehem und dann doppelt drauf klicken dann erstellt der eine neue.
-
wenn ich bei einem Button das Onclick-Ereignis umbenenne, wird beim anderen Button das Ereignis auch umbenannt, auch wenn ich die buttons neu anlege...
komisch
-
nicht umbennen bei einem ganz raus löschen und neu doppelklicken, kann jetzt sein das es jetzt anm etwas anderem liegt aber bei mir hat das immer geklappt

-
Das Button-Problem hat nicht wirklich mit dem Versenden von Daten über's Netzwerk zu tun.
Bitte die Faustregel beachten: ein Thema pro Thread, ein Thread pro Thema.
-
habs geschafft

ich probier hier mal noch bisschen was aus, dann komm ich aba bald wieder

-
http://home.arcor.de/apf3lsaft/TicTacToe.exe (es fehlen allerdings die bmp's um das Spiel zu starten, ausser ihr erstellt euch kurzerhand selbst welche = ein "X" in X.bmp und ein "O" in O.bmp)
hier könnt ihr euch ein Eindruck von meinem Programm erschaffen.
erst Server aktivieren, danach den Client
Jetzt ist aber die Frage, wie ich ein Tag von Client zu Client schicken kann und sich auch dementsprechend die Buttons ändern?
Es soll so ablaufen, dass jeder Client die Oberfläche wie oben in der .exe dargestellt ist, zur Verfügung hat.
-
keine ahnung was ich jetzt machen soll

-
ich muss nur auf einen der dynamischen buttons klicken (als ein Spielzug) und dann soll bei einem anderen client dieser Spielzug angezeigt werden. Aber keine ahnung wie ich da anfangen soll, hmmm
-
Hallo
woran fehlt es dir
- an der Verbindung
- an der Idee wie du die Daten weitergibst(azswertest
...Mfg
Klaus
-
hab mein letzten Post editiert. Sollte jetzt bissi klarer sein

Verbindung steht. Nur muss ich jetzt quasi 2 TicTacToe- Clients dazu bringen, gegeneinander zu spielen.
Der erste Client muss quasi die eigenen Tags übersenden und der zweite Client muss diese Tags quasi ausführen.

-
Ich glaube, ich sehe Dein Problem nicht richtig?!
Du willst auswerten was für ein Button gedrückt wurde und dann das ganze übertragen ?
Der Ansatz mit den Tags ist schon der richtige Weg. Wenn der Button gedrückt wurde, generierst Du den Tag und versendest ihn. Der Empfänger nimmt den Tag wieder auseinander.
Z.B. wird links oben ein Kreis gezeichnet
möglicher Tag <1,1,Kreis>Empfänger:
Auswertung der Koordinaten und dann z.B. ein Image mit einem Kreis an der entsprechenden Position anzeigen.
-
genau rostfrei
das ist mein problem
ich weiss jetzt nur nich, wie ich das übersenden kann

Ein Tag sind bei mir die Koordinaten x und y
-
Ganz schön viel Aufwand für maximal neun mögliche Buttons. Ich persönlich finde das ein wenig übertrieben. Ok, für das Ego ist das schon gut, aber warum denn so umständlich?
In der primitivsten Version muss eigentlich nur eine Zahl übertragen werden, die die gewählte Position des Gegners angibt. Die Zahl würde ich über case auswerten und dann in einem zur Designzeit erstelltes Image ein Symbol anzeigen. Die Frage des Symbol ist auch einfach, da es nur zwei mögliche gibt.
|1|2|3|
|4|5|6|
|7|8|9|Weiterhin kannst Du die Überprüfung auf ein schon benutztes Feld sparen. Prüfe einfach ob das Picture des Images nicht Null ist, also ob überhaupt etwas angezeigt wird.
Gruss
-
hehe :p
hab aber ein 8 x 8 großes Feld und man muss eine angabe der Sieglänge machen, also 3 bis 8 Steine hintereinander

-
Ok nehme alles zurück. Dann auf alle Fälle Arrays!
Ich würde mir ein Array anlegen, in dem die Positionen der acht Felder gespeichert werden.
Wenn Dein Prog etwas empfängt, gleicht es die übertragene Position ab und erstellt an dieser in dem Poitionsarray gespeicherten Koordinate ein dynamisches Image.
Z.B.
PositionArray[1][1] = "1|1";
PositionArray[2][1] = "21|1";
PositionArray[3][1] = "41|1";Oder nehm zwei Integerarrays, dann brauchst Du denn String nicht nochmal parsen.
Ganz allgemein muss ich sagen, dass die Übertragung meiner Meinung nach nicht wirklich schwer ist, die Siegesauswertung würde mir Kopfzerbrechen bereiten.
-
Rostfrei[] schrieb:
Ok nehme alles zurück. Dann auf alle Fälle Arrays!
Ich würde mir ein Array anlegen, in dem die Positionen der acht Felder gespeichert werden.
Dafür hab ich ja die Tags.
Ich hab mir gedacht, ich speicher die Tags von Client1 in einer Variablen vom Client2.Wenn Dein Prog etwas empfängt, gleicht es die übertragene Position ab und erstellt an dieser in dem Poitionsarray gespeicherten Koordinate ein dynamisches Image.
Z.B.
PositionArray[1][1] = "1|1";
PositionArray[2][1] = "21|1";
PositionArray[3][1] = "41|1";Oder nehm zwei Integerarrays, dann brauchst Du denn String nicht nochmal parsen.
Ganz allgemein muss ich sagen, dass die Übertragung meiner Meinung nach nicht wirklich schwer ist, die Siegesauswertung würde mir Kopfzerbrechen bereiten.
-
ich kann bei einem Spielzug die Tags zum Sender schicken. Ich muss die Tags nur zum zeiten Client schicken. Jemand ne idee?
-
Und jetzt ganz konkret: Was funktioniert ncht?