Autor Beitrag
DarkHunter
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 477

Win XP
D3 Prof, D2005 PE
BeitragVerfasst: Do 02.02.06 20:00 
Hallo

Ich möchte euch meine neuste Software vorstellen: Hangm4n - Hangman 4 n, ein Multiplayer-Galgenraten.

Es spielt sich ähnlich den normalen Galgenraten, nur eben im Mehrspielermodus. Alle Spieler loggen sich auf einem Server ein und können dann rundenweise Buchstaben oder ganze Wörter raten. Der Spieler der zuerst das Lösungswort hat gewinnt.

Screenshots
Client
Server

Download
Hangm4n.zip (579 KB)

Bekannte Bugs
Verlässt ein Spieler das Spiel, so erhalten alle User die hinter ihm
in der Liste stehen keine aktualisierte Liste.

Version History:
1.4 (aktuell)
[FIX] "Listenindex überschreitet das Maximum"-Bug (siehe version 0.1) behoben
[NEW] Adminzugriff auf der Server über den Client

1.3 Beta
[NEW] Client kann auch dann connecten wenn das Spiel bereits gestartet ist
[NEW] Server kann die IP Adresse sehen
[FIX] Spiel kann nicht gestartet werden wenn noch keine Spieler vorhanden sind

1.2 Beta
[NEW] 1-Sekunden-Spamschutz für den Chat
[NEW] Versioncheck
[NEW] Erweiterte Serverfunktionen:
+ Spieler kicken
+ Chat

1.1 Beta
[NEW] Chat

1.0 Beta (Erste voll Funktionsfähige Version)
[NEW] Farbiges Männchen

0.5 alpha
[NEW] Server kann Wörter an den Client senden
[NEW] Netzwerkbefehle(Server) vollständig
[NEW] Server Grundfunktionen
[NEW] Client Grundfunktionen

0.1 alpha
[NEW] Connect / DISCONNECT
[NEW] Grundkommunikation Server-Client
[BUG] "Listenindex überschreitet das Maximum" beim Disconnect

_________________
I believe that every human has a finite number of heart-beats. I don't intend to waste any of mine running around doing exercises.
- Neil Armstrong


Zuletzt bearbeitet von DarkHunter am Sa 17.03.07 13:20, insgesamt 4-mal bearbeitet
Handycommander
ontopic starontopic starofftopic starofftopic starofftopic starofftopic starofftopic starofftopic star
Beiträge: 1054

Windows XP Pro, Vista
Visual Studio 2008
BeitragVerfasst: Do 02.02.06 20:22 
schaut ganz gut aus!
werde es mal testen! hab leider grad keine zeit dazu
AXMD
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 4006
Erhaltene Danke: 7

Windows 10 64 bit
C# (Visual Studio 2019 Express)
BeitragVerfasst: Do 02.02.06 20:50 
Tolles Spiel :mrgreen:

Tolles Spiel hat folgendes geschrieben:
Listenindex überschreitet das Maximum (0)


Beim Starten des Servers...

AXMD
DarkHunter Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 477

Win XP
D3 Prof, D2005 PE
BeitragVerfasst: Fr 03.02.06 00:05 
user profile iconAXMD hat folgendes geschrieben:
Tolles Spiel :mrgreen:

Tolles Spiel hat folgendes geschrieben:
Listenindex überschreitet das Maximum (0)


Beim Starten des Servers...

AXMD


Beim Starten ? :gruebel:
Der Fehler ist mir bisher untergekommen, ich werde mal schauen was da lost ist.

_________________
I believe that every human has a finite number of heart-beats. I don't intend to waste any of mine running around doing exercises.
- Neil Armstrong
Force
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 143

Ubuntu Jaunty
FreePascal
BeitragVerfasst: Sa 04.02.06 19:12 
Ist ganz nett das Spiel, aber du solltest folgendes verbessern:

-Wenn man Enter drückt sollte die Chatnbachricht/der Buchstabe gesendet werden (#13)
-Wenn man einen Buchstaben schon gesesndet hat, sollte beim zweiten Mal dies als Fehler gewertet werden
-Der Server sollte das Wort sehen können, schließlich spielt er ja nicht mit
-Man sollte maximal einen Buchstaben senden dürfen, im Moment kann man bei deinem Client gaze Strings versenden ;)
-Ich finde es sinnlos, dass auch der Server chatten kann, obwohl der ja so gut wie gar nichts vom Spiel mitkriegt, aber is ja egal
-Der Server sollte vielleicht eine Userliste besitzen, und wenn man dort auf einen User klickt sollte sich vielleicht ein Popup öffnen, das die IP anzeigt, die Box unten ist ziemlich unübersichtlich...


Ich hoffe, ich konnte dir helfen ;)

Force
DarkHunter Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 477

Win XP
D3 Prof, D2005 PE
BeitragVerfasst: Sa 04.02.06 20:44 
Danke für deine Kritiken

