Splitting methods to optimize
continuous-integration/drone/push Build is passing Details

test_old_branch
Jules LASCRET 11 months ago
parent 48d41e0496
commit ef49b7ea53

@ -212,6 +212,31 @@ namespace QwirkleClassLibrary
return true;
}
public bool CheckExtendedSurroundingCells(Tile tile, int x, int y, int dx, int dy, Board b)
{
for (int i = 1; i < 7; i++)
{
var extendedCell = b.GetCell(x + i * dx, y + i * dy);
if (extendedCell?.GetTile == null)
{
break;
}
if (extendedCell.GetTile.GetColor != tile.GetColor && extendedCell.GetTile.GetShape != tile.GetShape)
{
return false;
}
if (i == 6)
{
return false;
}
}
return true;
}
public bool IsMoveCorrect(Tile t, int x, int y, Board b)
{
@ -220,7 +245,7 @@ namespace QwirkleClassLibrary
return true;
}
var surroundingCells = new[]
var surroundingCells = new List<Cell?>
{
b.GetCell(x + 1, y),
b.GetCell(x - 1, y),
@ -243,24 +268,9 @@ namespace QwirkleClassLibrary
var dx = cell.GetX - x;
var dy = cell.GetY - y;
for (int i = 1; i < 7; i++)
if (CheckExtendedSurroundingCells(t, x, y, dx, dy, b) == false)
{
var extendedCell = b.GetCell(x + i * dx, y + i * dy);
if (extendedCell?.GetTile == null)
{
break;
}
if (extendedCell.GetTile.GetColor != t.GetColor && extendedCell.GetTile.GetShape != t.GetShape)
{
return false;
}
if (i == 6)
{
return false;
}
return false;
}
}
@ -270,7 +280,7 @@ namespace QwirkleClassLibrary
public bool IsGameOver()
{
return false;
return true;
}
}
}

@ -14,6 +14,8 @@ namespace QwirkleClassLibrary
bool IsMoveCorrect(Tile t, int x, int y, Board b);
bool CheckExtendedSurroundingCells(Tile tile, int x, int y, int dx, int dy, Board b);
bool IsGameOver();
}
}

@ -195,7 +195,7 @@ static void MainMenu(Game game)
game.DrawTiles(game.GetPlayingPlayer());
MenuSwitch(game);
} while (true); //while (game.GetPlayingPlayerPosition() != game.PlayerList.Count - 1);
} while (game.IsGameOver()); //while (game.GetPlayingPlayerPosition() != game.PlayerList.Count - 1);
}
static void MainGame()

Loading…
Cancel
Save