Tic Tac Toe

Status
Nicht offen für weitere Antworten.

Makavely

Grünschnabel
Hallo zusammen!!
Also ich muss ehrlich sagen dass Programmieren Neuland für mich ist, und ich komm ehrlich net klar...
Also ich muss das Programm Tic Tac Toe über C# programm schreiben..
Also ich muss ehrlich sagen ich habe keine Ahnung wo und wie ich Anfangen soll.. Kann mir da wer bitte helfen, wäre sehr net von euch. Aufgabenstellung häng ich als Anlage mit bei..
Danke schon mal im voraus.
Danke!!
 

Anhänge

  • img003.jpg
    img003.jpg
    141,9 KB · Aufrufe: 91
hi,

du solltest dir erstmal überlegen wie du intern das spielfeld handeln willst,
ich würde hier ein 2d array vorschlagen.

anschließend brauchst du eine variable (toggle) die angiebt welcher spieler an der reihe ist.
damit solltest du schonmal in der lage sein abwechselnd "O" bzw "X" an bestimmte stellen des Arrays zu schreiben.

nach jeder eingabe musst du überprüfen ob jemand drei in der reihe hat.
da du keine funktionen nutzen darfst, ist es wohl etwas schreibkram.

1. du musst 3 mal alle senkrecht prüfen (schleife)
2. du musst 3 mal alle wagerecht prüfen (schleife)
3. du musst 1 mal diagonal oben links unten rechts prüfen
4. du musst 1 mal diagonal oben rechts unten links prüfen

dies sind 4 verschiedene überprüfungen, du kannst sie nicht zu sammen fassen, zumindest sehe ich das grade nicht.

die überprüfung selbst kannst du mit "&&" machen also einer AND verknüfpfung

if((Array[0,0])&&(Array[1,0])&&(Array[2,0])&&(Array[0,0] == "X"))
so müsste die überprüfung aussehen ob alle in der ersten reihe gleich sind und ob spieler mit X gewonnen hat.

wenn diese überprüfung erfüllt ist, dann den spieler ausgeben wer gewonnen hat, evt noch einen zähler erhöhen und das array wieder mit einer schleife auf irgendwas neutralen setzen damit das spiel von vorne begonnen werden kann.

bei fragen...

gruß
 
Danke dass ihr mir geantwortet habt..
Eine blöde frage, was genau bedeutet array, wenn ich fragen darf... Wie gesagt ist Neuland für mich..
 
:eek: C# ist also deine erste Programmiersprache?
Und als erstes Programm gleich sowas?

Hast du nicht schon in der Vergangenheit andere Programme zur Übung erstellt, in denen sowas
int[] array=new int[123];
vorkommt?

Bis wann musst du diese Aufgabe eigentlich fertighaben?
 
Zuletzt bearbeitet:
Also zuletzt haben wir strings geübt, aber seit anfang der schleifen tue ich mir schon schwer beim programmieren.. aber sowas wie array haben wir net benutzt...
 
Ja C# ist meine erste Programmiersprache..
Ich muss das heute in 2wochen abgeben...
also ich kenne sowas wie int feld [3]; z.b.
 
hmm ok,

hmm ist das syntaks mässig richtig? egal

also
Code:
int Zahl;
damit wird eine integer Variable deklariert die genau eine ganze Zahl speichern kann, soweit klar oder?

jetzt kommt es vor das mehere Variablen benötigt werden, die aber alle gleiche informationen speichern sollen. in deinem bsp das spiel feld.
nun wäre es möglich 9 verschiedene variablen anzulegen
Code:
char Feld1;
char Feld2;
char Feld3;
char Feld4;
char Feld5;
char Feld6;
char Feld7;
char Feld8;
char Feld9;

ok wie zu sehen ist, könnte das den quellcode zimlich unübersichtlich machen.
zb wenn jedes feld ein bestimmten buchstaben binhalten soll, mussten jetzt 9 zuweisungen vollzogen werden. wäre hier noch möglich, aber was ist wenn es ein spielfeld von 1000 oder 10000 felder gibt?

daher gibt es ein array,
ein array ist nichts anderes als eine variable die mehr als eine zahl oder zeichen... speichern kann.
im obigen bsp wäre es:
Code:
char[] Feld = new char[9];

damit legen wir ein Array an, mit dem namen Feld und es besteht nun aus 9 feldern, also wir können über ein index 9 verschiedene chars drin speichern

und zwar

Code:
Feld[0] = 'X';
Feld[1] = 'O';

wichtig ist dabei, in der informatik wird immer bei null angefangen zu zählen.
das heißt der kleinste index ist null. wenn du dir jedoch oben die deklaration anschaust, habe ich da neun reingeschrieben. das bedeutet das es neun felder gibt, also bei der deklaration wird bei eins angefangen zu zählen.

der größte vorteil ist jetzt, wir können es auch in eine schleife packen.
beispiel, wir wollen alle neun felder mit X voll schreiben

Code:
int i;
char[] Feld = new char[9];

for(i = 0; i < 9; i++) // i < 9 weil der größte index 8 ist, denn 0 bis 8 sind 9 felder
{
 Feld[i] = 'X'; // hier wird das array über den index angesprochen und mit einer zuweisung beschrieben
}

das array besitzt auch ein paar nützliche eigenschaften zb count, in den bsp könnten wir also auch schreiben

Code:
for(i = 0; i < Feld.Count; i++) // Count gibt hier die anzahl der felder zurück 9, nicht 8

klar?
wenn nicht frag
 
Status
Nicht offen für weitere Antworten.

Neue Beiträge

Zurück