Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht Das deutsche QBasic- und FreeBASIC-Forum
Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
 
FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen  RegistrierenRegistrieren
ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin
Zur Begleitseite des Forums / Chat / Impressum
Aktueller Forenpartner:

Eschecs 1.0 (Schachprogramm)
Gehe zu Seite 1, 2, 3, 4, 5, 6  Weiter
 
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Projektvorstellungen
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
Roland Chastain



Anmeldungsdatum: 05.12.2011
Beiträge: 183
Wohnort: Dakar, Senegal

BeitragVerfasst am: 05.12.2011, 13:37    Titel: Eschecs 1.0 (Schachprogramm) Antworten mit Zitat

Hallo !

Ich möchte mein Schachprogramm vorstellen.



http://www.freebasic-portal.de/downloads/spiele/eschecs-210.html


Zuletzt bearbeitet von Roland Chastain am 24.04.2018, 22:53, insgesamt 7-mal bearbeitet
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Roland Chastain



Anmeldungsdatum: 05.12.2011
Beiträge: 183
Wohnort: Dakar, Senegal

BeitragVerfasst am: 05.12.2011, 14:36    Titel: ESCHECS 0.1 screenshot Antworten mit Zitat

Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
MOD
Fleißiger Referenzredakteur


Anmeldungsdatum: 10.09.2007
Beiträge: 990

BeitragVerfasst am: 05.12.2011, 16:17    Titel: Antworten mit Zitat

Was den Computergegner angeht, sehr gelungen. Die KI reagiert auf Züge verteidigend falls nötig, ansonsten versucht sie anzugreifen.

Das Spiel an sich ist aber recht umständlich. Statt durch Eingabe der Feldpositionen würde ich meine Maussteuerung klar bevorzugen. Ein Spiel sollte auch nicht direkt beendet werden, wenn man mal nichts eingibt.

Ein Blick in den Code ist das Spiel leider auch nicht Wert. Viele unverständliche Variablennamen, einige GOTOs und alles irgendwie auf knapp 20 Dateien verteilt.

Unabhängig vom Code, mit Maussteuerung wäre es ein super Schachspiel, ohne Maussteuerung leider nicht, also am besten gleich einbauen. zwinkern
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
isiprimax



Anmeldungsdatum: 02.01.2009
Beiträge: 77

BeitragVerfasst am: 05.12.2011, 21:58    Titel: Antworten mit Zitat

Ideen für nächste Version:

Maussteuerung
Logbuch der Bewegungen auf dem Spielfeld
Stopuhr für die Spielzüge

Zum "Quältext", ich würde ihn mehr strukturieren, lesbarer machen und Variablnamen eindeutiger benennen.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Roland Chastain



Anmeldungsdatum: 05.12.2011
Beiträge: 183
Wohnort: Dakar, Senegal

BeitragVerfasst am: 05.12.2011, 23:23    Titel: Antworten mit Zitat

Vielen Dank für Ihre Antworten und Raten. lächeln
Ich werde aufmerksam lesen und denken auf was Sie geschrieben haben.
Bis bald !
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Roland Chastain



Anmeldungsdatum: 05.12.2011
Beiträge: 183
Wohnort: Dakar, Senegal

BeitragVerfasst am: 10.12.2011, 20:03    Titel: ESCHECS 0.2 Antworten mit Zitat

Hallo !

Ich möchte euch ESCHECS 0.2 vorstellen.

Maussteuerung ist getan.

Ich habe das Code bearbeitet (besonders Variablennamen).

Vielleicht werde ich die Stoppuhr machen jetzt.

Ich danke Ihnen für die Ermutigungen und kluge Raten. happy


Zuletzt bearbeitet von Roland Chastain am 10.12.2011, 20:10, insgesamt 2-mal bearbeitet
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Roland Chastain



Anmeldungsdatum: 05.12.2011
Beiträge: 183
Wohnort: Dakar, Senegal

BeitragVerfasst am: 10.12.2011, 20:08    Titel: Antworten mit Zitat



http://www.freebasic-portal.de/dlfiles/265/ESCHECS02.zip
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Roland Chastain



Anmeldungsdatum: 05.12.2011
Beiträge: 183
Wohnort: Dakar, Senegal

BeitragVerfasst am: 11.12.2011, 16:19    Titel: Antworten mit Zitat

