3 Commits
5 changed files with 70 additions and 1 deletions

No files matched your search

+22
View File
@@ -8,5 +8,27 @@
// Read words from file and store in 'words' array // Read words from file and store in 'words' array
int readWords(FILE *file, char words[][MAX_WORD_LEN], unsigned int maxWordCount) int readWords(FILE *file, char words[][MAX_WORD_LEN], unsigned int maxWordCount)
{ {
char puffer[MAX_LINE_LEN];
char *teiler = " ,;\n";
char *token;
FILE *words_txt_speicherort; //Zeiger auf den Speicherort der word.txt Datei
words_txt_speicherort = fopen("words.txt","r"); //word.txt öffnen
if(words_txt_speicherort == NULL) //Abbruch falls words.txt nicht existieren würde
{
return -1;
}
fgets(puffer, MAX_LINE_LEN, words_txt_speicherort); //speichert alle Zeichen der words.txt datei in den speicher
token = strtok(puffer, teiler); //Trennt das erste Wort der Zeichenkette, abhängig von den Teilerbedingungen
while(token != NULL)
words = token; //speichert nur das einzelne Word in das words array; Problem: Laufindex der global gespeichert werden müsste; wie springe ich beim 2ten Funktionsaufruf zum nächsten Wort
int fclose(words_txt_speicherort);
} }
+1 -1
View File
@@ -6,6 +6,6 @@
#define MAX_WORD_LEN 100 #define MAX_WORD_LEN 100
#define MAX_LINE_LEN 1024 #define MAX_LINE_LEN 1024
int readWords(FILE *file, char words[][MAX_WORD_LEN], unsigned int maxWordCount); int readWords(FILE *file, char words[][MAX_WORD_LEN], unsigned int maxWordCount);
#endif #endif
BIN
View File
Binary file not shown.
+1
View File
@@ -0,0 +1 @@
Branch
+46
View File
@@ -0,0 +1,46 @@
# TO-DO
## Wörterplatzieren
### Step-by-Step
1. Spawning Grid Logik implementieren
1. Grid größe wählen
2. Grid mit "leeren" Werten initialisieren
3. Wörter einlesen und platzieren
1. Wort nach definierten Trennzeichen einlesen
2. Füller wie Leerzeichen und \n entfernen
3. Capitalisation fixen: gleichmäßig groß oder klein schreiben.
4. Spawn Ort finden
1. Randomly Horizontal oder Vertikal wählen
2. möglicher Bereich zum spawnen = Grid Breite bzw Höhe - Len(Wort)
5. Wort platzieren
1. Temp Duplikat des Grid anlegen
2. Ist der Spawn Ort frei ODER mit gleichen Buchstaben besetzt?
3. Buchstabe Platzieren (oder bereits vorhandenen Buchstaben lassen)
4. In Reihenfolge des Wortes vertikal oder horizontal wiederholen.
5. Bei Fehler:
1. 1.3.4. Neuen Spawn Ort finden.
2. Temp Duplikat Grid leeren
3. FehlerCounter++
1. Falls FehlerCounter >= MAX_ERLAUBTE_FEHLER
2. EXIT
6. Wort Fertig geschrieben
1. Game Grid = Temp Duplikat Grid
2. Wort in eine Liste der "platzierten Wörter" legen? Ums später zu checken?
6. Nächstes Wort einlesen
4. DONE
### Requirements
* Eine .txt Datei kann eingelesen werden
* Es wird nach den Trennzeichen: , ; . : - gefiltert um zu trennen
* Es sind nur Buchstaben erlaubt, keine Zahlen, Sonderzeichen, etc.
* Es werden beliebig viele Füller entfernt bis keine mehr enthalten sind.
* Füller sind Leading oder Trailing:
* " " (Leerzeichen)
* /n
* Füller im Wort müssen erkannt werden und Programm beenden.
* Wörter werden gleichmäßig klein ODER großgeschrieben werden und so weiterhin gespeichert werden.
* Wenn ein eingelesenes Wort länger als das Grid in Horizontal oder Vertikal ist, bricht das Programm ab
* Der Spawn Bereich wird durch die Länge des eingelesenen Wortes eingeschränkt, abhängig von Platzierungs Richtung
* Es werden nur
* Nach 20 gescheiterten Platzierungen bricht das Programm ab