Forum
Tipps
News
Menu-Icon

Schiffe versenken in C

Hi Leute ich will das Spiel Schiffe versenken in C programmieren. Aber es soll auch alleine gespielt werden können. Dafür benötige ich eine KI die die Schiffe zufällig auf dem spielfeld platzieren soll. Ich dachte da an Rand aber weis nicht wirklich wie das geht.
Bitte um hilfe.
MFG Meph


Antworten zu Schiffe versenken in C:

Poste doch bitte die komplette Aufgabe.

Wenn du erst versuchst, die Aufgabe zu verstehen, und dann das, was du davon verstanden hast hier postest, kommt da doch bestimmt nichts bei raus.

Google mal nach srand und rand.

Naja, von KI kann man da nicht so ganz sprechen, das ist eher ein zufallsprinzip. Normalerweise funktioniert rand so :

Du gibst der klasse ein Intervall an, in welchem bereich er die Zufallszahlen erzeugen soll. Dann weisst du die erzeugte Pseudo zufallszahl (es handelt sich ja um mathematisch nicht echte Zufallszahlen!) einer koordinate zu (x und y) dann schaust du ob da schon was ist, wenn nein, markieren, wenn ja -> Nochmal erzeugen lassen. Du musst ja nur den Anfangspunkt erzeugen und dann noch zufällig bestimmen, in welche richtung (Ost, Nord, West, Sued) das ganze schiff aufgebaut werden soll.

Ich weiss nicht ob dir das hilft aber so würde es in java aussehen:

Random rand=new Random(); //Random ist aus java.util (also aus einer Klassenbibliothek)
int x=rand.nextInt(0,maxX); //wobei maxX deine Maximale grösse ist
int y=rand.nextInt(0,maxY);

//Überprüfen und platzieren.

Weiss jetzt nicht mehr so genau wie das in C war (ist auch schon ein bisschen her, seit ich das letzte mal C gecoded hab, aber so ungefähr müsste es auch da gehen

In C++ sollte das so aussehen:
srand(time(0));
int x = rand()%MaxX,y = rand()%MaxY;

In C++ sollte das so aussehen:
srand(time(0));
int x = rand()%MaxX,y = rand()%MaxY;

Und was ist daran jetzt C++ ??? Das ist purer C Code...

Ausserdem, wenn ich mich recht entsinne, müsste es heissen:

x = ( rand() * MaxX ) / RAND_MAX;

( denn mit der Module-Rechnung sind die Zahlen nicht mehr ganz so zufällig ).
Und was ist daran jetzt C++ ??? Das ist purer C Code...
Dann halt eben C/C++.
 ::)

« JavaSQL-Hilfe »
 

Schnelle Hilfe: Hier nach ähnlichen Fragen und passenden Tipps suchen!

Fremdwörter? Erklärungen im Lexikon!
Google
Google ist Marktführer unter den Suchmaschinen weltweit. Geführt von dem amerikanischen Unternehmen Google Inc. werden neben der Suchmaschine auch viele weitere...

Google Doodle
Als "Doodle" werden die kleinen Grafiken bezeichnet, die die Google Suchmaschine an bestimmten Tagen statt dem eigentlichen Google Logo auf der Webseite anzeigt: Damit wi...

Host
Der Begriff Host (Englisch für Wirt, Gastgeber oder Veranstalter) meint ein Hauptrechner in einem Computernetzwerk, der das gesamte Netzwerk und die anderen Rechner ...