Browse Source

Merge pull request #13 from Mac10goesBRRRT/LabOpti

Lab opti
remotes/origin/orga
RonjaAwe 2 years ago
committed by GitHub
parent
commit
859dbc6b48
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
  1. 39
      src/c/labyrinth.c
  2. 1
      src/c/labyrinth.h
  3. 37
      test/c/test_labyrinth.c

39
src/c/labyrinth.c

@ -11,8 +11,16 @@
int printlabyrinth(lab laby, int hoehe, int breite){ int printlabyrinth(lab laby, int hoehe, int breite){
for(int i = 0; i < hoehe; i++){ for(int i = 0; i < hoehe; i++){
for(int j = 0; j < breite; j++){
printf("%c ", laby[i][j]);
for(int j = 0; j < breite; j++){
if(laby[i][j] == '1'){
printf("");
}
else if(laby[i][j] == WEG){
printf(" ");
}
else{
printf("%c ", laby[i][j]);
}
} }
printf("\n"); printf("\n");
} }
@ -62,7 +70,15 @@ void labyrinthschritte(lab laby, int hoehe, int breite, int schritte, int versuc
for(int i = 0; i < hoehe; i++){ for(int i = 0; i < hoehe; i++){
for(int j = 0; j < breite; j++){ for(int j = 0; j < breite; j++){
printf("%c ", laby[i][j]);
if(laby[i][j] == MAUER){
printf("");
}
else if(laby[i][j] == WEG){
printf(" ");
}
else{
printf("%c ", laby[i][j]);
}
} }
printf("\n"); printf("\n");
} }
@ -82,7 +98,7 @@ void labyrinthschritte(lab laby, int hoehe, int breite, int schritte, int versuc
void labyrinthauswahl(int auswahl){ void labyrinthauswahl(int auswahl){
printf("Bitte wählen Sie ein Labyrinth aus\n");
printf("Pleas choose a maze.\n");
switch (auswahl){ switch (auswahl){
case 1: case 1:
@ -97,6 +113,21 @@ void labyrinthauswahl(int auswahl){
int breite = 6; int breite = 6;
printlabyrinth(laby, hoehe, breite); printlabyrinth(laby, hoehe, breite);
break; break;
case 2:
lab laby2 = {
{'0', '0', '0', '0', '1', '0', '1', '1', '0'},
{'1', '0', '1', '0', '0', '1', '1', '1', '0'},
{'1', '0', '1', '1', '0', '0', '1', '1', '0'},
{'0', '0', '0', '1', '1', '0', '1', '0', '1'},
{'0', '1', '0', '1', '0', '0', '1', '0', '1'},
{'0', '1', '0', '1', '0', '1', '0', '0', '0'},
{'0', '1', '0', '1', '0', '0', '0', '1', '0'},
};
hoehe = 7;
breite = 9;
printlabyrinth(laby2, hoehe, breite);
break;
default: default:
break; break;

1
src/c/labyrinth.h

@ -7,6 +7,7 @@
#define MAXSPALTEN 10 #define MAXSPALTEN 10
#define WEG '0' #define WEG '0'
#define MARKIERT 'X' #define MARKIERT 'X'
#define MAUER '1'
typedef char lab[MAXZEILEN][MAXSPALTEN]; typedef char lab[MAXZEILEN][MAXSPALTEN];
int printlabyrinth(lab laby, int hoehe, int breite); int printlabyrinth(lab laby, int hoehe, int breite);

37
test/c/test_labyrinth.c

@ -310,4 +310,41 @@ void test_LabyrinthAuswahl(void){
} }
void test_LabyrinthAuswahl2(void){
bool result;
int input = 1;
int hoehe = 7;
int breite = 9;
int schritte = 19;
int versuche = 0;
int auswahl = 2;
lab laby = {
{'0', '0', '0', '0', '1', '0', '1', '1', '0'},
{'1', '0', '1', '0', '0', '1', '1', '1', '0'},
{'1', '0', '1', '1', '0', '0', '1', '1', '0'},
{'0', '0', '0', '1', '1', '0', '1', '0', '1'},
{'0', '1', '0', '1', '0', '0', '1', '0', '1'},
{'0', '1', '0', '1', '0', '1', '0', '0', '0'},
{'0', '1', '0', '1', '0', '0', '0', '1', '0'},
};
labyrinthauswahl(auswahl);
//printlabyrinth(laby, hoehe, breite); //hier in die funktion die print frage machen
wegsuchen(laby, &result, 0, 0, 6, 8);
userInput_ExpectAndReturn(5);
userInput_ExpectAndReturn(8);
userInput_ExpectAndReturn(10);
userInput_ExpectAndReturn(schritte);
labyrinthschritte(laby, hoehe, breite, schritte, versuche); //die gleiche funktion nur mit dem if vergleich und userinput
TEST_ASSERT_EQUAL_INT(1, result);
}
#endif // TEST #endif // TEST
Loading…
Cancel
Save