Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Software-Projekte der Mitglieder (https://www.delphipraxis.net/26-software-projekte-der-mitglieder/)
-   -   schach spiel (https://www.delphipraxis.net/38904-schach-spiel.html)

gekmihesg 25. Jan 2005 21:06


schach spiel
 
Liste der Anhänge anzeigen (Anzahl: 1)
hallo. ich habe hier mal ein kleines schachspiel mit KI programmiert.
die KI ist noch etwas langsam aber sie erfüllt ihren zweck.

wer will kann auch mal den source haben.

probierts einfach mal aus!

malo 25. Jan 2005 21:09

Re: schach spiel
 
Also der Source interessiert mich ja brennend :)


Kleiner Tipp für die ToDo-Liste: Bau verschiedene Schwierigkeitsgrade ein. Auf niedrigem Schwierigkeitsgrad sollte die KI bedeutend schneller laufen. Und in der Zeit, in der ich hier tippe, hat die KI gerade mal die Hälfte geladen :roll:


Sieht aber recht schick aus, bis auf dass die Figuren nicht Schwarz und weiß sind, wie beim normalen Schach, sondern blau und rot :wall:

//Edit: Kann es sein, dass die KI mich einfach Schachmatt setzt und ich mich gar nicht wehren kann? :shock:

gekmihesg 25. Jan 2005 21:12

Re: schach spiel
 
hmmm vielleicht bist du ja nicht gut genug?
also ich gewinn schon hin und wieder...

malo 25. Jan 2005 21:13

Re: schach spiel
 
Zitat:

Zitat von gekmihesg
hmmm vielleicht bist du ja nicht gut genug?
also ich gewinn schon hin und wieder...

Also ich hab grad irgendwo hingeklickt und dann stand da "Schachmatt mit XXX Zügen" (die genaue Zahl hab ich vergessen). Aber ich konnte nichts machen :wall:

Ich versuch das mal zu rekonstruieren und nen Screenshot zu machen ;)

malo 25. Jan 2005 21:18

Re: schach spiel
 
Liste der Anhänge anzeigen (Anzahl: 1)
So, habs als Attachment. Ich hab nur auf eine Figur geklickt!!!



PS: Sry 4 Doppelpost :oops:

PierreB 25. Jan 2005 21:19

Re: schach spiel
 
Hallo,

du solltest vielleicht noch nen Abbrechen-Button einbauen, denn während die KI "nachdenkt" lässt sich das Programm nicht beenden. (außer mit dem Taskmanager ;) )
Und eine Art Punktsystem könntest du auch noch einbauen.

Kernel32.DLL 25. Jan 2005 21:29

Re: schach spiel
 
Liste der Anhänge anzeigen (Anzahl: 1)
"Denke nach..."

*In der Zwischenzeit Pizza hol'*

Die KI ist verdammt langsam, zumindestens bei mir... Daran solltest du vllt. noch arbeiten...

Was ist das denn?

"Schachmatt in 729 Zügen."

Ich hab' doch nur auf einen rosa (roten) Bauern geklickt...

gekmihesg 25. Jan 2005 21:32

Re: schach spiel
 
hmmm sehr komisch...
wie konnte das nur passieren?

aber die ki is ziemlich gut (;))
vielleicht liegts daran...

Chegga 25. Jan 2005 21:38

Re: schach spiel
 
Zitat:

Zitat von Kernel32.DLL
"Denke nach..."

*In der Zwischenzeit Pizza hol'*

:shock:

Was heißt da "Pizza hol"?
Eher so:
10 min Ofen vorheizen -> Pizza reintun -> 15 min warten -> 3 min warten bis die Pizza abkühlt -> innerhalb 10 min essen :mrgreen:

Danach habe ich einen Ladebalken... :zwinker:

MfG Marc

stefan2005 25. Jan 2005 21:39

Re: schach spiel
 
hi,
na ja was macht denn die KI die ganze Zeit ?
sie überlegt ne halbe Stunde (ok, bei 1 GHz ca. 2 min.) und dann kommt ne MessageBox, in wievielen Zügen man Schachmatt gesetzt wurde/worden wäre wenn man keinen Zug hat !?
oder ich hab das nicht ganz verstanden...

auf jedenfall nochmal ein bisschen überarbeiten ;)

cu,
stefan2005

Airblader 25. Jan 2005 21:41

Re: schach spiel
 
Ich bin im Schachverein, aber checke das hier nich ganz :|

Also, wenn ich die exe öffne, dann ist erstmal das Fenster zu klein :)

