Delphi-Version: 5
tic tac toe.... mal wieder:) versteh aufgabestellung nicht ganz
Hallo Leute,
heute habe ich dir Aufgabe ein Tic Tac Toe spiel zu programmieren. ist ja auch alles schön und gut nur versteh ich etwas bei der aufgabestellung nicht. Beschreibung: 9 labels auf der form und einem array als datenstruktur. /wie macht man das? bei jedem klick auf ein label sollen 2 funktionen aufgerufen werden (IsFieldEmpty(var AIndex): boolean, CheckFor Win) / das ist doch aber nur eine funktion.... oder wie bekomme ich daraus eine zweite? würde ja meinen ausbilder fragen wenn er da wäre.... ach ja und das ganze ohne KI |
AW: tic tac toe.... mal wieder:) versteh aufgabestellung nicht ganz
1. Funktion: IsFieldEmpty
2. Funktion CheckForWin :roll: |
AW: tic tac toe.... mal wieder:) versteh aufgabestellung nicht ganz
aahhhhhhh.... ok danke :oops: bin halt noch seeeeehhhhrrr anfängerisch^^
|
AW: tic tac toe.... mal wieder:) versteh aufgabestellung nicht ganz
Zitat:
Delphi-Quellcode:
type
TTicTacToeSlot = (tttsFree, tttsPlayer1, tttsPlayer2); var TicTacToeSlots: array[0..2] of array[0..2] of TTicTacToeSlot; |
AW: tic tac toe.... mal wieder:) versteh aufgabestellung nicht ganz
Obwohl ich auch ein 2-dimensionales Array verwenden würde glaube ich nicht, dass das hier gefordert ist. In dem Fall wäre es nämlich auch geschickter, den Funktionskopf
Zitat:
Delphi-Quellcode:
Damit entfällt dann ein lästiges Umrechnen.
IsFieldEmpty(XPos, YPos): boolean
|
AW: tic tac toe.... mal wieder:) versteh aufgabestellung nicht ganz
oha so viele möglichkeiten... dann versuch ichs mal
|
AW: tic tac toe.... mal wieder:) versteh aufgabestellung nicht ganz
wofür soll den das array gut sein.... nur damit ich das verstehe was ich hier mache. bringt ja nichts wenn ich ein array irgendwo einbaue aber nicht weiß wieso
|
AW: tic tac toe.... mal wieder:) versteh aufgabestellung nicht ganz
3 Zeilen, 3 Spalten -> array[1..3, 1..3]
|
AW: tic tac toe.... mal wieder:) versteh aufgabestellung nicht ganz
Zitat:
|
AW: tic tac toe.... mal wieder:) versteh aufgabestellung nicht ganz
Das Spiel macht mit nur einem Spieler ja keinen Sinn. Ob der nun menschlich oder eine KI ist, spielt dabei ja keine Rolle. Sofern es Dir eher behagt, kannst Du den Typ ja ein wenig anders deklarieren:
Delphi-Quellcode:
type
TTicTacToeSlot = (tttsFree, //Feld ist frei tttsX, //Feld ist mit "X" belegt tttsO //Feld ist mit "O" belegt ); |
AW: tic tac toe.... mal wieder:) versteh aufgabestellung nicht ganz
Jupp.
Ist wie bei einem Integer, also unterschiedliche Zahlen/Werte in jedem Feld. Nur daß hier die einzelnen Werte keine Zahl sind, sondern einen Namen haben. z.B.:
Delphi-Quellcode:
False = kein Stein auf dem Feld
TTicTacToeSlot = Boolean;
True = irgendein Stein auf dem Feld
Delphi-Quellcode:
0 = kein Stein auf dem Feld
TTicTacToeSlot = Integer;
1 = Stein von Spieler 1 auf dem Feld 2 = Stein von Spieler 2 auf dem Feld
Delphi-Quellcode:
tttsFree = kein Stein auf dem Feld
TTicTacToeSlot = (tttsFree, tttsPlayer1, tttsPlayer2);
tttsPlayer1 = Stein von Spieler 1 auf dem Feld tttsPlayer2 = Stein von Spieler 2 auf dem Feld |
AW: tic tac toe.... mal wieder:) versteh aufgabestellung nicht ganz
also irgendwie bin ich hier gerade zu doof....
ich soll ja keine KI erstellen sondern ein spiel für 2 personen. aber wie programmiere ich es denn dass er eben die personen wechselt... hab schon das internet durchsucht aber ich steig da nicht ganz durch. ich weiß ich bin nervig.... tut mir leid :) ok prinzip von himitsu verstanden... is denn das schon alles? |
AW: tic tac toe.... mal wieder:) versteh aufgabestellung nicht ganz
Pseudo-Code:
Code:
procedure Spielerwechsel
if AktuellerSpieler = Spieler1 then AktuellerSpieler := Spieler2 else AktuellerSpieler := Spieler1 |
AW: tic tac toe.... mal wieder:) versteh aufgabestellung nicht ganz
Um ein so einfache spiel prgrammieren zu können sollte man schon vorher wissen
wie das mit den Variablen, Datentypen, Kontrollstrukturen ,Prozeduren, Funktionen, Events läuft.(klassen und objekte wäre hier aber auch wieder Overkill) hier eine Lösung falls du deine hausaufgabe einfach fertig haben willst http://delphi.about.com/od/beginners/l/aa021803a.htm Andernfalls müsstest du dir erst mal so die Basics beibringen. |
AW: tic tac toe.... mal wieder:) versteh aufgabestellung nicht ganz
Zitat:
voll gemein.... alle drei Tage bekpmmt man das gleiche zu hören! |
AW: tic tac toe.... mal wieder:) versteh aufgabestellung nicht ganz
Gib deinem Ausbilder bitte mächtig eins auf die Mütze. Nach 3 Wochen und ohne Vorkenntnisse bist du noch dermaßen Frischling, dass es schlicht lächerlich ist, dich an so etwas zu setzen. Versuch das am besten mal mit ihm unter 4 Augen (ggf. mit Verweis auf deine Threads hier im Forum) zu klären, und je nach Erfolg im Zweifel an seinen Vorgesetzten wenden. Das aber nur wenn da das völlige Stur-Programm einsetzt, man kann sowas sicherlich auf nette Weise regeln :)
Du fängst hier an Propellerflugzeuge zu bauen ohne je etwas über Aerodynamik gelernt zu haben. Das ist kontraproduktiv und birgt haufen an Frustpotenzial für euch beide. Vor allem bringt es dir aber für die Ausbildung nicht viel. |
AW: tic tac toe.... mal wieder:) versteh aufgabestellung nicht ganz
er ist jetzt die nächsten 2 wochen nicht da.... habe ja schon mit sortieralgos und funktionen gearbeitet... einen taschenrechner habe ich ja auch schon fertig.... ich weiß auch nicht... ales doof heute!!! ich bin heute bei allem was ich mache eine zumutung für mich und meine mitmenschen^^
|
AW: tic tac toe.... mal wieder:) versteh aufgabestellung nicht ganz
Quatsch, es ist ja nicht dir anzulasten, wenn man mir dir im Vorfeld nichtmals ein paar grundlegende Sachen wie Datenstrukturen (und deren Anwendungsfälle), so wie analytisch angesetztes Denken durchkaut. Es gibt sicher ein paar Menschen, denen ist das in die Wiege gelegt, voraussetzen kann ich das doch aber nicht als Ausbilder. Wobei hier sicherlich auch dem oft so "hochwertigen" Info-Unterricht in unseren Schulen gehörig Mitschuld zu geben ist. Was das angeht, da tun mir dann die Betriebe auch wieder ganz schön leid. Da der meines Wissens nach aber nicht fest in den Lehrplänen verankert ist, darf ich den eigentlich überhaupt nicht voraussetzen, und 3 Wochen nach ganz frisch gehörst du streng genommen nichtmals an einen Computer, sondern an Papier und Bleistift, Grundlagen der digitalen Datenverarbeitung pauken ;)
|
AW: tic tac toe.... mal wieder:) versteh aufgabestellung nicht ganz
ja kann ja sein....
also ich hatte sowas nie im informatikunterricht.... als er mich eingestellt hat wusste er ja auch dass ich null vorkenntnisse habe. naja mal gucken. ich werds nachher mal mit meinem liebchen durchkaun... er is zwar eher sps programmierer aber kann das hier auch ein wenig ;) also bis miorgen dann hab feierabend^^ |
AW: tic tac toe.... mal wieder:) versteh aufgabestellung nicht ganz
OK,
ich kann das mit dem T....nbonus ja verstehen... dennoch tut dir niemand einen Gefallen dich mit Samthandschuhen anzufassen. Du brauchst so ein Buch wie "Delphi für kids"!(das ist D7 dabei) Etwas das man schnell durchlesen und mental konsumieren kann mit vielen Beispielen. (eigentlich kann auch einem Delphi Entwickler das Kernighan & Ritchie nicht schaden, aber das ist nur wichtig um zu wissen was man an Delphi hat und wie man sonnst so leiden könnte) UND egal was dein ach so böser Ausbilder dir nicht beibringt...alles quatsch. Dein Job als Informatiker gerade als FIAE lässt sich wie folgt beschreiben: "Wisse wie du dir das nötige Wissen zum lösen deiner Aufgaben beschaffst." Es bringt dir nichts, wenn dein Ausbilder dir heute etwas Konkretes beibringt...das ist morgen alles nichts mehr wert. Du kannst dir gar nicht vorstellen wie schnell das, was man über AE und IT weiß, auf einmal falsch, veraltet oder irrelevant ist. Wenn du in einem Betrieb arbeitest ist es höchst unwahrscheinlich das deine Ausbilder bei Adam und Eva anfangen.... Du musst dir das Wissen schon in der, leider unbezahlten, Freizeit aneignen... Es wird nicht anders gehen. Wenn du keine gesponsorte oder "auf anderem Wege" erlangte Delphi Version für Zuhause hast nimm Lazarus. Das reicht um derartige Probleme Zuhause nachvollziehen zu können. Wir haben einen FIAE der mit der Erwartung in den Betrieb kam, dass er alles vorgekaut bekommt und 8 Stunden täglich gecouched wird, mehr oder weniger absichtlich vor die Wand fahren lassen. Er hat dann noch ein Jahr dran gehängt und auf FISYS umgeschrieben...aber nie Initiative entwickelt. Wenn dir also die Grundlagen fehlen würde ich Gas geben das du genug für einen Start in diese Ausbildung kannst. Die Probezeit wird oft auch genutzt um die Motivation und Lernbereitschaft zu testen. |
AW: tic tac toe.... mal wieder:) versteh aufgabestellung nicht ganz
Wenn überhaupt nichts geht ... wir haben hier eine "Jobbörse" ... eine Anfrage kann nicht schaden und vielleicht ist ja Irgendeine(r) in deiner Nähe, der/die dir etwas Nachhilfe geben kann.
|
AW: tic tac toe.... mal wieder:) versteh aufgabestellung nicht ganz
Zitat:
|
AW: tic tac toe.... mal wieder:) versteh aufgabestellung nicht ganz
@biby90: Verwende bitte Groß-/Kleinschreibung, so wie es in den Forenregeln beschrieben ist. Das macht das Lesen einfacher.
|
AW: tic tac toe.... mal wieder:) versteh aufgabestellung nicht ganz
Zitat:
denn ich hatte das Zitat:
Zitat:
Zitat:
|
AW: tic tac toe.... mal wieder:) versteh aufgabestellung nicht ganz
Zitat:
ihr habt ja schon recht mit den basics und ich bin ja auch da dran.... ich versuch ja auch immer so viel wie möglich selber zu probieren und bastle recht lange herum bis es funktioniert.... ich denke das ist so ein typisches anfänger problem die man schnell beheben sollte^^ ich schreib ja auch nur hier rein wenn ich was wirklich nicht verstehe oder nicht wieter weiß.... will ja auch nicht dass ihrm eine aufgaben macht^^ bringt mir dann ja nichts... also reine selbstvera**che^^ außerdem denke ich immer zu komplizier... ist eben so ne schwäche bei mir.... |
AW: tic tac toe.... mal wieder:) versteh aufgabestellung nicht ganz
@ Sir Rufo
Tut mit leid :oops: |
AW: tic tac toe.... mal wieder:) versteh aufgabestellung nicht ganz
Zitat:
vielleicht wenn ich Schule habe.... da ist bestimmt einer der das gut drauf hat und sich nach Schulschluss mit mir zusammensetzt |
AW: tic tac toe.... mal wieder:) versteh aufgabestellung nicht ganz
Das E-Book vom Delphi-Treff kennst Du bereits? Da geht es zwar eigentlich um Delphi XE Starter, das meiste ist aber auch in älteren Versionen anwendbar.
|
AW: tic tac toe.... mal wieder:) versteh aufgabestellung nicht ganz
ja und nein.....
Also ich kenne Delphi-Treff zu mindest... da gibt es ja auch Tutorials und sowas.... ich werde mir direkt mal den Link aufschreiben. Ihr seid alle echt die Besten:thumb: |
AW: tic tac toe.... mal wieder:) versteh aufgabestellung nicht ganz
sorry wenn ich jetzt wieder nerven sollte.
Delphi-Quellcode:
Ich weiß einfach nicht was für Parameter ich dort brauche. Alles was ich versucht habe wollte der Compiler nicht, sprich er sagt
procedure TForm1.Label1Click(Sender: TObject);
begin if IsFieldEmpty() = true then // was für einen parameter? begin Label1.Caption:=WriteToField(GPlayer); if CheckForWin() = true then // und hier? begin Label1.Caption:=''; ShowMessage(IntToStr(GPlayer)+' hat gewonnen!'); GPlayer:=1; end else begin ChangePlayer; end; end; end; Zitat:
|
AW: tic tac toe.... mal wieder:) versteh aufgabestellung nicht ganz
Wie sind die Routinen denn implementiert? Übrigens: bitte niemals(!!!) auf true prüfen, das kann in die Hose gehen.
Delphi-Quellcode:
if Dings = true then
//-> if Dings then if Dings = false then //-> if not Dings then |
AW: tic tac toe.... mal wieder:) versteh aufgabestellung nicht ganz
Delphi-Quellcode:
function TForm1.CheckForWin(var AIndex: array of string): Boolean;
Delphi-Quellcode:
function TForm1.IsFieldEmpty(var AIndex: String): Boolean;
Delphi-Quellcode:
also muss ich die alle umschreiben und auf false prüfen?
function TForm1.WriteToField(var Player: Integer): String;
|
AW: tic tac toe.... mal wieder:) versteh aufgabestellung nicht ganz
Wieso sind diese Parameter eigentlich als VAR deklariert?
Ich vermutemal, daß dort nichts verändert werden soll. Tja, VAR-Parameter müssen "genau" übereinstimmen. Ist dort z.B. ein Integer-Parameter vorgegeben, dann muß uch eine Integer-Variable übergeben werden ... wenn nicht, dann kommt eben die Meldung "... stimmt nicht überein ...". |
AW: tic tac toe.... mal wieder:) versteh aufgabestellung nicht ganz
Wenn Du Var-Parameter deklarierst, dann brauchst Du auch entsprechende Variablen, die Du dann übergibst.
Delphi-Quellcode:
Allerdings ist mir der Sinn der Parameter nicht klar, schon gar nicht, wieso das Var-Parameter sein müssen.
procedure Verdopple(var Zahl: integer);
begin Zahl := Zahl * 2; end; procedure TForm1.Button1Click(Sender: TObject); var x: integer; begin x := 1; Verdopple(x); ShowMessage(IntToStr(x)); end; |
AW: tic tac toe.... mal wieder:) versteh aufgabestellung nicht ganz
also könnte ich sie praktisch genommen ohne var schreiben und dann würde das funktionieren?
Zitat:
war eine Vorgabe der Aufgabe. Ich habe es sonst auch nie als Var deklariert. Zitat:
|
AW: tic tac toe.... mal wieder:) versteh aufgabestellung nicht ganz
Nur Parameter, welche auch verändert werden sollen, innerhalb der Prozedur, und deren Werte nach außen weitergegeben werden sollen, werden als VAR deklariert.
Alles andere ist einfach falsch, also vom Sinn der Funktion her und würde auch nur Mißverständnisse produzieren, wen man versucht diesen Quellcode zu verstehen. VAR = veränderbarer Parameter CONST = unveränderbarer Parameter (auch innerhalb der Prozedur) (nichts) = nach außen unveränderbar und nach innen veränderbar (als Kopie, welche Delphi anlegt) Zitat:
Wenn nicht, dann wird es auch nicht als VAR deklariert. |
AW: tic tac toe.... mal wieder:) versteh aufgabestellung nicht ganz
Nochmal: wenn Du Funktionsparameter deklarierst, dann müssen diese auch beim Aufruf befüllt werden (sofern sie keinen Vorgabewert haben, aber das lassen wir jetzt mal außer Acht). Wenn es keine Var- (oder Out-)Parameter sind, dann kannst Du auch Konstanten übergeben, ansonsten brauchst Du eine Variable.
|
AW: tic tac toe.... mal wieder:) versteh aufgabestellung nicht ganz
ok ich versuche es mal ohne var.
Ich meld mich wenn ich (mal wieder) nicht weiter komme:wink: |
AW: tic tac toe.... mal wieder:) versteh aufgabestellung nicht ganz
Ich habe gerade einen Blick in das verlinkte E-Book geworfen, da werden Parameter sehr schön erklärt (Kapitel 10.5).
|
AW: tic tac toe.... mal wieder:) versteh aufgabestellung nicht ganz
ich bin ja heute früher Zuhause dann werde ich das mal studieren:thumb:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:08 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