Jetzt ich suche wie ich könnte mein Programm mit ein anders (der spielt besser aber hat nur Konsole Spiel) verbinden. Ich studiere die "Open Pipe" Benutzung aber erfloglos.
Kann jemand mir helfen ?
Danke !
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
MilkFreeze



Anmeldungsdatum: 22.04.2011
Beiträge: 116

BeitragVerfasst am: 11.12.2011, 16:52    Titel: Antworten mit Zitat

Ich hab mir gestern Abend den code angeguckt... 2 tipps:

1. Benutze Funktionen und Subs und schreib die Deklarationen sauber an den Anfang der jeweiligen datei. Damit kannst du die ganzen Gotos loswerden und das ganze wird auch etwas lesbarer. Vielleicht kannst du so auch ein paar codewiederholungen entfernen (hab zwar keine gefunden, aber ich denke du hast welche drin).

2. Sortier deine Includes und benenn sie nach dem, was drin ist um. FooBar01.bas bis FooBar10.bas verwirrt extrem.


Gruß
_________________
Milch ftw grinsen
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
nemored



Anmeldungsdatum: 22.02.2007
Beiträge: 4206
Wohnort: ~/

BeitragVerfasst am: 11.12.2011, 17:14    Titel: Antworten mit Zitat

Ein einfaches Beispiel zu OPEN PIPE:
Code:
dim zeile as string, filenr as integer = freefile
open pipe "test.exe" for input as #filenr
do while not eof(filenr)
  line input #filenr, zeile
  print zeile
loop
close #filenr


Die test.exe muss dann über PRINT die Daten ausgeben, z. B.
Code:
' test.bas
print 1
sleep 1000, 1
print 2
sleep 1000, 1
print 3
sleep 1000, 1


Beides compilieren (zweiten Code als test.exe) und dann erstes Programm ausführen.
_________________
Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Roland Chastain



Anmeldungsdatum: 05.12.2011
Beiträge: 183
Wohnort: Dakar, Senegal

BeitragVerfasst am: 11.12.2011, 17:23    Titel: Antworten mit Zitat

MilkFreeze hat Folgendes geschrieben:
Ich hab mir gestern Abend den code angeguckt... 2 tipps:

1. Benutze Funktionen und Subs und schreib die Deklarationen sauber an den Anfang der jeweiligen datei. Damit kannst du die ganzen Gotos loswerden und das ganze wird auch etwas lesbarer. Vielleicht kannst du so auch ein paar codewiederholungen entfernen (hab zwar keine gefunden, aber ich denke du hast welche drin).

2. Sortier deine Includes und benenn sie nach dem, was drin ist um. FooBar01.bas bis FooBar10.bas verwirrt extrem.



Danke schön. Gute Raten ! happy
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Roland Chastain



Anmeldungsdatum: 05.12.2011
Beiträge: 183
Wohnort: Dakar, Senegal

BeitragVerfasst am: 11.12.2011, 17:27    Titel: Antworten mit Zitat

nemored hat Folgendes geschrieben:
Ein einfaches Beispiel zu OPEN PIPE:


Danke schön ! Ich werde das studieren.


Zuletzt bearbeitet von Roland Chastain am 22.04.2018, 07:11, insgesamt einmal bearbeitet
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Roland Chastain



Anmeldungsdatum: 05.12.2011
Beiträge: 183
Wohnort: Dakar, Senegal

BeitragVerfasst am: 11.12.2011, 17:48    Titel: Antworten mit Zitat

Gut ! Ich kann nun der Computer Zug "lesen". Danke für dieses Beispiel.

Aber wie kann ich dann mein Zug zu ihm "sagen" ?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
nemored



Anmeldungsdatum: 22.02.2007
Beiträge: 4206
Wohnort: ~/

BeitragVerfasst am: 11.12.2011, 19:42    Titel: Antworten mit Zitat

Dazu müsste ich wissen, wie das Computer-Programm funktioniert. Vielleicht ist es möglich, dem Programm beim Aufruf die aktuelle Spielposition zu übermitteln. Das wäre dann die Position nach dem Zug des Spielers.
_________________
Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
dreael
Administrator


Anmeldungsdatum: 10.09.2004
Beiträge: 2458
Wohnort: Hofen SH (Schweiz)

BeitragVerfasst am: 11.12.2011, 20:00    Titel: Antworten mit Zitat

Zu OPEN PIPE:

http://www.freebasic.net/wiki/wikka.php?wakka=KeyPgOpenPipe

