试图创建一个简单的RPG战斗引擎。继续“没有给出任何争论”的错误

时间:2017-05-30 02:42:06

标签: c# c#-4.0

我正在尝试创建一个简单的战斗游戏,你可以选择你的课程,你可以根据该课程获得不同的统计数据。我想将整数传递给战斗方法,但我遇到了麻烦。

我不断收到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!");
    }
}

}

1 个答案:

答案 0 :(得分:0)

你有一个名为Combat的方法。该方法需要三个参数。在几个地方,你正在调用MainGame.Combat(0)或MainGame.Combat(1),这意味着你只传递方法所需的三个参数。