嘿,我是C语言的新手,我的代码没有任何问题。
我试图制作一个非常基本的制作自己的冒险游戏。
谢谢你的时间。
#include <iostream>
using namespace std;
void next();
int main()
{
int x;
int y;
int z;
cout << "Welcome To \n";
cout << "killing the Dragon! \n";
cout << endl;
cout << "There Is a Road infront of you you may go left or right \n";
cout << "Left = any other number, Right = 1 \n";
cin >> x;
if(x == 1){
do{
cout << "A rock blocks your bath \n";
cout << "You Go back \n"; // Fix loop problem "Can't choose 0 more the once of it all screws up"
cout << "Left = 0, Right = 1 \n";
cin >> x;
if(x == 0){next();}
}while(x == 1);
void next(){
cout << "You Come up to a small village \n";
cout << "You find 100 gold coins in your pocket \n";
cout << "You may continue your bath or buy a sword at the local blacksmith \n";
cout << "Continue = 1, buy sword = any other number \n";
cin >> y;
if(y == 1){
cout << "You buy the sword for 50G's and continue with your adventure \n";
cout << "You find a dragon down the road luckaly you have your sword! \n";
cout << "Do you kill the Dragon or let him live? \n";
cout << "murder the but cack = 1, Let him live = any other Number \n";
cin >> z;
}else{
cout << "You continue your bath and get pwnd by a dragon down the road your a failure \n";
system("pause");
return 0;
}
if(z == 1){
cout << "YA YOU PWNED THE DRAGON GRATZ BRO YOU NOW HAVE THE TITLE DRAGON SLAYER AND YOU MADE 1000000000000000000000000000000000000000000000000000000000000000000000G'S \n";
system("pause");
return 0;
}else{
cout << "you got owned by the dragon! ITS a DRAGON what where you thinking letting it \nlive now your dead hope your happy! \n";
system("pause");
return 0;
}
}
}
}
另外,如果您能给我一些帮助,以使您获得完整的编码建议,以使代码保持更加整洁和井井有条,那么现在,我要做的就是确保所有大括号都对齐,并且如果语句被推回,则每秒这样它就不会对代码产生某种形式的影响。
最佳答案
您已经在另一个函数中创建了一个函数:
int main()
{
...
void next() { ... } // Illegal !
...
}
对于常规函数来说这是非法的(您也可以通过lambda函数来实现)。我认为您在函数和
goto
跳转之间感到困惑(使用它不是一种好习惯)。我认为您不需要您的情况下的功能。因为函数next
与main的局部变量有很多依赖关系。顺便说一句,您可以将内部功能放在主要功能之外。而且,好的缩进可以帮助您组织和格式化代码。
关于c++ - 在“void” c++之前的预期主表达式,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20179646/