Browse Source

working on main

main
fdai7184 2 years ago
parent
commit
4568c76261
  1. 127
      src/Main.c
  2. 6
      src/Spiellogik.c
  3. 3
      src/input.h
  4. 2
      start-game.sh

127
src/Main.c

@ -4,11 +4,14 @@
#include "Spiellogik.h" #include "Spiellogik.h"
#include <time.h> #include <time.h>
#define N 20 #define N 20
int update1(int realU[N][N],char richtung);
int speed = 0;
/**Main Methode die das Spiel startet, loopt und beendet /**Main Methode die das Spiel startet, loopt und beendet
* indem die anderen Methoden/Funktionen aufgerufen werden * indem die anderen Methoden/Funktionen aufgerufen werden
*/ */
int main(int argc, char ** argv){ int main(int argc, char ** argv){
int quit=0; int quit=0;
int winb=0; int winb=0;
int looseb=0; int looseb=0;
@ -20,12 +23,17 @@ int main(int argc, char ** argv){
char g='d'; char g='d';
Apfel(realU); Apfel(realU);
char richtung;
int testint;
while(winb==0 && quit==0 && looseb==0){ while(winb==0 && quit==0 && looseb==0){
Umgebung(realU); Umgebung(realU);
richtung = getInput();
testint = update1(realU, richtung);
//loose=loose(realU);
winb=win(realU);
//looseb=lose(realU,richtung);
//winb=win(realU);
} }
@ -38,3 +46,118 @@ int main(int argc, char ** argv){
//Scoreanzeige //Scoreanzeige
} }
int update1(int realU[N][N],char richtung) {
int groesste ;
int ii = sucheXWert(realU);
int jj = sucheYWert(realU);
if(richtung == 'u') {
if(ii == 0) {
return 1;
}
if(realU[ii + 1] [jj] == (N * N) + 1) {
realU[ii + 1] [jj] = groesste + 1;
Apfel(realU);
speed = speed + 20;
}
else {
if(!lose(realU, richtung)) {
realU[ii - 1][jj] = groesste + 1;
for (int i = 0; i < N; i++) {
for (int j = 0; j < N; j++) {
if (realU[i][j] != 0 && realU[i][j] != (N * N) + 1) {
realU[i][j]--;
}
}
}
}
else {
return 1;
}
}
}
else if (richtung == 'd') {
if (ii == N - 1) {
return 1;
}
if (realU[ii + 1][jj] == (N * N) + 1) {
realU[ii + 1][jj] = groesste + 1;
Apfel(realU);
speed = speed + 20;
}
else {
if (!lose(realU, richtung)) {
realU[ii + 1][jj] = groesste + 1;
for (int i = 0; i < N; i++) {
for (int j = 0; j < N; j++) {
if (realU[i][j] != 0 && realU[i][j] != (N * N) + 1) {
realU[i][j]--;
}
}
}
}
else {
return 1;
}
}
}
else if (richtung == 'l') {
if (jj == 0) {
return 1;
}
if (realU[ii][jj - 1] == (N * N) + 1) {
realU[ii][jj - 1] = groesste + 1;
Apfel(realU);
speed = speed + 20;
}
else {
if (!lose(realU, richtung)) {
realU[ii][jj - 1] = groesste + 1;
for (int i = 0; i < N; i++) {
for (int j = 0; j < N; j++) {
if (realU[i][j] != 0 && realU[i][j] != (N * N) + 1) {
realU[i][j]--;
}
}
}
}
else {
return 1;
}
}
}
else {
if (jj == N - 1) {
return 1;
}
if (realU[ii][jj + 1] == (N * N) + 1) {
realU[ii][jj + 1] = groesste + 1;
Apfel(realU);
speed = speed + 20;
}
else {
if (!lose(realU, richtung)) {
realU[ii][jj + 1] = groesste + 1;
for (int i = 0; i < N; i++) {
for (int j = 0; j < N; j++) {
if (realU[i][j] != 0 && realU[i][j] != (N * N) + 1) {
realU[i][j]--;
}
}
}
}
else {
return 1;
}
}
}
if (win(realU)) {
return 1;
} else {
Umgebung(realU);
return 0;
}
}

6
src/Spiellogik.c

@ -8,7 +8,7 @@
#include<stdbool.h> #include<stdbool.h>
#include "Umgebung.h" #include "Umgebung.h"
int speed = 0;
//Die Funktion sucht den X-Wert der Schlange aus realU heraus und gibt //Die Funktion sucht den X-Wert der Schlange aus realU heraus und gibt
//diesen zurück //diesen zurück
@ -88,7 +88,7 @@ int lose(int realU[N][N], char richtung){
return 0; return 0;
} }
int update(int realU[N][N],char richtung) {
/*int update(int realU[N][N],char richtung) {
int groesste ; int groesste ;
int ii = sucheXWert(realU); int ii = sucheXWert(realU);
@ -200,5 +200,5 @@ int update(int realU[N][N],char richtung) {
Umgebung(realU); Umgebung(realU);
return 0; return 0;
} }
}
}*/

3
src/input.h

@ -2,6 +2,7 @@
#ifndef INPUT_H #ifndef INPUT_H
#define INPUT_H #define INPUT_H
void getInput();
char getInput();
char getTInput(char key);
#endif #endif

2
start-game.sh

@ -1,3 +1,3 @@
cd src cd src
gcc Umgebung.c Spiellogik.c Main.c -o Spiel
gcc Umgebung.c Spiellogik.c input.c Main.c -o Spiel
./Spiel ./Spiel
Loading…
Cancel
Save