Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Software-Projekte der Mitglieder (https://www.delphipraxis.net/26-software-projekte-der-mitglieder/)
-   -   Vier-in-einer-Reihe (https://www.delphipraxis.net/180056-vier-einer-reihe.html)

Roland Chastain 19. Apr 2014 10:56


Vier-in-einer-Reihe
 
Liste der Anhänge anzeigen (Anzahl: 2)
Hallo! Da ist mein Vier-in-einer-Reihe für Delphi.

CocoPops 19. Apr 2014 14:11

AW: Vier-in-einer-Reihe
 
Sehr interessant.
Ich habe mir jetzt nur die ausführbare Datei angesehen und nicht den Quelltext.
Aber mir ist aufgefallen, dass wenn weiß und schwarz automatisch gesetzt werden, das SPiel immer mit weiß bei D beginnt und weiß immer gewinnt (das Spiel verläuft immer gleich).

Roland Chastain 19. Apr 2014 15:11

AW: Vier-in-einer-Reihe
 
Zitat:

Zitat von CocoPops (Beitrag 1256240)
Sehr interessant.

Danke!

Zitat:

Zitat von CocoPops (Beitrag 1256240)
Aber mir ist aufgefallen, dass wenn weiß und schwarz automatisch gesetzt werden, das Spiel immer mit weiß bei D beginnt und weiß immer gewinnt (das Spiel verläuft immer gleich).

Ja, das ist richtig. Es gibt kein Zufall in Computerzügen.

himitsu 19. Apr 2014 15:22

AW: Vier-in-einer-Reihe
 
Ich glaub bei mir gewann vorhin immer Schwarz.
Und wenn man bei der Automatik ganz oft auf einen Knopf drückt, dann schafft man es die Automatik zu steuern.
Wobei die Automatik irgendwie nie "selbstständig" auf G setzt.


Aber ansonsten würde es nicht schaden, wenn noch ein paar Worte zu dem Programm gesagt würden.

Roland Chastain 19. Apr 2014 16:04

AW: Vier-in-einer-Reihe
 
Zitat:

Zitat von himitsu (Beitrag 1256244)
Aber ansonsten würde es nicht schaden, wenn noch ein paar Worte zu dem Programm gesagt würden.

Danke für deine Antwort! Ich möchte mehr sagen, aber es ist mir schwer deutsch zu sprechen. Entschuldigung!

Und es gibt nicht viele Sachen zu sagen. Der Titel sagt alles. :)

Der Motor (oder der Computergegner) ist ein DLL. Siehe .\Sources\Moteur.dpr.

Ich habe vergessen, den Text zu übersetzen. :oops:

Code:
  EnCours := 'Spiel läuft.';
  BlancGagne := 'Weiß gewinnt.';
  NoirGagne := 'Schwarz gewinnt.';
  GrillePleine := 'Remis.';
 
  CheckBox1.caption := 'Weiß automatisch';
  CheckBox2.caption := 'Schwarz automatisch';
Frohe Ostern!

Roland Chastain 17. Apr 2015 19:00

AW: Vier-in-einer-Reihe
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo! Da ist eine neue Version meines Programms. Nun es verwendet Velena als Spiel-Engine. Bitte siehe README.txt für mehr Detail.

Roland Chastain 6. Apr 2017 21:14

AW: Vier-in-einer-Reihe
 
Hallo! Ich habe mein Programm wieder bearbeitet. Bitte sehen Sie die erste Beitrag.

Roland Chastain 7. Apr 2017 12:04

AW: Vier-in-einer-Reihe
 
Bitte austauschen Sie

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
  if gEtatDuJeu <= gsBlackToMove then
    JouerCoup((Sender as TButton).Tag);
end;
gegen

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  x: integer;
begin
  if gEtatDuJeu <= gsBlackToMove then
  begin
    x := (Sender as TButton).Tag;
    if gGrille[x, 6] = NEANT then
      JouerCoup(x);
  end;
end;

Roland Chastain 11. Apr 2017 08:05

AW: Vier-in-einer-Reihe
 
Hier ist eine neue Version. Jetzt können Sie sehen die Stücke fallen. :)
Bitte beachten Sie den ersten Beitrag.

Michael II 16. Apr 2017 18:02

AW: Vier-in-einer-Reihe
 
Hallo ins Forum

"Vier gewinnt" ist leider kein spannendes Spiel in Sachen Spieltheorie. Das Spiel ist - wie zum Beispiel auch Mühle - gelöst.

http://www.informatik.uni-trier.de/~...iergewinnt.pdf

Es gibt aber zahlreiche Probleme in der Mathematik, welche noch auf eine Lösung warten. Vielleicht könnte man sich hier im Forum ja mal auf eins einigen und das Ding dann mit viel Grips und Delphi lösen :-D.

DualCoreCpu 16. Apr 2017 18:12

AW: Vier-in-einer-Reihe
 
Seit langem mal wieder hier und mitgelesen.

Michael II, mir fällt als ungelöstes Problem gerade das mit dem Barbier ein, der alle Leute im Dorf rasiert, die sich nicht selber rasieren.

