Я получаю сообщение об ошибке с моим кодом .. Я новичок в C#, и я пытаюсь сделать игру с двумя игроками пошаговой. Делать это с помощью Visual StudioC# Переменная назначается, но никогда не используется
Ошибка «Предупреждение 2 переменной„гс“присваивается, но его значение не используется»
код ниже;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System;
namespace GridWorld
{
public class newAI : BasePlayer
{
PlayerWorldState myWorldState;
private double maxSpeed = 5f;
//public int MaxNumTurn = 15;
private int Steps;
private object count;
public newAI()
: base()
{
this.Name = "AI FOR GAMES THE A TEAM";
// this.MaxNumTurn = 15;
var gs = new GridSquare.ContentType(); // the variable gs is now a new GridSquare content type
}
void Pathfind()
{
PlayerWorldState startingPoint = BasePlayer(GridSquare.ContentType.Snail);
int myX = 0;
int myY = 0;
if (myX == -1 || myY == -1) // if myX & myY are equal to minus 1 then increment the steps
Steps++;
{
return;
}
gs [myX, myY].Steps = 0; // outside whileloop
while (true)
{
bool madeProgress = false;
foreach (startingPoint mainPoint in gs)
{
int x = mainPoint.X;
int y = mainPoint.Y;
if (SquareOpen(x, y))
{
int passHere = GridSquare[x, y].Steps;
foreach (startingPoint movePoint in ValidMoves(x, y))
{
int myX = movePoint.X;
int myY = movePoint.Y;
int newPass = passHere + 1;
if (GridSquare[myX, myY].Steps > newPass)
{
GridSquare[myX, myY].Steps = newPass;
madeProgress = true;
}
Во-первых, это не ошибка, а искажение. И это действительно ясно из вашего кода. вы объявляете и инициализируете значение переменной gs, которая еще не используется, что означает, что компилятор потеряет память без причины. –
не волнуйтесь, его просто предупреждение не ошибка .. и объявить 'gs' глобально использовать его. –
Вы ищете не то место. Эта строка должна дать ошибку: 'gs [myX, myY] .Steps = 0; '(gs не определен) –