Autor Beitrag
superfly1989
Hält's aus hier
Beiträge: 6



BeitragVerfasst: Mi 09.10.13 08:24 
Hallo,
ich bin Schüler eines Gymnasium und muss jetzt in Info ein Programm erstellen was wie eine Art Abschlussarbeit werden soll,ich muss aber dazu sagen das ich nicht wirklch Fit bin in diesem Fach also wäre es sinnvoll das dieses Programm nicht allzu schwer ist wenn nicht sogar sehr leicht. Es geht der Lehrerin nicht um ein super tolles Spiel oder Programm sondern die Umsetzung ist ihr wichtig.

Ich hoffe ihr könnt mir helfen.

Danke Robert
Nersgatt
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1581
Erhaltene Danke: 279


Delphi 10 Seattle Prof.
BeitragVerfasst: Mi 09.10.13 08:29 
Willkommen in der Ecke! :welcome:

Na, da ist doch die Auswahl Recht groß. Schau Dich bei den Klassikern um.
Pong, TicTacToe, 4 Gewinnt, Käsekästchen, Galgenraten, etc...

Je nachdem wie viel Zeit Du hast mit oder ohne Computergegner. Oder als Netzwerkversion.

_________________
Gruß, Jens
Zuerst ignorieren sie dich, dann lachen sie über dich, dann bekämpfen sie dich und dann gewinnst du. (Mahatma Gandhi)
superfly1989 Threadstarter
Hält's aus hier
Beiträge: 6



BeitragVerfasst: Mi 09.10.13 08:39 
Hallo,
und Danke.
Ja gut ich finde die Idee mit TicTacToe gut nur gibt es eins der Varianten was umsetzungstechnisch total einfach ist?

Grüße Robert
Nersgatt
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1581
Erhaltene Danke: 279


Delphi 10 Seattle Prof.
BeitragVerfasst: Mi 09.10.13 08:40 
Die Regeln von TicTacToe sollten ja klar sein. Was meinst Du da mit Varianten?

_________________
Gruß, Jens
Zuerst ignorieren sie dich, dann lachen sie über dich, dann bekämpfen sie dich und dann gewinnst du. (Mahatma Gandhi)
superfly1989 Threadstarter
Hält's aus hier
Beiträge: 6



BeitragVerfasst: Mi 09.10.13 08:47 
Ne ich meinte ob es noch andere Spiele gibt die sehr einfach sind, ich stell mir gerade bei TICTACTOE die visuelle Umsetzung total schwer vor.
Nersgatt
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1581
Erhaltene Danke: 279


Delphi 10 Seattle Prof.
BeitragVerfasst: Mi 09.10.13 08:50 
Ich finde TicTacToe jetzt nicht wirklich kompliziert. Das Spielfeld besteht ja nur aus 9 Feldern. Beim Klick auf ein Feld musst Du nur ein Kreuz oder Kreis anzeigen (je nachdem, welcher Spieler am Zug ist). Dazu noch die Prüfung, ob einer der Spieler gewonnen hat. Das war es dann ja schon so im Groben.

Du musst Dir halt überlegen, welches Steuerelement geeignet wäre, um ein Feld auf dem Spielfeld darzustellen.

_________________
Gruß, Jens
Zuerst ignorieren sie dich, dann lachen sie über dich, dann bekämpfen sie dich und dann gewinnst du. (Mahatma Gandhi)
superfly1989 Threadstarter
Hält's aus hier
Beiträge: 6



BeitragVerfasst: Mi 09.10.13 08:53 
Mit Steuerelement meinst du da wie es angezeigt werden soll?
Da wäre ja ein Gitternetz mit 9 Kästchen am sinnvolsten. Nur sowas habe ich noch nicht gemacht.
Unsere Lehrerin war sehr lange Krank und da hatten wir leider immer nur irgendwelche Sachen ohne aufwändige visuelle Ausgabe.
Nersgatt
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1581
Erhaltene Danke: 279


Delphi 10 Seattle Prof.
BeitragVerfasst: Mi 09.10.13 08:57 
Ein Gitternetz wäre sicher eine gute Möglichkeit. Da gäbe es das TStringGrid.
Wenn man es ganz simpel machen will, könnte man auch 9 Textfelder auf die Form legen und ein X oder O darin anzeigen.
Die Möglichkeit mit dem TStringGrid fände ich hübscher. Da musst Du Dich vielleicht etwas in den Verwendung einlesen (F1).

_________________
Gruß, Jens
Zuerst ignorieren sie dich, dann lachen sie über dich, dann bekämpfen sie dich und dann gewinnst du. (Mahatma Gandhi)
superfly1989 Threadstarter
Hält's aus hier
Beiträge: 6



BeitragVerfasst: Mi 09.10.13 09:00 
ok von einem Tstringrid habe ich schonmal gehört.
Wie wäre es denn mit dem Gegner, wenn ich gegen eine reele Person spiele müsste ich ja nur realisieren das der Gegner eine Kreuz oder Kreis setzen kann, aber wenn es gegen den Comp. sein soll, wird es wohl um einiges schwerer.
Nersgatt
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1581
Erhaltene Danke: 279


Delphi 10 Seattle Prof.
BeitragVerfasst: Mi 09.10.13 09:06 
Dann mach doch erst mal eine Version wo Du mit 2 menschlichen Spielern spielst. Das ist ja relativ einfach und Du hast eine Version, die so lauffähig ist und die Du abgeben könntest.

Und dann schaust Du mal, ob Du noch Zeit übrig hast. Wenn ja, kannst Du Dich ja daran machen, das zu verfeinern. Du könntest den Computergegener nachrüsten. Oder eine Highscoreliste. Sorg halt dafür, dass Du Zwischenstände hast, die so für sich funktionieren und die Du abgeben könntest, wenn Dir die Zeit davon läuft.

_________________
Gruß, Jens
Zuerst ignorieren sie dich, dann lachen sie über dich, dann bekämpfen sie dich und dann gewinnst du. (Mahatma Gandhi)
superfly1989 Threadstarter
Hält's aus hier
Beiträge: 6



BeitragVerfasst: Mi 09.10.13 09:11 
Ja ok ,ich versuche mal so eine Version zu bauen, ich habe noch ca. 6 Wochen Zeit. Wenn ich eine Frage habe werde ich mich mal wieder melden. Danke aufjedenfall
Mathematiker
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 2622
Erhaltene Danke: 1447

Win 7, 8.1, 10
Delphi 5, 7, 10.1
BeitragVerfasst: Mi 09.10.13 09:50 
Hallo,
user profile iconsuperfly1989 hat folgendes geschrieben Zum zitierten Posting springen:
Unsere Lehrerin war sehr lange Krank und da hatten wir leider immer nur irgendwelche Sachen ohne aufwändige visuelle Ausgabe.

Bei solchen Aussagen bekomme ich immer Probleme. Ja, ja, die Lehrer! :twisted:
Ihr bekommt doch nur Aufgaben, die ihr auch erfüllen könnt! Also bitte nicht auf die Lehrer schieben.

Zum Thema Tic-Tac-Toe: Einen Computergegner zu programmieren ist nicht trivial. Dafür brauchst Du schon einige Kenntnisse. Ich vermute daher, dass das nichts wird. Ansonsten ist die Idee eines Tic-Tac-Toes schon schön.

Alternative Vorschläge:
1. ein "Fang"-Spiel: ein Kreis (evtl. TShape) springt timergesteuert im Formular hin und her. Mit einem Mausklick muss der Kreis erwischt werden. Die Geschwindigkeit des Timers und die Größe des Kreises können verändert werden. Die Anzahl der Versuche wird gezählt.

2. "Türme von Hanoi": die drei Türme von Hanoi werden mit evtl. 5 Scheiben dargestellt (TPaintbox oder auch mehrere TShape). Mit der Maus wird die zu verschiebende Scheibe ausgewählt und ebenso die Zielstange.
Die Anzahl der Versuche wird gezählt. Das Problem ist, dass Du prüfen musst, ob die jeweilige Scheibe den Regeln entsprechend umgelegt werden kann, usw...