Das wird gerne für das Konstrukt: Menge aller Mengen herangezogen zur Erklärung.

Wenn die Menge sich selber NICHT als Element enthält, sollte das Problem ja lösbar sein.

Der Barbier rasiert alle Leute im Dorf, die sich nicht selber rasieren. Der Wiederspruch ist klar, es kann nicht beantwortet werden, ob der Barbier sich rasiert.

Was aber wenn dieser Barbier NICHT in diesem Dorf wohnt????

Wird für dieses Problem nicht davon ausgegangen dass dieser Barbier im selben Dorf wohnt? Tut er das nicht, ist er nicht Element der Menge und das Problem ist lösbar. Wohnt er im Dorf, bleibt der Widerspruch bestehen.

Sherlock 18. Apr 2017 07:00

AW: Vier-in-einer-Reihe
 
Und in welchem Spiel wird das gebraucht?

Sherlock

JasonDX 18. Apr 2017 07:59

AW: Vier-in-einer-Reihe
 
Ich versteh auch gerade nicht den Zusammenhang - zumal das auch nicht wirklich ein "ungelöstes Problem" ist. Cantor und Gödel haben sich mit den mathematischen Modellierungen des Problems ausreichend beschäftigt (Wobei ich nur empfehlen kann, sich da durchzuwühlen :) )

Ein "ungelöstes" Problem wäre z.B. die Collatz-Vermutung. Lässt sich zwar nicht einfach auf ein Spiel abbilden, aber bietet Potential, Mathematik und Programmierung zu verbinden.

BrightAngel 18. Apr 2017 11:46

AW: Vier-in-einer-Reihe
 
Das muss ja kein "ungelöstes" Problem sein. Es kann ja auch einfach was schön spaßig Komplexes sein. Zum Beispiel Sudoku Generatoren und/oder Solver. Da gibt es zwar auch schon Algorithmen, aber es bringt einen ja auch manchmal einfach weiter, wenn man seinen eigenen Kopf ein wenig bemüht. Sudoku hat zum Beispiel den Charme, dass man zum Beispiel mit verschiedenen Schwierigkeitsleveln konfrontiert ist und diese sich tatsächlich in der Komplexität der Bedingungen wiederspiegeln. Zudem kann man durch eine klare Objektorientierung sehr gut das Abstrahieren und Generalisieren üben. :)

Brighty

Michael II 18. Apr 2017 12:17

AW: Vier-in-einer-Reihe
 
Collatz (3n+1 Problem) finde ich durchaus spannend. Aber da du die Vermutung für alle natürlichen Zahlen beweisen musst, ist wohl vorher ein wenig Denkarbeit nötig bevor du Delphi zu Hilfe nimmst :-D; sonst wird das ewig dauern ;-). (Eigentlich musst du ja nur zeigen, dass es zu jeder natürlichen Zahl n eine Zahl k gibt, für welche f^k(n) < n gilt.

In der algebraischen Topologie (immer noch "relativ neu") gäbe es momentan einige Dinge, welche eher der Suche nach der Nadel im Heuhaufen gleichen. Und da könnte Delphi schon helfen bei der Suche nach (der nicht unbedingt vorhandenen) Nadel.

DualCoreCpu 18. Apr 2017 17:22

AW: Vier-in-einer-Reihe
 
Zitat:

Zitat von Sherlock (Beitrag 1368010)
Und in welchem Spiel wird das gebraucht?

Sherlock

Keine Ahnung, aber

Zitat:

Zitat von Michael II
Es gibt aber zahlreiche Probleme in der Mathematik, welche noch auf eine Lösung warten. Vielleicht könnte man sich hier im Forum ja mal auf eins einigen und das Ding dann mit viel Grips und Delphi lösen


Da fiel mir halt spontan (einfach so beim Lesen hier) das von mir genannte Problem ein.

Ein anderes wäre eine 3D Landschaft, die dann wieder durchaus in einem Spiel verwendet werden könnte.

Das dürfte aber bereits gelöst sein, oder???

Roland Chastain 20. Apr 2017 11:47

AW: Vier-in-einer-Reihe
 
Hallo! Hier ist eine neue Version meiner bescheidenen Programm. :)

Jetzt können wir die Menüsprache ändern. Aber ich bin nicht in der Lage die deutsche Version zu machen. Hat jemand die Freundlichkeit und die Zeit für mich zu tun?

Delphi-Quellcode:
unit langage;

interface

type
  TLanguage = (
    lEnglish,
    lFrench,
    lGerman
  );
 
  TText = (
    txtWhite,
    txtBlack,
    txtWhiteWins,
    txtBlackWins,
    txtDraw,
    txtGame,
    txtNewGame,
    txtExit,
    txtOptions,
    txtComputerWhite,
    txtComputerBlack,
    txtEnglish,
    txtFrench,
    txtGerman,
    txtDisable,
    txtHighest,
    txtHelp,
    txtAbout
  );

function GetText(const aText: TText; const aLanguage: TLanguage): string;

implementation

