Я новичок здесь, так что извините, если у меня есть сообщение в неправильном разделе.
Когда я запускаю свою программу, я получаю сообщение об ошибке (Ошибка проверки времени выполнения # 2 - Сложите вокруг переменной 'userInput'был поврежден.) Я не знаю, что я сделал, чтобы это запустить.(извините за мой английский я французский).Если бы вы могли помочь мне в этом, это будет оценено.Я пытался запустить его через много отладчика (Visual Studio, GDB, GDB онлайн, ...), но я до сих пор не могу найти, почему.Если бы вы могли просмотреть мой код тоже.Как большая ошибка, которую вы нашли, это будет оценено.Спасибо:)
#include "stdafx.h"
#include <cstdlib>
#include <string>
#include <iostream>
#include <time.h>
// START FUNCTION DECLARATION
void setupGame(int gameBoard[4][19]);
void showGrid(int gameBoard[4][19]);
void calulateGame(std::string userInput);
// END FUNCTION DECLARATION
int main(int argc, char** argv) {
// Basic game variable
std::string userInput = "";
bool bGameLoop = true;
int gameBoard[4][19];
// Setup the game
setupGame(gameBoard);
do {
// Reloading the scene
//system("clear");
// Show/Update the game grid
showGrid(gameBoard);
// Wait for user input
/*userInput = "";
std::cin >> userInput;
if (userInput != "w" || userInput != "a" ||
userInput != "s" || userInput != "d")
{
std::cout << "Please use [W][A][S][D] to move <3";
}*/
} while (bGameLoop);
return 0;
}
// START FUNCTION
/**
* Calculate all in the game (if user died, cannot go, win, etc)
* @param userInput The last input
*/
/*void calulateGame(std::string userInput) {
}*/
/**
* Show the grid.
*/
void showGrid(int gameBoard[4][19]) {
//# -------------------- #
//|O.................... |
//# -------------------- #
// Show top bar
std::cout << "DUNGEON CRAWL V1\n\n";
std::cout << "#--------------------#\n";
std::string cToOut;
for (int y = 0; y <= 4; y++) {
std::cout << "|";
for (int x = 0; x <= 19; x++) {
switch (gameBoard[y][x]) {
case 0:
cToOut = " ";
break;
case 1:
cToOut = "@";
break;
case 2:
cToOut = "X";
break;
case 3:
cToOut = "O";
break;
default:
cToOut = " ";
break;
};
std::cout << cToOut;
}
std::cout << "|\n";
}
std::cout << "#--------------------#\n";
}
/**
* Create the game array and setup trap and the player.
*/
void setupGame(int gameBoard[4][19]) {
// 0 = empty data
// 1 = player
// 2 = exit
// 3 = trap
// Populate array with zero
for (int y = 0; y <= 4; y++) {
for (int x = 0; x <= 19; x++) {
gameBoard[y][x] = 0;
}
}
// Setup player & exit
gameBoard[0][0] = 1;
gameBoard[4][19] = 2;
// Setup random trap
int trapX, trapY;
bool bAlreadyUse = false;
srand(time(NULL));
for (int t = 1; t <= 5; t++) {
do {
trapX = rand() % 19;
trapY = rand() % 4;
if (gameBoard[trapY][trapX] == 3) {
bAlreadyUse = true;
}
else {
bAlreadyUse = false;
}
// Dont use spawn or end pos
} while ((trapX == 0 && trapY == 0) || (trapX == 19 && trapY == 4)
|| bAlreadyUse);
gameBoard[trapY][trapX] = 3;
}
}
// END FUNCTION
Я забыл упомянуть, что я новичок в c ++.И это игра, чтобы попробовать:)