我正在尝试创建一个简单的战斗游戏,你可以选择你的课程,你可以根据该课程获得不同的统计数据。我想将整数传递给战斗方法,但我遇到了麻烦。
我不断收到CS7036
错误说“没有给出与Chance
所需的形式参数MainGame.Combat(int, int, int)
相对应的参数无论出于什么原因,它只是受影响的机会。我不知道明白为什么。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApp3
{
public class MainGame
{
public static void Main()
{
Character();
}
public static void Character()
{
Console.WriteLine("Choose your class. Warrior or elf?");
var charClass = Console.ReadLine();
if (charClass.Equals("warrior", StringComparison.InvariantCultureIgnoreCase))
{
MainGame.Combat(20, 10, 15);
Console.ReadLine();
}
if (charClass.Equals("elf", StringComparison.InvariantCultureIgnoreCase))
{
MainGame.Combat(20, 10, 15);
Console.ReadLine();
}
Console.WriteLine("Combat Begins!");
Combat();
}
public static void Combat(int Strength, int Chance, int Armor)
{
int HP = 100;
while (HP > 0)
{
Random Dodge = new Random();
int HitPercent = Dodge.Next(1, 101);
if (HitPercent > MainGame.Combat(1) && HitPercent < 90)
{
Console.WriteLine(HitPercent + "! Hit!");
HP = (HP - (MainGame.Combat(0) - MainGame.Combat(2)));
Console.WriteLine(HP + " HP remaining!");
Console.ReadLine();
}
else if (HitPercent > 90)
{
Console.WriteLine(HitPercent + "! Crit!");
HP = (HP - MainGame.Combat(0));
Console.WriteLine(HP + " HP remaining!");
Console.ReadLine();
}
else
Console.WriteLine(HitPercent + "! Miss!");
Console.WriteLine(HP + " HP remaining!");
Console.ReadLine();
}
Console.WriteLine("You're dead!");
}
}
}
答案 0 :(得分:0)
你有一个名为Combat的方法。该方法需要三个参数。在几个地方,你正在调用MainGame.Combat(0)或MainGame.Combat(1),这意味着你只传递方法所需的三个参数。