【发布时间】:2014-06-22 00:58:39
【问题描述】:
我有以下代码
class Card
{
string name;
public string Name
{
get { return name; }
set { name = value; }
}
}
class Program
{
static void Main(string[] args)
{
int KaLP = 8000;
int YuLP = 8000;
Card bewd = new Card();
Card LOD = new Card();
var KaibaDeck = new List<Card>() { bewd, LOD };
var KaibaHand = new List<Card>() { };
var KaibaFusionDeck = new List<Card>() { };
var KaibaGraveyard = new List<Card>() { };
var YugiDeck = new List<Card>() { };
var YugiHand = new List<Card>() { };
var YugiFusionDeck = new List<Card>() { };
var YugiGraveyard = new List<Card>() { };
int KaibaDeckSize = KaibaDeck.Count;
string sDrawChoice;
int DrawChoice;
while (KaibaDeckSize > 0)
{
if (DrawChoice == 0)
{
break;
}
else
{
KaibaBattlePhase(KaibaHand, KaibaDeck, KaibaFusionDeck, YugiDeck, Field, KaibaGraveyard, YugiGraveyard, KaLP, YuLP, "Battle");
}
}
}
public static void KaibaBattlePhase(List<Card> KaibaHand, List<Card> KaibaDeck, List<Card> KaibaFusionDeck, List<Card> YugiDeck, List< List<Card> > Field, List<Card> KaibaGraveyard, List<Card> YugiGraveyard, int KaLP, int YuLP, const string Phase)
{
string sDecision;
int Decision;
while(true)//so the while loop NEVER breaks unless you have a 'break' later on
{
Console.WriteLine("Would you like to continue the Battle Phase? (Yes-'1' No-'0', Check Kaiba's Graveyard '-1', Check YUGI's graveyard '-2')");
sDecision = Console.ReadLine();
int.TryParse(sDecision, out Decision);
if (Decision==0)
{
break;
}
if (Decision==-1)
{
KaibaGraveyardFunction(KaibaGraveyard);
}
}
}
public static void KaibaGraveyardFunction(List<Card> KaibaGraveyard)
{
Console.WriteLine("Kaiba's graveyard contains: ");
foreach (Card KG in KaibaGraveyard)
{
Console.WriteLine(KG.Name);
}
}
}
我收到以下错误:
上线KaibaGraveyardFunction(KaibaGraveyard);:
方法必须有返回类型
while(true):
类、结构或接口成员声明中的标记“while”无效
此外,我还遇到了很多其他错误,例如 “类、结构或接口成员声明中的标记 '('、'='、'.' 无效”
“语法错误,应为 ']'”
【问题讨论】:
标签: c# oop object while-loop