Ultra960 Ответов: 2

Я получаю ошибку c# 1002 в своем коде. Я только начал кодировать несколько дней назад и не знаю в чем проблема


using System;

public class Source
{
    static public void Main ()
    {
        int mob;
		int character = 15;
		Random random = new Random();
		int i;
		string[] mobs = {"hobgoblin", "goblin", "imp"};
		for(i = 0;i < 1; i++);
		Console.WriteLine("you are a adveturer");
		Console.WriteLine("and you are equiped with a sword and a bow");
		Console.WriteLine("you are walking down a path an sudenly you encounter an enemy");
		Console.WriteLine("you encountered a");
		string enemy = (mobs[(random.Next(0, 3))]);
		Console.WriteLine(enemy);
		int hitpoints;
		{
		if (enemy == "hobgoblin")
		hitpoints = 15;
		else if (enemy == "goblin")
		hitpoints = 12;
		else if (enemy == "imp")
		hitpoints = 14;
		}
		{
		string fight = Console.ReadLine();
		if (fight = attack)
		hitpoints -- 4;
		}
	
		
		
		
		
	
   }
}


Что я уже пробовал:

Я пытался добавить больше, но это только вызвало больше ошибок

2 Ответов

Рейтинг:
5

Nelek

Не обижайтесь, но я думаю, что вам следует сделать это немного медленнее.

Я не собираюсь ничего решать за вас, только указывая на то, что я вижу на лету (и я мог бы что-то наблюдать).

- Ты не сеешь случайность. В c# конструктор делает это за вас, но если вы хотите уменьшить "повторения" псевдослучайного ряда, вы можете дать ему что-то другое.
- ИЗМЕНИТЬ ДОБАВИТЬ: Этот for ограничения неверны, вы не собираетесь делать цикл, только одно выполнение
- Этот for не имеет скобок, так что это повлияет только самая следующая строчка.
- Вы открываете скобки после того, как int hitpoints но в этом положении нет ничего подходящего. Я полагаю, что это открывающие скобки для, и вы просто добавили другие вещи (консоль записи и чтения) в неправильном положении.
- После "вы столкнулись с ..." вы не просите пользователя предпринять какие-либо действия или какие есть варианты, но вы ожидаете конкретной вещи после этого.
- Ты не сравниваешь fight к чему-то вы это приписываете.
- ИЗМЕНИТЬ ДОБАВИТЬ:Скобки из fight часть ошибается.
- Использование -- по "хитпоинтам" это неправильно.

- ИЗМЕНИТЬ ДОБАВИТЬ:Объем / контекст проекта for делает не очень-то смысле там. Если вы хотите сражаться до тех пор, пока не будете убиты или мертвы, то вам следует использовать другую конструкцию цикла, принимая во внимание точки попадания обеих частей, сражающихся в качестве ограничений.

Компилятор, вероятно, дает вам список ошибок, есть ошибки, которые появятся первыми, когда вы решите другие проблемы. Поэтому просто получите первую ошибку, попробуйте найти информацию о ней, решите ее и затем перейдите к следующей. Рим не был построен за один день, не пытайтесь решить все сразу, потому что вы потеряете перспективу. Одна ошибка, потом еще одна.

Кроме того, я настоятельно рекомендую вам начать играть с отладчиком. Как только вам удастся скомпилировать его правильно. Установите точку останова в начале вашей программы и идите строка за строкой, глядя на значения переменных.
Отладчик-это один из самых мощных и полезных инструментов, который вы можете использовать для самостоятельного поиска ошибок / причин ошибок. Чем скорее вы научитесь им пользоваться, тем лучше.


Рейтинг:
14

Patrice T

Цитата:
Я получаю ошибку c# 1002 в своем коде.

Первая реакция-спросите у Google.
Код ошибки поставляется с позицией в исходном коде, когда вы просите о помощи, это хорошая идея, чтобы дать полную информацию, так как не у каждого есть язык, готовый работать с вашими данными.

Этот цикл абсурдно:
for(i = 0;i < 1; i++);

Петля пуста и может быть заменена на
i = 1;


Совет: Научитесь правильно делать отступы в вашем коде, это покажет его структуру и поможет чтению и пониманию. Это также помогает выявлять структурные ошибки.
using System;

public class Source
{
    static public void Main ()
    {
        int mob;
        int character = 15;
        Random random = new Random();
        int i;
        string[] mobs = {"hobgoblin", "goblin", "imp"};
        for(i = 0;i < 1; i++);
        Console.WriteLine("you are a adveturer");
        Console.WriteLine("and you are equiped with a sword and a bow");
        Console.WriteLine("you are walking down a path an sudenly you encounter an enemy");
        Console.WriteLine("you encountered a");
        string enemy = (mobs[(random.Next(0, 3))]);
        Console.WriteLine(enemy);
        int hitpoints;
        {
            if (enemy == "hobgoblin")
                hitpoints = 15;
            else if (enemy == "goblin")
                hitpoints = 12;
            else if (enemy == "imp")
                hitpoints = 14;
        }
        {
            string fight = Console.ReadLine();
            if (fight = attack)
                hitpoints -- 4;
        }
    }
}

Стиль отступа - Википедия[^]

Профессиональные редакторы программистов имеют эту функцию и другие, такие как сопоставление скобок и подсветка синтаксиса.
Блокнот++ Главная Страница[^]
личные[^]
[Обновление]
Кстати, где вы нашли этот синтаксис:
hitpoints -- 4;