user profile iconForce hat folgendes geschrieben:

-Wenn man Enter drückt sollte die Chatnbachricht/der Buchstabe gesendet werden (#13)

beim Chat ist das auch möglich mit Enter, für die Buchstaben eingabe muss ich das noch machen.
Zitat:

-Wenn man einen Buchstaben schon gesesndet hat, sollte beim zweiten Mal dies als Fehler gewertet werden

Warum?
Zitat:

-Der Server sollte das Wort sehen können, schließlich spielt er ja nicht mit

Kann ich drüber nachdenken
Gleichzeitig erhöht es aber die Cheatsicherheit, weil der Spieler der Server ist, dann nicht im Serverfenster schauen kann was das Wort ist :D
Zitat:

-Man sollte maximal einen Buchstaben senden dürfen, im Moment kann man bei deinem Client gaze Strings versenden ;)

Das ist absicht, damit man auch das ganze Wort raten kann, wenn man es weiß.
Zitat:

-Ich finde es sinnlos, dass auch der Server chatten kann, obwohl der ja so gut wie gar nichts vom Spiel mitkriegt, aber is ja egal

Macht aber nichts wenn er es kann oder?
Zitat:

-Der Server sollte vielleicht eine Userliste besitzen, und wenn man dort auf einen User klickt sollte sich vielleicht ein Popup öffnen, das die IP anzeigt, die Box unten ist ziemlich unübersichtlich...

Die Userliste gibt es schon, das Popup auch (stichwort: User kicken) das mit der IP wäre nochmal eine Idee
Das Feld unten zeigt nur die IP des Servers.

_________________
I believe that every human has a finite number of heart-beats. I don't intend to waste any of mine running around doing exercises.
- Neil Armstrong
LLCoolDave
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 212

Win XP
Delphi 2005
BeitragVerfasst: Sa 04.02.06 20:51 
user profile iconDarkHunter hat folgendes geschrieben:
Danke für deine Kritiken
Zitat:

-Wenn man einen Buchstaben schon gesesndet hat, sollte beim zweiten Mal dies als Fehler gewertet werden

Warum?


Weil man sonst einen schon erratenen Buchstaben noch einmal senden kann wenn man nicht weiterweis um keinen Fehler zu bekommen.
DarkHunter Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 477

Win XP
D3 Prof, D2005 PE
BeitragVerfasst: Sa 04.02.06 20:56 
user profile iconLLCoolDave hat folgendes geschrieben:
user profile iconDarkHunter hat folgendes geschrieben:
Danke für deine Kritiken
Zitat:

-Wenn man einen Buchstaben schon gesesndet hat, sollte beim zweiten Mal dies als Fehler gewertet werden

Warum?


Weil man sonst einen schon erratenen Buchstaben noch einmal senden kann wenn man nicht weiterweis um keinen Fehler zu bekommen.


Irgendwie hast du recht,
aber da es darum geht als erster fertig zu werden, und alle gleichzeitig raten macht es keinen Sinn einen bereits geraten Buchstaben nochmal zu raten, damit verliert man nur eine wertvolle Runde, in der man einen Buchstaben raten könnte.

_________________
I believe that every human has a finite number of heart-beats. I don't intend to waste any of mine running around doing exercises.
- Neil Armstrong
DarkHunter Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 477

Win XP
D3 Prof, D2005 PE
BeitragVerfasst: Sa 04.02.06 21:14 
So,
es ist eine neue Version online.
über ein Popupmenü kann man sich jetzt die IP adresse des Users anzeigen lassen.
Desweiteren ist der "Neues Spiel"-Button solange deaktiviert solange keine Spieler auf dem Server ist.

_________________
I believe that every human has a finite number of heart-beats. I don't intend to waste any of mine running around doing exercises.
- Neil Armstrong
Force
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 143