const
  DATA: array[TText, TLanguage] of string = (
    ('White to move.', 'Trait au Blanc.', 'Weiß am Zug.'), // txtWhiteToMove
    ('Black to move.', 'Trait au Noir.', 'Schwarz am Zug.'), // txtBlackToMove
    ('White wins.', 'Le Blanc gagne.', 'Weiß gewinnt.'), // txtWhiteWins
    ('Black wins.', 'Le Noir gagne.', 'Schwarz gewinnt.'), // txtBlackWins
    ('Draw.', 'Partie remise.', 'Remis.'), // txtDraw
   
    ('Game', 'Jeu', 'Game'), // txtGame
    ('New game', 'Nouvelle partie', 'New game'), // txtNewGame
    ('Exit', 'Quitter', 'Exit'), // txtExit
    ('Options', 'Options', 'Options'), // txtOptions
    ('Computer plays White', 'L''ordinateur joue les pions blancs', 'Computer plays White'), // txtComputerWhite
    ('Computer plays Black', 'L''ordinateur joue les pions noirs', 'Computer plays Black'), // txtComputerBlack
    ('English', 'Anglais', 'English'), // txtEnglish
    ('French', 'Français', 'French'), // txtFrench
    ('German', 'Allemand', 'German'), // txtGerman
    ('Disable animation', 'Désactiver l''animation', 'Disable animation'), // txtDisable
    ('Highest animation speed', 'Vitesse d''animation maximale', 'Highest animation speed'), // txtHighest
    ('Help', 'Aide', 'Help'), // txtHelp
    ('About', 'À propos', 'About') // txtAbout
  );

Jumpy 20. Apr 2017 13:21

AW: Vier-in-einer-Reihe
 
reicht das so?

Delphi-Quellcode:
    ('Game', 'Jeu', 'Spiel'), // txtGame
    ('New game', 'Nouvelle partie', 'Neues Spiel'), // txtNewGame
    ('Exit', 'Quitter', 'Beenden'), // txtExit
    ('Options', 'Options', 'Optionen'), // txtOptions
    ('Computer plays White', 'L''ordinateur joue les pions blancs', 'Computer spielt weiß'), // txtComputerWhite
    ('Computer plays Black', 'L''ordinateur joue les pions noirs', 'Computer spielt schwarz'), // txtComputerBlack
    ('English', 'Anglais', 'Englisch'), // txtEnglish
    ('French', 'Français', 'Französisch'), // txtFrench
    ('German', 'Allemand', 'Deutsch'), // txtGerman
    ('Disable animation', 'Désactiver l''animation', 'Animation ausschalten'), // txtDisable
    ('Highest animation speed', 'Vitesse d''animation maximale', 'Höchste Animationsgeschwindigkeit'), // txtHighest
    ('Help', 'Aide', 'Hilfe'), // txtHelp
    ('About', 'À propos', 'Über') // txtAbout

Sherlock 20. Apr 2017 13:54

AW: Vier-in-einer-Reihe
 
Magst Du nicht lieber die Übersetzungen außerhalb des Quellcodes veranstalten? Delphi bietet dazu den Delphi-Referenz durchsuchenresourcestring und es gibt einige Übersetzungswerkzeuge, die damit zu ausgezeichneten Lokalisierungen kommen. Weil das da oben hat man vor 20 Jahren so gemacht...

Ich google das schnell mal für Dich...

Sherlock

Sherlock 20. Apr 2017 14:10

AW: Vier-in-einer-Reihe
 
Eigentlich braucht man gar nicht so weit zu gehen, wie ich erst annahm. Schau Dir die Online-Hilfe zum Thema Übersetzungen an (http://docwiki.embarcadero.com/RADSt...ger_in_der_IDE).

Ich würde ohnehin so einigen hier empfehlen wollen, die Anwendungen auf Deutsch zu schreiben, und die Übersetzung anderen zu überlassen. ;) Insofern begrüße ich Deinen Schritt ungemein! :thumb:

Sherlock

Roland Chastain 20. Apr 2017 14:44

AW: Vier-in-einer-Reihe
 
@Jumpy
Vielen Dank für die Übersetzung! :thumb:

@Sherlock
Vielen Dank für den Tipp! Ich werde es studieren. :wink:

Aktualisierte Dateien. Bitte beachten Sie die erste Nachricht.

Benedikt Magnus 23. Apr 2017 10:41

AW: Vier-in-einer-Reihe
 
Warum sehe ich diesen Thread jetzt erst?

Wunderbare Arbeit! Gefällt mir sehr! :thumb:

Ich habe auch mal so etwas gemacht, noch gar nicht so lange her: Sieh hier.

Michael II 23. Apr 2017 12:08

AW: Vier-in-einer-Reihe
 
Und jetzt bitte ein gutes 5gewinnt... :-D.

Bei 5gewinnt - im Gegensatz zu 4gewinnt immer noch ein "ungelöstes" Spiel - werden auch immer wieder Computermeisterschaften gespielt:

https://en.wikipedia.org/wiki/Gomoku


Alle Zeitangaben in WEZ +1. Es ist jetzt 06: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