übers Internet spielen
-
Hallo allerseits,
ich habe mit C++ ein kleines "Ballerspiel" programmiert, wo 2 Spieler sich gegenseitig abschießen müssen.
Hier erstmal der Quelltext (dies ist eine sehr alte Version, die sich besser eignet, da sie wesentlich übersichtlicher ist als die neuste Version):#include <iostream> #include <conio.h> using namespace std; int GetKey () { int Key = getch (); if (Key == 0 || Key == 224) { Key = 256 + getch (); } return Key; } int main() { int i , j; // vertikal , horizontal int k=0; // senkrecht (vertikal) int l=0; // waagerecht (horizontal) char a='X'; char Feld[25][81]; for(i=0;i<24;i=i+1) { for(j=0;j<79;j=j+1) { Feld[i][j] = ' '; } } int Key = 0; while (Key != 27) // solange nicht Escape gedrückt wurde { system("cls"); Feld[k][l]='X'; for(i=0;i<24;i=i+1) { for(j=0;j<79;j=j+1) { cout << Feld[i][j]; } cout << "\n"; } Key = GetKey (); switch (Key) { case 328: // Pfeiltaste nach oben { for(i=0;i<24;i=i+1) { for(j=0;j<79;j=j+1) { Feld[i][j] = ' '; } } k=k-1; if(k<0) {k=23;} } break; case 336: // Pfeiltaste nach unten { for(i=0;i<24;i=i+1) { for(j=0;j<79;j=j+1) { Feld[i][j] = ' '; } } k=k+1; if(k>23) {k=0;} } break; case 333: // Pfeiltaste nach rechts { for(i=0;i<24;i=i+1) { for(j=0;j<79;j=j+1) { Feld[i][j] = ' '; } } l=l+1; if(l>78) {l=0;} } break; case 331: // Pfeiltaste nach links { for(i=0;i<24;i=i+1) { for(j=0;j<79;j=j+1) { Feld[i][j] = ' '; } } l=l-1; if(l<0) {l=78;} } break; } } }Nun zu meinem Problem:
Ich will, dass 2 verschiedene Personen über das Internet die Spielfigur bewegen können. Wäre es nicht irgendwie möglich, mit wininet.h Daten an den anderen Computer (durch Eingabe der IP) zu senden, sodass der jeweils andere Computer die Position der Spielfigur akualisieren kann.Hoffe auf schnelle Antwort!
-
Das geht mit Sockets.
Entweder bei chworker reinschauen und/oder zotteljedi, oder hier mal schauen...
-
Vielen Dank für die schnelle Antwort, mit c-worker.ch bin ich gut klar gekommen!
Ich hab aber noch ein Problem. Wenn ich selber den Server und den Clienten starte, klappt alles wunderbar, wenn ich aber den clienten an jemand anderes im internet weitergebe, kann er sich nicht mit dem server verbinden. Woran kann das liegen?
Übrigens: Ich habe diese Dateien von cworker.ch verwendet:
Client: http://www.c-worker.ch/tuts/sock.c
Server: http://www.c-worker.ch/tuts/sockselectsrv.c
-
Falsche IP? Firewall?
Bye, TGGC (Fakten)
-
Burger007 schrieb:
Wenn ich selber den Server und den Clienten starte, klappt alles wunderbar, wenn ich aber den clienten an jemand anderes im internet weitergebe, kann er sich nicht mit dem server verbinden.
uhm, muss er eine IP eingeben oder hat er das gleiche Programm, was automatisch auf localhost versucht zu connecten
-
Ein Zitat aus den Quelltext:
Quelltext schrieb:
addr.sin_addr.s_addr=inet_addr("127.0.0.1"); // zielrechner ist unser eigener
Vielleicht solltest du diese Zeile einwenig anpassen...
-