Grundproblem: Kann entweder nur lesen oder schreiben -> von dem her wäre Socket-Kommunikation der bessere Weg, weil dort bidirektionale Kommunikation möglich ist.

Ansonsten spielt natürlich noch der Ansatz vom Computergegner-.EXE (KI-Enginge) eine Rolle: Ob der Prozess persistent läuft und damit auch Züge berechnen kann (stateful-Ansatz), wenn der andere Spieler gerade am Zug ist oder ob es bei jedem Zug frisch aufgerufen wird (erhält dann Spielsituation auf dem Brett -> stateless-Ansatz).

Übrigens zum Thema Socketprotokoll: Am besten solltest Du Dir dazu www.freechess.org anschauen, denn dort dürfen ausser menschliche Mitspieler ambitionierte Programmierer mit einem Botspieler (spezielle Policy) mitmachen. Da die Clientprogramme dort Open Source sind, würde ich dasselbe Protokoll auch bei Dir implementieren, so dass das Ganze interoperabel läuft. => Am besten auch einmal noch GNU Chess näher anschauen.
_________________
Teste die PC-Sicherheit mit www.sec-check.net
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Roland Chastain



Anmeldungsdatum: 05.12.2011
Beiträge: 183
Wohnort: Dakar, Senegal

BeitragVerfasst am: 11.12.2011, 21:17    Titel: Antworten mit Zitat

dreael hat Folgendes geschrieben:
Zu OPEN PIPE:

http://www.freebasic.net/wiki/wikka.php?wakka=KeyPgOpenPipe

Grundproblem: Kann entweder nur lesen oder schreiben -> von dem her wäre Socket-Kommunikation der bessere Weg, weil dort bidirektionale Kommunikation möglich ist.


Danke schön. Ich glaube ich verstand nun was ist los. Ich will das wiki sehen und aufmerksam lesen die Folge deiner Antwort.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Roland Chastain



Anmeldungsdatum: 05.12.2011
Beiträge: 183
Wohnort: Dakar, Senegal

BeitragVerfasst am: 13.12.2011, 00:31    Titel: Antworten mit Zitat

Hallo Freunde !

Ich arbeite an eine kurze Hilfe für mein Programm. Es wäre nett wenn jemand kann das auf deutsch übersetzen :

Zitat:
"Pour déplacer une piece, cliquez sur la case de départ,
puis sur la case d'arrivée. Appuyez sur une touche..."


Danke schön !


Zuletzt bearbeitet von Roland Chastain am 08.06.2012, 19:25, insgesamt einmal bearbeitet
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
isiprimax



Anmeldungsdatum: 02.01.2009
Beiträge: 77

BeitragVerfasst am: 13.12.2011, 01:09    Titel: Antworten mit Zitat

Francis hat Folgendes geschrieben:
Hallo Freunde !

Ich arbeite an eine kurze Hilfe für mein Programm. Es wäre sehr nett wenn jemand kann das auf deutsch übersetzen :

Zitat:
"Pour déplacer une piece, cliquez sur la case de départ,
puis sur la case d'arrivée. Appuyez sur une touche..."


Danke schön !


Mein Frz. ist zwar nicht sonderlich gut, aber ich würde es so schreiben.

"Um eine Figur zu bewegen, klicken sie diese an und auf das Zielfeld auf dem Spielbrett."
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Roland Chastain



Anmeldungsdatum: 05.12.2011
Beiträge: 183
Wohnort: Dakar, Senegal

BeitragVerfasst am: 13.12.2011, 01:40    Titel: Antworten mit Zitat

Danke vielmals. happy
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
nemored



Anmeldungsdatum: 22.02.2007
Beiträge: 4206
Wohnort: ~/

BeitragVerfasst am: 13.12.2011, 17:16    Titel: Antworten mit Zitat

isiprimax hat Folgendes geschrieben:
"Um eine Figur zu bewegen, klicken Sie diese an und auf das Zielfeld auf dem Spielbrett."

"Sie" schreibt man in der Anrede groß. lächeln
Etwas schöner formuliert wäre es aber folgendermaßen:
Zitat:
Um eine Figur zu bewegen, klicken Sie zuerst auf die Figur und dann auf das Zielfeld auf dem Spielbrett.

_________________
Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Projektvorstellungen Alle Zeiten sind GMT + 1 Stunde
Gehe zu Seite 1, 2, 3, 4, 5, 6  Weiter
Seite 1 von 6

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.

 Impressum :: Datenschutz