Ubuntu Jaunty
FreePascal
BeitragVerfasst: So 05.02.06 20:00 
Hmm, wenn man einen leeren String anstatt des zu erratenden Buchstaben sendet, wird das auch als Fehler gewertet - vielleicht solltest du den Button deaktivieren, wenn das Feld leer ist (und natürlich sollte die if key=#13-Abfrage nur dann gemacht werden, wenn das Feld auch nicht leer ist ^^)
DarkHunter Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 477

Win XP
D3 Prof, D2005 PE
BeitragVerfasst: So 05.02.06 20:43 
user profile iconForce hat folgendes geschrieben:
Hmm, wenn man einen leeren String anstatt des zu erratenden Buchstaben sendet, wird das auch als Fehler gewertet - vielleicht solltest du den Button deaktivieren, wenn das Feld leer ist (und natürlich sollte die if key=#13-Abfrage nur dann gemacht werden, wenn das Feld auch nicht leer ist ^^)


Werde ich sofort machen ;)
Vielleicht sollte ich mal darüber Nachdenken gewissen Zeichen komplett zu unterbinden.
Obwohl, mit allen ASCII-Zeichen hatte das auch seinen Reiz.

_________________
I believe that every human has a finite number of heart-beats. I don't intend to waste any of mine running around doing exercises.
- Neil Armstrong
DarkHunter Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 477

Win XP
D3 Prof, D2005 PE
BeitragVerfasst: Di 07.02.06 19:35 
Habe ein paar kleine Änderungen vorgenommen (Rechtschreibfehler etc.)

_________________
I believe that every human has a finite number of heart-beats. I don't intend to waste any of mine running around doing exercises.
- Neil Armstrong
DarkHunter Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 477

Win XP
D3 Prof, D2005 PE
BeitragVerfasst: Sa 17.03.07 13:22 
Über ein Jahr ist verstrichen und ich habe das Spiel eher zufällig beim durchforsten meiner Festplatte gefunden.

Als ich dann festgestellt hatte, dass noch Fehler auftreten, habe ich mich dran gesetzt diese zu korrigieren.
Der wohl größte Fehler, der sich seit Anbeginn der Programmierung durchgezogen hat, dürfte jetzt behoben sein.

Ebenso habe ich das Spiel mal unter eine vernünftige Lizenz gestellt und den Source-Code ins Archiv mit eingehängt.
Daher bitte ich einen der Mods das ganze nach Open-Source-Projekte zu verschieben, danke.

_________________
I believe that every human has a finite number of heart-beats. I don't intend to waste any of mine running around doing exercises.
- Neil Armstrong
Narses
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Administrator
Beiträge: 10183
Erhaltene Danke: 1256

W10ent
TP3 .. D7pro .. D10.2CE
BeitragVerfasst: So 18.03.07 01:43 
Moin!

Wie´s aussieht, hast du immer noch ein paar interessante "Effekte" in der Anwendung... :? (siehe Anhang)

Ich hab mal über den Code geschaut und dabei bemerkt, dass deine Behandlung von eingehenden Daten den klassischen Trennungsfehler (siehe FAQ-Beitrag) hat. Deshalb: schonmal hier reingesehen? ;)

cu
Narses
Einloggen, um Attachments anzusehen!
_________________
There are 10 types of people - those who understand binary and those who don´t.
DarkHunter Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 477

Win XP
D3 Prof, D2005 PE
BeitragVerfasst: Mo 19.03.07 20:04 
Interessanter Fehler, kannst du mal beschreiben, wie du den zustande gebracht hast?

An und für sich dürfte, das Problem nicht wirklich auftreten, da ich nach jedem Socket.SendIrgendwas den Prozess für 500ms schlafen schicke. Ich weiß, ist nicht die feine englische Art, war aber bisher ein guter Workaround. Ich war wohl einfach nur zu faul ein vernünftiges Protokoll zu machen.

Zum der Protokoll-Tutorial, ja das habe ich gelesen, jedoch erst einige Zeit nachdem ich das Spiel geschrieben habe. Mal sehen ob ich Zeit und Lust (vor allem letzteres) finde und mich mal an den Code setze um das ganze zu verbessern.

_________________
I believe that every human has a finite number of heart-beats. I don't intend to waste any of mine running around doing exercises.
- Neil Armstrong
Narses
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Administrator
Beiträge: 10183
Erhaltene Danke: 1256

W10ent
TP3 .. D7pro .. D10.2CE
BeitragVerfasst: Mo 19.03.07 20:23 
Moin!

user profile iconDarkHunter hat folgendes geschrieben:
An und für sich dürfte, das Problem nicht wirklich auftreten,

:P An und für sich ist es das aber... ;) ob es das "darf", solltest du selbst beurteilen können. :mrgreen:

user profile iconDarkHunter hat folgendes geschrieben:
Interessanter Fehler, kannst du mal beschreiben, wie du den zustande gebracht hast?

Einfach durchklicken, Buchstaben eingeben (und nicht lösen), bumm. :|

Allerdings hat das vermutlich nix mit dem Protokoll-Problem zu tun, sondern wird in der Anwendungssteuerung "begraben" liegen... :idea:

user profile iconDarkHunter hat folgendes geschrieben:
da ich nach jedem Socket.SendIrgendwas den Prozess für 500ms schlafen schicke. Ich weiß, ist nicht die feine englische Art, war aber bisher ein guter Workaround.

Ja, habe ich gesehen; diesen "Workaround" kannst du komplett abschaffen, wenn du nicht mehr auf den Ereignissen zum Trennen der Datenpakete aufsetzt, sondern z.B. ein Terminatorzeichen verwendest. ;) Denn leider behebt der Workaround nicht wirklich das Problem, sondern macht es nur seltener... :shock:

user profile iconDarkHunter hat folgendes geschrieben:
Ich war wohl einfach nur zu faul ein vernünftiges Protokoll zu machen.

Schätze ich auch mal... :P

cu
Narses

_________________
There are 10 types of people - those who understand binary and those who don´t.