3. "Galgenraten": in einer Liste/Listbox (unsichtbar machen) werden evtl. 50 Begriffe abgelegt. Einer wird per Zufall ermittelt und für jeden Buchstaben ein Zeichen (z.B. #) angezeigt. Die Eingabe der Buchstaben geht über eine Edit-Zeile oder aber (aufwendiger) über 26 Schalter für jeden Buchstaben. Die Schalter haben den Vorteil, dass Du sie unsichtbar machen kannst, wenn ein Buchstabe gewählt wurde. Erneut werden die Versuche gezählt.

4. "Reflexion einer Kugel": Ein Kreis bewegt sich im Formular (Winkel 45° !!!) und wird an den Rändern reflektiert. Mit einem mit der Maus verschiebbaren Balken (TPanel, TShape) wird versucht die Kugel zu erreichen.
usw. usf.

Beste Grüße
Mathematiker

_________________
Töten im Krieg ist nach meiner Auffassung um nichts besser als gewöhnlicher Mord. Albert Einstein
Delphi-Laie
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 1600
Erhaltene Danke: 232


Delphi 2 - RAD-Studio 10.1 Berlin
BeitragVerfasst: Fr 11.10.13 15:58 
user profile iconMathematiker hat folgendes geschrieben Zum zitierten Posting springen:
Zum Thema Tic-Tac-Toe: Einen Computergegner zu programmieren ist nicht trivial. Dafür brauchst Du schon einige Kenntnisse.


Denn letztlich muß man dabei künstliche Intelligenz hineinprogrammieren. Kenntnisse benötigt man dabei eigentlich nur der Spielregeln, die Spiellogik in Form der künstlichen Intelligenz ist freie intellektuelle Kreativität - und zwar was für eine!

Ich diskutierte einmal vehement, ich glaube, daß es in diesem Forum war, mit welchen, die ganz stolz "Blatt-Stein-Schere" (oder ähnlich bezeichnet) programmiert zu haben glaubten. Das einzige, was fast alle dieser Enthusiasten dabei tatsächlich programmierten, war der formale Spielablauf, nur einer wertete die Benutzereingaben rudimentär statistisch aus. Denn das Spiel benötigt interne Intelligenz, wenn der Computer ein nennenswerter Gegner sein soll, das bedeutet, das er auch zu gewinnen beabsichtigt. Wenn man jedoch gegen einen reinen Zufallsgenerator "spielt", dann kann man ebensogut einen Würfel oder eine Münze werfen - totlangweilig, und eine echte, erkämpfte Gewinnchance hat man dabei ebensowenig wie der Computer.

Simpler ist es deshalb, nur ein Spiel zu programmieren, das man mit sich selbst spielt - man programmiert damit nur die Emulation der Spielumgebung, der Spielgrundlagen, z.B. Spielbrett und Spielfiguren, und eben nichts in bezug auf den Spielverlauf. Ich programmierte seinerzeit - in den 90ern - das schwedische Steckhalma, auch Solitär / Solitaire (nicht zu verwechseln mit dem gleichnamigen Kartenspiel) erfolgreich. Oder man programmiert ein Spiel, bei dem zwei Leute ein Spielfeld benutzen. Sollte man dabei aber die Überwachung der Spielregeln mit hineinprogrammieren wollen, hat es allein das schon bei komplexeren Spielen (Mühle, Halma, Schach, Dame, Go usw.) teilweise heftig in sich.
Perlsau
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Fr 11.10.13 19:58 
Jann1k
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 866
Erhaltene Danke: 43

Win 7
TurboDelphi, Visual Studio 2010
BeitragVerfasst: Sa 12.10.13 11:02 
Künstliche Intelligenz ist für TicTacToe schon ganz schön hoch gegriffen, ein einfacher Suchbaum reicht ja schon bei der Handvoll an Möglichkeiten xkcd.com/832/