000
25.04.2011, 15:05 Uhr
~Death Bread
Gast
|
Hi! Ich bin gerade dabei, mir ein kleines Spiel im Terminal zu programmieren. Der Compiler gibt keine Fehlermeldungen oder Warnungen aus, aber es kommt ein Laufzeitfehler: Segmentation fault im Terminal und EXC_BAD_ACCESS in der Xcode Console.
Hier der Quellcode (die Stellen, die meiner Meinung nach unwichtig sind, habe ich rausgenommen):
C++: |
#include <iostream> using namespace std;
int main () { const char *Actions[] = {"", "up", "down", "left", "right", "exit"};
struct Coordinates { int x; int y; }Character = {10, 10}; char Action[6]; bool Exit; int DoAction = 0; while(Exit == false) { /* Hier wird nach Aktionen gefragt */ while(DoAction == 0) { while((strcmp(Action, Actions[DoAction]) != 0 || !strcmp(Action, "")) && DoAction < sizeof(Actions) / sizeof(Actions[1])) // In dieser Zeile ist der Fehler: EXC_BAD_ACCESS bzw. Segmentation fault DoAction++;
switch(DoAction) { default: // something wrong cout << "Action: "; cin.getline(Action, 6); cout << "\033[A\033[2K"; DoAction = 0; break; case 1: // up if(Character.y > 0) Character.y--; break; case 2: // down if(Character.y < 21) Character.y++; break; case 3: // left if(Character.x > 0) Character.x--; break; case 4: // right if(Character.x < 21) Character.x++; break; case 5: // exit Exit = true; break; } } strcpy(Action, ""); } return 0; }
|
Ich hoffe ihr könnt mir helfen |