Aber egal welche Figur (rot/blau) ich nehmen will, egal auf welche art(drag&drop / klick&klick)
Es kommt immer "Denke nach"

Ich wollte die KI gar nich zu Ende rechnen lassen ;)

Hat die KI denn weiß ?
Wenn ja, starte sie automatisch

air

Kernel32.DLL 25. Jan 2005 21:42

Re: schach spiel
 
Zitat:

Zitat von Chegga
Zitat:

Zitat von Kernel32.DLL
"Denke nach..."

*In der Zwischenzeit Pizza hol'*

:shock:

Was heißt da "Pizza hol"?
Eher so:
10 min Ofen vorheizen -> Pizza reintun -> 15 min warten -> 3 min warten bis die Pizza abkühlt -> innerhalb 10 min essen :mrgreen:

Danach habe ich einen Ladebalken... :zwinker:

MfG Marc

Oh Cool! Du hast das Programm auf deinem Taschenrechner zum laufen bekommen?

Chegga 25. Jan 2005 21:47

Re: schach spiel
 
Hi,

das mit dem Taschenrechner bleibt jetzt mal unkommentiert... :roll:
Hm... ich habe den Spielzug "Rochade" vermisst. :wink:
(Aber alles zu seiner Zeit :cheers: )

MfG Marc

gekmihesg 25. Jan 2005 21:49

Re: schach spiel
 
Liste der Anhänge anzeigen (Anzahl: 1)
hmmm alles sehr sehr komisch.
vielleicht findet ihr ja den fehler im source...
aber eigendlich geht alles so wies soll...

Kernel32.DLL 25. Jan 2005 21:50

Re: schach spiel
 
Zitat:

Zitat von Chegga
das mit dem Taschenrechner bleibt jetzt mal unkommentiert... :roll:

Och schade... :mrgreen:


Aber trotzdem wäre interessant, wie der Autor ein Spiel gewinnen kann. Das hat er ja wie er selbst sagt...

[Edit]da war ich wohl zu spät...[/Edit]

Chegga 25. Jan 2005 21:59

Re: schach spiel
 
Hi,

dieser Source gefällt mir überhaupt nicht:

Delphi-Quellcode:
showmessage('Schachmatt nach '+inttostr(random(2000)+500)+' Zügen.');
Es ist also egal was man macht,
es erscheint immer die Meldung, dass man in Random(2000)+500 Zügen besiegt wurde. :roll:
Oder ist das der Sinn und Zweck des Spiels?? :gruebel:

MfG Marc

PierreB 25. Jan 2005 22:04

Re: schach spiel
 
Im großen und ganzen heißt das, dass es eigentlich gar kein Schachspiel ist ?
Also es geht nicht ?

(Ich bin einfach zu ungeduldig um abzuwarten obs geht :roll: )

Kernel32.DLL 25. Jan 2005 22:06

Re: schach spiel
 
Das heißt denn ja eigentlich auch, das nicht wirklich eine Berechnung vorgenommen wird, oder?

*sich den source anguck'*

Kernel32.DLL 25. Jan 2005 22:10

Re: schach spiel
 
ähm... gekmihesg, ich weiß ja nicht, ob du's wusstest, aber Schach ist kein Glücksspiel! Dein Programm schon!

Binärbaum 25. Jan 2005 22:12

Re: schach spiel
 
Wenn die zahl zufällig ist, was macht das Programm eigentlich in der zeit, wo man den ladebalken sieht :?: Bei mir waren es z.B. 1938 Züge bis zum Schachmatt, solange dauert kein normales Schachspiel, die sind nach vielleicht 50 Zügen vorbei.

MfG
Binärbaum

Kernel32.DLL 25. Jan 2005 22:14

Re: schach spiel
 
Zitat:

Zitat von Binärbaum
Wenn die zahl zufällig ist, was macht das Programm eigentlich in der zeit, wo man den ladebalken sieht :?: Bei mir waren es z.B. 1938 Züge bis zum Schachmatt, solange dauert kein normales Schachspiel, die sind nach vielleicht 50 Zügen vorbei.

MfG
Binärbaum

Das macht es:

Delphi-Quellcode:
  for i := 0 to 100 do
    begin
      wait(50);
      progressbar1.Position := i;
    end;
[Edit]Goil, mein 333. Post. Ich bin schon "Half Evil!" :twisted: [/Edit]

malo 25. Jan 2005 22:17

Re: schach spiel
 
Zitat:

Zitat von Binärbaum
Wenn die zahl zufällig ist, was macht das Programm eigentlich in der zeit, wo man den ladebalken sieht :?: Bei mir waren es z.B. 1938 Züge bis zum Schachmatt, solange dauert kein normales Schachspiel, die sind nach vielleicht 50 Zügen vorbei.

MfG
Binärbaum

Ähm, hast du Profis Schachspielen gesehen? Die machen locker mal hunderte Züge weg, spielen dafür aber auch ein paar Stunden :roll:

Kernel32.DLL 25. Jan 2005 22:21

Re: schach spiel
 
Zitat:

Zitat von malo
Zitat:

Zitat von Binärbaum
Wenn die zahl zufällig ist, was macht das Programm eigentlich in der zeit, wo man den ladebalken sieht :?: Bei mir waren es z.B. 1938 Züge bis zum Schachmatt, solange dauert kein normales Schachspiel, die sind nach vielleicht 50 Zügen vorbei.

MfG
Binärbaum

Ähm, hast du Profis Schachspielen gesehen? Die machen locker mal hunderte Züge weg, spielen dafür aber auch ein paar Stunden :roll:

Stimmt schon, ändert aber nichts an der Tatsache, dass diese Programm eine ...ähm.... "Mogelpackung" ist.

Binärbaum 25. Jan 2005 22:24

Re: schach spiel
 
Zitat:

Zitat von malo
Zitat:

Zitat von Binärbaum
Wenn die zahl zufällig ist, was macht das Programm eigentlich in der zeit, wo man den ladebalken sieht :?: Bei mir waren es z.B. 1938 Züge bis zum Schachmatt, solange dauert kein normales Schachspiel, die sind nach vielleicht 50 Zügen vorbei.

MfG
Binärbaum

Ähm, hast du Profis Schachspielen gesehen? Die machen locker mal hunderte Züge weg, spielen dafür aber auch ein paar Stunden :roll:

Naja, also bei manchen Spielen kann das ja so sein, aber in der Regel sind es kaum mehr als 100 Züge. Eigentlich wollte ich damit nur sagen, dass die Zahlen, die das "Schachprogramm" ausspuckt, weit von der Realität entfernt sind, denn ein guter Schachspieler braucht keine 1900 Züge, um seinen Gegenspieler Matt zu setzen.

Nicodius 25. Jan 2005 22:25

Re: schach spiel
 
lol .. was isn das für n progg???

Chegga 25. Jan 2005 22:31

Re: schach spiel
 
Zitat:

Zitat von Nicodius
lol .. was isn das für n progg???

Du meintest wohl "Progg" :wink:
Das ist mehr ein Zufallsgenerator mit Ladefunktion. :mrgreen:

MfG Marc

Binärbaum 25. Jan 2005 22:31

Re: schach spiel
 
Also ein Schachprogramm sollte sich eigentlich darauf konzentrieren, den (menschlichen) Gegenspieler zu besiegen oder möglichst in Schach zu halten (letzteres im doppelten Sinne).
Dabei ist es eher unwichtig, in wievielen Zügen das Programm ein Matt voraussichtlich erreicht.

MfG
Binärbaum

PierreB 25. Jan 2005 22:36

Re: schach spiel
 
Zitat:

Das ist mehr ein Zufallsgenerator mit Ladefunktion.
Ich würde sagen dieses Programm ist eine Simulation eines Schachbrettes...

:mrgreen:

Kernel32.DLL 25. Jan 2005 22:41

Re: schach spiel
 
Zitat:

Zitat von Binärbaum
Also ein Schachprogramm sollte sich eigentlich darauf konzentrieren, den (menschlichen) Gegenspieler zu besiegen

Das tut das Programm ja zweifelslos... :wink:

Binärbaum 25. Jan 2005 23:00

Re: schach spiel
 
Zitat:

Zitat von Kernel32.DLL
Zitat:

Zitat von Binärbaum
Also ein Schachprogramm sollte sich eigentlich darauf konzentrieren, den (menschlichen) Gegenspieler zu besiegen

Das tut das Programm ja zweifelslos... :wink:

Nur nicht auf die Art und Weise, wie man es sich vorstellt :wink:
Da gibt man sich ja schon geschlagen, wenn man sieht dass es noch 2000 oder mehr Züge dauert. Und selbst wenn man die Geduld dazu hätte: bis dahin hat sich Windows garantiert min. einmal aufgehängt und der Spaß beginnt von vorn.

MfG
Binärbaum

gekmihesg 26. Jan 2005 15:44

Re: schach spiel
 
ich weis nich was ihr habt.

- man hat ein schachbrett
- man hat figuren
- es dauert lange
- man kann sich über die technik unterhalten
- man kann viel zeit damit verbringen

