generated from freudenreichan/info2Praktikum-Wortsalat
meine_aenderungen
This commit is contained in:
1 parent
221e0e7168
commit
e65025664a
2 files changed
+21
-23
No files matched your search
+20
-22
@@ -15,6 +15,7 @@ int createWordSalad(char salad[MAX_SEARCH_FIELD_LEN][MAX_SEARCH_FIELD_LEN], unsi
|
|||||||
//salad = Array das als Tabelle dient; searchFieldLEN = tatsächliche Länge des Spielfelds; words = Liste der möglichen Suchwörter; wordCount = Anzahl der Wörter in words
|
//salad = Array das als Tabelle dient; searchFieldLEN = tatsächliche Länge des Spielfelds; words = Liste der möglichen Suchwörter; wordCount = Anzahl der Wörter in words
|
||||||
{
|
{
|
||||||
//1. Spielfeld salad leeren; (Leeres Feld erstellen)
|
//1. Spielfeld salad leeren; (Leeres Feld erstellen)
|
||||||
|
srand(time(NULL));
|
||||||
for (unsigned int breite = 0; breite < searchFieldLen; breite++)
|
for (unsigned int breite = 0; breite < searchFieldLen; breite++)
|
||||||
{
|
{
|
||||||
for (unsigned int hoehe = 0; hoehe < searchFieldLen; hoehe++)
|
for (unsigned int hoehe = 0; hoehe < searchFieldLen; hoehe++)
|
||||||
@@ -23,6 +24,7 @@ int createWordSalad(char salad[MAX_SEARCH_FIELD_LEN][MAX_SEARCH_FIELD_LEN], unsi
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
//2. Wortliste word durchgehen; (Wortlängen bestimmen)
|
//2. Wortliste word durchgehen; (Wortlängen bestimmen)
|
||||||
|
int plaziert = 0; //Wort plaziert?;
|
||||||
for (unsigned i = 0; i < wordCount; i++)
|
for (unsigned i = 0; i < wordCount; i++)
|
||||||
{
|
{
|
||||||
unsigned int wortlaenge = strlen(words[i]); //Strlen gibt die länge der Zeichenkette an
|
unsigned int wortlaenge = strlen(words[i]); //Strlen gibt die länge der Zeichenkette an
|
||||||
@@ -30,19 +32,17 @@ int createWordSalad(char salad[MAX_SEARCH_FIELD_LEN][MAX_SEARCH_FIELD_LEN], unsi
|
|||||||
{
|
{
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
if (wortlaenge > searchFieldLen); //Falls die Wörter zu lange sind gibt es eine Fehlermeldung
|
if (wortlaenge > searchFieldLen) //Falls das Wort zu lange ist Überspringe
|
||||||
{
|
{
|
||||||
return 0;
|
continue;;
|
||||||
}
|
}
|
||||||
|
|
||||||
//3. Startpunkt für Wörter festlegen (Platzierung der Wörter)
|
//3. Startpunkt für Wörter festlegen (Platzierung der Wörter)
|
||||||
int plaziert = 0; //Wort plaziert?; 1 = fail
|
|
||||||
srand(time(NULL));
|
|
||||||
for (unsigned int versuch = 0; versuch < MAX_RAND_TRIES_PER_WORD; versuch++)
|
for (unsigned int versuch = 0; versuch < MAX_RAND_TRIES_PER_WORD; versuch++)
|
||||||
{
|
{
|
||||||
unsigned int x_position = srand() % searchFieldLen; //Startpunkt in x Richtung wählen
|
unsigned int x_position = rand() % searchFieldLen; //Startpunkt in x Richtung wählen
|
||||||
unsigned int y_position = srand() % searchFieldLen; //Startpunkt in y Richtung wählen
|
unsigned int y_position = rand() % searchFieldLen; //Startpunkt in y Richtung wählen
|
||||||
int richtung = srand() % 2; //Richtung festlegen; 0 = waagerecht; 1 = senkrecht
|
int richtung = rand() % 2; //Richtung festlegen; 0 = waagerecht; 1 = senkrecht
|
||||||
if (richtung == 0 && wortlaenge > searchFieldLen - x_position) //Waagerecht Platz prüfen
|
if (richtung == 0 && wortlaenge > searchFieldLen - x_position) //Waagerecht Platz prüfen
|
||||||
{
|
{
|
||||||
continue;
|
continue;
|
||||||
@@ -71,7 +71,8 @@ int createWordSalad(char salad[MAX_SEARCH_FIELD_LEN][MAX_SEARCH_FIELD_LEN], unsi
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
//4. Eingabe der Wörter; (Wörter eintragen)
|
//4. Eingabe der Wörter; (Wörter eintragen)
|
||||||
if (check)
|
printf("Test\n");
|
||||||
|
if (!check)
|
||||||
{
|
{
|
||||||
for (unsigned int j = 0; j < wortlaenge; j++)
|
for (unsigned int j = 0; j < wortlaenge; j++)
|
||||||
{
|
{
|
||||||
@@ -83,27 +84,24 @@ int createWordSalad(char salad[MAX_SEARCH_FIELD_LEN][MAX_SEARCH_FIELD_LEN], unsi
|
|||||||
{
|
{
|
||||||
salad[y_position + j][x_position] = words[i][j];
|
salad[y_position + j][x_position] = words[i][j];
|
||||||
}
|
}
|
||||||
plaziert = 1;
|
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
}
|
printf("Wort %d plaziert.\n", plaziert);
|
||||||
if(!plaziert)
|
plaziert++;
|
||||||
{
|
break;
|
||||||
return 0;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
//5. Freie Felder mit Zufallsbuchstaben befüllen; (leere Felder Füllen)
|
}
|
||||||
for (unsigned int x_position = 0; x_position < searchFieldLen; x_position++)
|
//5. Freie Felder mit Zufallsbuchstaben befüllen; (leere Felder Füllen)
|
||||||
|
for (unsigned int x_position = 0; x_position < searchFieldLen; x_position++)
|
||||||
|
{
|
||||||
|
for (unsigned int y_position = 0; y_position < searchFieldLen; y_position++)
|
||||||
{
|
{
|
||||||
for (unsigned int y_position = 0; y_position < searchFieldLen; y_position++)
|
if (salad[y_position][x_position] == EMPTY_CHAR)
|
||||||
{
|
{
|
||||||
if (salad[y_position][x_position] == EMPTY_CHAR)
|
salad[y_position][x_position] = 'A' + rand() % 26;
|
||||||
{
|
|
||||||
salad[y_position][x_position] = 'A' + srand() % 26;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
//6. Endergebnis zurückgeben; (Rückgabewert)
|
//6. Endergebnis zurückgeben; (Rückgabewert)
|
||||||
return 1;
|
return plaziert;
|
||||||
}
|
}
|
||||||
+1
-1
@@ -38,7 +38,7 @@ int main(int argc, char *argv[])
|
|||||||
|
|
||||||
if (wordCount == placedWords)
|
if (wordCount == placedWords)
|
||||||
{
|
{
|
||||||
startGame(wordSalad, SALAD_SIZE, words, wordCount, 1000);
|
startGame(wordSalad, SALAD_SIZE, words, wordCount, 800);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in new issue
Block a user