私はアマチュア プログラマーで、XNA Game studio で単純な Noughts and crosses ゲームに取り組んでいます。現在、左クリックで移動をトリガーするようにしていますが、機能していました。しかし、部分クラス コマンドを使用してコードを 2 つのファイルに転送していたときに、誤ってコードを変更してしまい、右上隅の四角形が機能しなくなりました。これをチェックする「更新」コードは次のとおりです。
private void MouseProcess()
{
MouseState mstate = Mouse.GetState();
Mouse_pos = new Vector2(mstate.X, mstate.Y);
float xpos = mstate.X;
float ypos = mstate.Y;
if (mstate.LeftButton.Equals(ButtonState.Pressed))
{
if (xpos >= Gamevar[0].Position.X && xpos <= Gamevar[0].Position.X + 72)
{
C = 1;
}
if (xpos >= Gamevar[1].Position.X && xpos <= Gamevar[1].Position.X + 72)
{
C = 2;
}
if (xpos >= Gamevar[2].Position.X && xpos <= Gamevar[2].Position.X + 72)
{
C = 3;
}
if (ypos >= Gamevar[0].Position.Y && xpos <= Gamevar[0].Position.Y + 75)
{
R = 1;
}
if (ypos >= Gamevar[3].Position.Y && xpos <= Gamevar[3].Position.Y + 75)
{
R = 2;
}
if (ypos >= Gamevar[6].Position.Y && xpos <= Gamevar[6].Position.Y + 75)
{
R = 3;
}
}
}
private void Turncode()
{
switch (turn)
{
case true:
switch (C)
{
case 1:
switch (R)
{
case 1:
Gamevar[0].owner = 1;
turn = false;
C = 0;
R = 0;
break;
case 2:
Gamevar[3].owner = 1;
turn = false;
C = 0;
R = 0;
break;
case 3:
Gamevar[6].owner = 1;
turn = false;
C = 0;
R = 0;
break;
}
break;
case 2:
switch (R)
{
case 1:
Gamevar[1].owner = 1;
turn = false;
C = 0;
R = 0;
break;
case 2:
Gamevar[4].owner = 1;
turn = false;
C = 0;
R = 0;
break;
case 3:
Gamevar[7].owner = 1;
turn = false;
C = 0;
R = 0;
break;
}
break;
case 3:
switch (R)
{
case 1:
Gamevar[2].owner = 1;
turn = false;
C = 0;
R = 0;
break;
case 2:
Gamevar[5].owner = 1;
turn = false;
C = 0;
R = 0;
break;
case 3:
Gamevar[8].owner = 1;
turn = false;
C = 0;
R = 0;
break;
}
break;
}
break;
case false:
switch (C)
{
case 1:
switch (R)
{
case 1:
Gamevar[0].owner = 2;
turn = true;
C = 0;
R = 0;
break;
case 2:
Gamevar[3].owner = 2;
turn = true;
C = 0;
R = 0;
break;
case 3:
Gamevar[6].owner = 2;
turn = true;
C = 0;
R = 0;
break;
}
break;
case 2:
switch (R)
{
case 1:
Gamevar[1].owner = 2;
turn = true;
C = 0;
R = 0;
break;
case 2:
Gamevar[4].owner = 2;
turn = true;
C = 0;
R = 0;
break;
case 3:
Gamevar[7].owner = 2;
turn = true;
C = 0;
R = 0;
break;
}
break;
case 3:
switch (R)
{
case 1:
Gamevar[2].owner = 2;
turn = true;
C = 0;
R = 0;
break;
case 2:
Gamevar[5].owner = 2;
turn = true;
C = 0;
R = 0;
break;
case 3:
Gamevar[8].owner = 2;
turn = true;
C = 0;
R = 0;
break;
}
break;
}
break;
}
}
それほど複雑ではありませんが、Gamevar[1]、[2]、[5] は機能しません。