c# - 无法调用方法 endgame()
问题描述
所以对于主类,我只有这个代码。调用 cClass。这是一个骰子游戏
{
class Program
{
static void Main(string[] args)
{
cClass cs = new cClass();
}
}
对于 Constructor 类,即 cClass,我有这个代码。该方法endgame()
不起作用。这就是问题所在,当骰子游戏完成战斗时,endgame()
它不起作用。
class cClass
{
public cClass()
{
Intialize();
}
public void Intialize()
{
sClass.round = 1;
while (sClass.com < 3 && sClass.player < 3)
{
start:
Console.WriteLine("Round (" + sClass.round + ")");
Console.WriteLine("Enter your guess: ( 1 - 6)");
sClass.guess = Convert.ToInt32(Console.ReadLine());
if (sClass.guess >= 7)
{
Console.WriteLine("Only enter number ranges from 1 - 6");
Console.ReadLine();
Console.Clear();
goto start;
}
sClass.playgame();
System.Threading.Thread.Sleep(1000);
Console.WriteLine("\nThe dice rolled is...");
Console.WriteLine(sClass.playerdie);
Console.WriteLine("\nPlayer guessed: " + sClass.guess);
Console.WriteLine("Computer guessed: " + sClass.comguess);
if ((sClass.comguess == sClass.playerdie) && (sClass.guess == sClass.playerdie))
{
Console.WriteLine("\nBoth guessed correctly! Restarting the round!\n");
Console.WriteLine("Player points: " + sClass.player);
Console.WriteLine("Computer points: " + sClass.com);
}
else if (sClass.guess == sClass.playerdie)
{
sClass.player++;
Console.WriteLine("\nPlayer guessed correctly you won!\n");
Console.WriteLine("Player points: " + sClass.player);
Console.WriteLine("Computer points: " + sClass.com);
sClass.round++;
}
else if (sClass.comguess == sClass.playerdie)
{
sClass.com++;
Console.WriteLine("\nComputer guessed correctly you lost...\n");
Console.WriteLine("Player points: " + sClass.player);
Console.WriteLine("Computer points: " + sClass.com);
sClass.round++;
}
else
{
Console.WriteLine("\nNo one got it correct restarting the round!\n");
Console.WriteLine("Player points: " + sClass.player);
Console.WriteLine("Computer points: " + sClass.com);
}
Console.ReadLine();
Console.Clear();
}
endgame();
}
public void endgame()
{
if (sClass.player > sClass.com)
{
Console.WriteLine("Player Win! Player vs Computer");
Console.WriteLine(" (" + sClass.player + ") vs (" + sClass.com + ")");
}
else if (sClass.player < sClass.com)
{
Console.WriteLine("Computer Win! Player vs Computer");
Console.WriteLine(" (" + sClass.player + ") vs (" + sClass.com + ")");
}
else
{
Console.WriteLine("Its a draw! Player vs Computer");
Console.WriteLine(" (" + sClass.player + ") vs (" + sClass.com + ")");
}
}
}
然后我还有一个静态类,就是sClass。
static class sClass
{
public static int dice = 1;
public static int playerdie;
public static int guess;
public static int comguess;
public static int player;
public static int com;
public static int round;
public static Random r = new Random();
public static void playgame()
{
comguess = r.Next(1, 6);
playerdie = rolldie();
}
public static int rolldie()
{
int die = r.Next(1, 6);
return die;
}
}
解决方案
所以,你刚才说没有错误。我想你只是错过了 1 个代码。在cClass.cs
转到Initialize()
方法中,转到endgame()
然后把Console.ReadLine
上面的endgame
endgame();
Console.ReadLine();
然后它会显示endgame
方法。
推荐阅读
- python-3.x - 为了使其实例实现上下文管理器协议,需要在类 A 中重新定义哪些功能?
- c# - 由于与 ILogger 的引用冲突,无法启动依赖注入的 Azure 函数
- visual-studio - 连接到其他计算机上的 adb 服务器的 Visual Studio 可以运行连接到其他计算机的 android 设备吗?
- codenameone - 如何在屏幕底部为 iPhone X 任务切换栏留下空白?
- python - 使用 Selenium 和条件 xpath 来单击元素
- python-3.x - 使用 Pandas 填充缺失的数据
- php - 使用 dockerfile 在 docker 中安装 mongodb 驱动程序
- python-3.x - test_request_context 中的 Cating 烧瓶中止状态代码
- java - 当 setMaxFileSize() 和 setMaxDuration() 组合使用时,MediaRecorder 服务器死机
- php - 使用冰岛语言环境对数组进行排序