Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Ошибка в коде C#

Tim_LoGG Профи (542), на голосовании 5 месяцев назад
https://pastebin.com/fVxWg8wr что я сделал не так? Выдаёт такие ошибки как:

Ошибка CS1503 Аргумент 1: не удается преобразовать из "группа методов" в "System.Threading.ParameterizedThreadStart"

Ошибка CS7036 Отсутствует аргумент, соответствующий требуемому параметру "text" из "Program.Main(string[], char)"
Голосование за лучший ответ
resurce Гуру (4210) 6 месяцев назад
using System;
using System.Threading;

public class Program
{
private static bool onProgram = true;
private static byte score = 0;
private static int positionX = 10;
private static int positionY = 5;
private static char[] item = { '$', '$', '$' };
private static string point = "Ы";
private static string error = null;
private static char lastKey = ' ';

public static void Main(string[] args)
{
Thread inputThread = new Thread(Walking);
inputThread.Start();

Console.CursorVisible = false;

// Первая прорисовка
Draw();

while (onProgram)
{
error = null;

switch (lastKey)
{
case 'd':
positionX++; break;

case 'a':
positionX--; break;

case 's':
positionY++; break;

case 'w':
positionY--; break;

default:
if (lastKey != ' ')
{
error = "Недопустимая команда";
}
break;
}

// Защита выхода за карту
if (positionX <= 1) positionX = 1;
if (positionY <= 0) positionY = 0;

// Очистка экрана и повторная прорисовка
Draw();
Thread.Sleep(100);
}
}

static void Draw()
{
Console.Clear();

Console.SetCursorPosition(12, 3);
Console.WriteLine(point);

Console.SetCursorPosition(positionX, positionY);
Console.WriteLine(item);

Console.SetCursorPosition(0, 20);
Console.WriteLine($"Счет: {score}");

if (error != null)
{
Console.WriteLine(error);
}
}

static void Walking()
{
while (onProgram)
{
// Чтение вводимого символа
lastKey = Console.ReadKey(true).KeyChar;

// Завершение программы при нажатии клавиши 'q'
if (lastKey == 'q')
{
onProgram = false;
}
}
}
}
resurceГуру (4210) 6 месяцев назад
В данном коде имеется несколько ошибок и проблем:
Метод Main принимает два аргумента, хотя по умолчанию должен принимать только один массив строк args.
Метод Walking неправильно вызывает метод Main.
Переменная text не обновляется внутри метода Main, а передается только один раз в качестве аргумента.
Отсутствует способ корректного завершения программы.
Метод Walking должен принимать только один аргумент или работать с глобальной переменной.
Похожие вопросы