diff --git a/.hgignore b/.gitignore similarity index 100% rename from .hgignore rename to .gitignore diff --git a/Enemies.cpp b/Enemies.cpp index 82dd836..80204fb 100644 --- a/Enemies.cpp +++ b/Enemies.cpp @@ -64,7 +64,7 @@ void Enemies::Update() { if (betweenWaves > 0) { betweenWaves--; if (betweenWaves < 240) { - char waveText[7] = "WAVE 0"; waveText[5] = wave + 48; + char waveText[12] = "TABLA DEL 0"; waveText[10] = 1+wave + 48; Print(200, 120, waveText, 255, 255, 255); } } else { @@ -108,7 +108,7 @@ void Enemies::Update() { } } -void CheckEnemyHit(int n1, int n2) { +int CheckEnemyHit(int n1, int n2) { for (int i = 0; i < MAX_ENEMIES; i++) { if (enemies[i].y > -1) { if (enemies[i].m1 * enemies[i].m2 == n1 * 10 + n2) { @@ -121,15 +121,17 @@ void CheckEnemyHit(int n1, int n2) { if (kills == 16) { betweenWaves = 360; wave++; ResetEnemies(); } + return 1; } } } + return 0; } void Enemies::ProcessMessage(const char* msg) { if (msg == "CheckEnemyHit") { int* params = GetMessageParams(); - CheckEnemyHit(params[0], params[1]); + SetMessageReturn(CheckEnemyHit(params[0], params[1])); } else if (msg == "ResetEnemies") { betweenWaves = 420; ResetEnemies(); } diff --git a/api.cpp b/api.cpp index 4509081..5bf0461 100644 --- a/api.cpp +++ b/api.cpp @@ -16,6 +16,7 @@ std::vector systems; std::vector msgTexts; std::vector msgSystems; int msgParams[5]; +int msgReturn; bool reseted = false; bool anyKey = false; @@ -191,3 +192,11 @@ void SendMessage(const char* msg, int p1, int p2, int p3, int p4, int p5) { int* GetMessageParams() { return msgParams; } + +int GetMessageReturn() { + return msgReturn; +} + +void SetMessageReturn(int value) { + msgReturn = value; +} diff --git a/api.h b/api.h index f90de1a..4591743 100644 --- a/api.h +++ b/api.h @@ -47,3 +47,5 @@ void RegisterMessage(const char* msg, System* handler); void SendMessage(const char* msg, int p1 = 0, int p2 = 0, int p3 = 0, int p4 = 0, int p5 = 0); int* GetMessageParams(); +int GetMessageReturn(); +void SetMessageReturn(int value); diff --git a/keyHandlers.cpp b/keyHandlers.cpp index 336125f..4fd771d 100644 --- a/keyHandlers.cpp +++ b/keyHandlers.cpp @@ -18,7 +18,13 @@ void keyHandler(SDL_Scancode key) { int num = key == 98 ? 0 : key - 88; if (digit == -1) { digit = num; - SendMessage("SetNumbers", num, -1); + SendMessage("CheckEnemyHit", 0, num); + if (GetMessageReturn() != 0) { + SendMessage("SetNumbers", -1, num); + digit = -1; + } else { + SendMessage("SetNumbers", num, -1); + } } else { SendMessage("SetNumbers", -1, num); diff --git a/mathwars.vcxproj b/mathwars.vcxproj index 962b2b4..3385473 100644 --- a/mathwars.vcxproj +++ b/mathwars.vcxproj @@ -1,5 +1,5 @@  - + Debug @@ -14,18 +14,19 @@ {5CCE4316-2638-47DA-9C0B-3075E1120FD1} Win32Proj mathwars + 10.0.17134.0 Application true - v120 + v141 Unicode Application false - v120 + v141 true Unicode