=> das ganze ist ein 1A schachspiel ;)

Ultimator 26. Jan 2005 15:49

Re: schach spiel
 
:wall: AIIIIIEEEEEEE!

Aber keine schlechte Idee :mrgreen:

SubData 26. Jan 2005 15:55

Re: schach spiel
 
Knüller des Monats -g-

Die Muhkuh 26. Jan 2005 15:57

Re: schach spiel
 
Die einen nennen es ein 1A Schachspiel, die anderen die größte Verscharschung die es gibt. :mrgreen:

StanY 26. Jan 2005 16:03

Re: schach spiel
 
sehr, sehr geil :D :D

Meflin 26. Jan 2005 16:05

Re: schach spiel
 
Zitat:

Zitat von Spider
Die einen nennen es ein 1A Schachspiel, die anderen die größte Verscharschung die es gibt. :mrgreen:

kennt ihr miene türme-von-hanoi simulation mit 2048 Scheiben schon :mrgreen:

okok, off topic

Rastaman 26. Jan 2005 16:31

Re: schach spiel
 
Hab mich schon gewundert wieso das so klein ist :roll:

Neutral General 26. Jan 2005 16:47

Re: schach spiel
 
Delphi-Quellcode:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ComCtrls, ExtCtrls;

type
  TForm1 = class(TForm)
    Image1: TImage;
    ProgressBar1: TProgressBar;
    procedure Image1Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure wait(time: Dword);
var start: DWord;
begin
  start := gettickcount;
  while gettickcount - start < time do
    application.ProcessMessages;
end;

procedure TForm1.Image1Click(Sender: TObject);
var i: integer;
begin
  image1.Enabled := false;
  caption := 'Denke Nach...';
  for i := 0 to 100 do
    begin
      wait(300000);
      progressbar1.Position := i;
    end;
  showmessage('Schachmatt nach '+inttostr(random(2000)+500)+' Zügen.');
  image1.Enabled := true;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  randomize;
end;

end.
Ähm tut mir leid aber willst du uns verarschen ?? :roll:
Das Schachbrett ist ein Image mit einem Bild von einem Schachbrett mit Figuren.
Wenn man draufklickt dauerts erst ma 5 min in der Zeit "denkt" der PC und dann bekommt man ne zufällige Zahl an den Kopf geworfen??? Das kanns doch nicht sein :wall:

Übrigens du kannst deinen Code verkürzen

Delphi-Quellcode:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ComCtrls, ExtCtrls;

type
  TForm1 = class(TForm)
    Image1: TImage;
    ProgressBar1: TProgressBar;
    procedure Image1Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure wait(time: Dword);
var start: DWord;
begin
  start := gettickcount;
  while gettickcount - start < time do
    application.ProcessMessages;
  Form1.Progressbar1.Position := Progressbar1.Position +1;
end;

procedure TForm1.Image1Click(Sender: TObject);
var i: integer;
begin
  caption := 'Denke Nach...';
  wait(50);
  showmessage('Die zufällige sinnlose Zahl lautet : ' +inttostr(random(2000)+500));
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  randomize;
end;

end.
Keine Garantie das das so läuft aber kürzer isses :mrgreen:
Dein Programm ist nicht mehr als ein Zufallszahlengenerator der für eine Zahl 5min braucht und als Hintergrundbild ein Bild von einem Schachbrett ist :wall: :wall:

Sorry aber du nennst sowas nicht ernsthaft "1A Schachspiel" oder ??
Ich könnt mich dadrüber den ganzen Tag ärgern... sowas ernsthaft als ein Schachspiel ausgeben und vorstellen :wall: :wall:

Arghh sorry aber das musste sein :roll:


[edit157]Ach das war gar nicht ernst gemeint ... Naja besonders witzig isses aber nicht :roll:
Programmier lieber ein richtiges Schachspiel :roll: :wall: [/edit157]

[edit158] wisst ihr was ? Vergesst einfach diesen Post... :mrgreen: [/edit158]

Rastaman 26. Jan 2005 16:53

Re: schach spiel
 
Zitat:

Dein Programm ist nicht mehr als ein Zufallszahlengenerator der für eine Zahl 5min braucht und als Hintergrundbild ein Bild von einem Schachbrett ist
Darüber reden wir ja die Hälfte des Posts :-D

freak4fun 26. Jan 2005 17:11

Re: schach spiel
 
Tja, war wohl nix mit Chessmaster2005. :gruebel:

MfG
fR34k


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:58 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz