ОК, я делал шахматный бот, как только я его закончил, я получил эту ошибку: < /p>
System.NullReferenceException: Object reference not set to an instance of an object.
at MyBot.GetAdjustmentList(Int32 pieceType) in C:\Users\PC\Desktop\Chess-Challenge-main\Chess-Challenge-main\Chess-Challenge\src\My Bot\MyBot.cs:line 214
at MyBot.GetAdjustmentList(Int32 pieceType) in C:\Users\PC\Desktop\Chess-Challenge-main\Chess-Challenge-main\Chess-Challenge\src\My Bot\MyBot.cs:line 214
at MyBot.GetSortedMoves(Boolean capturesOnly) in C:\Users\PC\Desktop\Chess-Challenge-main\Chess-Challenge-main\Chess-Challenge\src\My Bot\MyBot.cs:line 147
at MyBot.Search(Int32 currentDepth, Int32 alpha, Int32 beta, Int32 color) in C:\Users\PC\Desktop\Chess-Challenge-main\Chess-Challenge-main\Chess-Challenge\src\My at MyBot.Search(Int32 currentDepth, Int32 alpha, Int32 beta, Int32 color) in C:\Users\PC\Desktop\Chess-Challenge-main\Chess-Challenge-main\Chess-Challenge\src\My Bot\MyBot.cs:line 89
Bot\MyBot.cs:line 89
at MyBot.Think(Board board, Timer timer) in C:\Users\PC\Desktop\Chess-Challenge-main\Chess-Challenge-main\Chess-Challenge\src\My Bot\MyBot.cs:line 68
at ChessChallenge.Application.ChallengeController.GetBotMove() in C:\Users\PC\Desktop\Chess-Challenge-main\Chess-Challenge-main\Chess-Challenge\src\Framework\Application\Core\ChallengeController.cs:line 150
< /code>
Я отследил его до этой строки кода: < /p>
API.Move move = PlayerToMove.Bot.Think(botBoard, timer);
scoreGuess += GetSquareValue(move.TargetSquare, boardRef.IsWhiteToMove, GetAdjustmentList(movePieceType));
return pieceType == 6 && IsEndGame() ? pieceAdjustments[7] : pieceAdjustments[pieceType];
< /code>
Я не знаю, почему она получает эту ошибку, я уверен, что я ничего не назначил нулю, я проверял все вещи, которые уже за десятки раз < /p>
Вероятно, это хорошо, чтобы упомянуть об этом, часть, где он поймал исключение: < /p>
try
{
API.Timer timer = new(PlayerToMove.TimeRemainingMs, PlayerNotOnMove.TimeRemainingMs, GameDurationMilliseconds, IncrementMilliseconds);
API.Move move = PlayerToMove.Bot.Think(botBoard, timer);
return new Move(move.RawValue);
}
catch (Exception e)
{
Log("An error occurred while bot was thinking.\n" + e.ToString(), true, ConsoleColor.Red);
hasBotTaskException = true;
botExInfo = ExceptionDispatchInfo.Capture(e);
}
return Move.NullMove;
Подробнее здесь: https://stackoverflow.com/questions/796 ... -can-i-fix
Несколько строк кода моего шахматного бота получают ошибки исключений в NULL, как я могу это исправить? [дублировать] ⇐ C#
Место общения программистов C#
1752001709
Anonymous
ОК, я делал шахматный бот, как только я его закончил, я получил эту ошибку: < /p>
System.NullReferenceException: Object reference not set to an instance of an object.
at MyBot.GetAdjustmentList(Int32 pieceType) in C:\Users\PC\Desktop\Chess-Challenge-main\Chess-Challenge-main\Chess-Challenge\src\My Bot\MyBot.cs:line 214
at MyBot.GetAdjustmentList(Int32 pieceType) in C:\Users\PC\Desktop\Chess-Challenge-main\Chess-Challenge-main\Chess-Challenge\src\My Bot\MyBot.cs:line 214
at MyBot.GetSortedMoves(Boolean capturesOnly) in C:\Users\PC\Desktop\Chess-Challenge-main\Chess-Challenge-main\Chess-Challenge\src\My Bot\MyBot.cs:line 147
at MyBot.Search(Int32 currentDepth, Int32 alpha, Int32 beta, Int32 color) in C:\Users\PC\Desktop\Chess-Challenge-main\Chess-Challenge-main\Chess-Challenge\src\My at MyBot.Search(Int32 currentDepth, Int32 alpha, Int32 beta, Int32 color) in C:\Users\PC\Desktop\Chess-Challenge-main\Chess-Challenge-main\Chess-Challenge\src\My Bot\MyBot.cs:line 89
Bot\MyBot.cs:line 89
at MyBot.Think(Board board, Timer timer) in C:\Users\PC\Desktop\Chess-Challenge-main\Chess-Challenge-main\Chess-Challenge\src\My Bot\MyBot.cs:line 68
at ChessChallenge.Application.ChallengeController.GetBotMove() in C:\Users\PC\Desktop\Chess-Challenge-main\Chess-Challenge-main\Chess-Challenge\src\Framework\Application\Core\ChallengeController.cs:line 150
< /code>
Я отследил его до этой строки кода: < /p>
API.Move move = PlayerToMove.Bot.Think(botBoard, timer);
scoreGuess += GetSquareValue(move.TargetSquare, boardRef.IsWhiteToMove, GetAdjustmentList(movePieceType));
return pieceType == 6 && IsEndGame() ? pieceAdjustments[7] : pieceAdjustments[pieceType];
< /code>
Я не знаю, почему она получает эту ошибку, я уверен, что я ничего не назначил нулю, я проверял все вещи, которые уже за десятки раз < /p>
Вероятно, это хорошо, чтобы упомянуть об этом, часть, где он поймал исключение: < /p>
try
{
API.Timer timer = new(PlayerToMove.TimeRemainingMs, PlayerNotOnMove.TimeRemainingMs, GameDurationMilliseconds, IncrementMilliseconds);
API.Move move = PlayerToMove.Bot.Think(botBoard, timer);
return new Move(move.RawValue);
}
catch (Exception e)
{
Log("An error occurred while bot was thinking.\n" + e.ToString(), true, ConsoleColor.Red);
hasBotTaskException = true;
botExInfo = ExceptionDispatchInfo.Capture(e);
}
return Move.NullMove;
Подробнее здесь: [url]https://stackoverflow.com/questions/79694716/my-chess-bots-few-lines-of-code-is-getting-null-exception-errors-how-can-i-fix[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия