beep boop

This commit is contained in:
AUnicornWithNoLife 2023-05-25 13:58:09 +01:00
parent 60ce786b37
commit 143756afbd
3 changed files with 98 additions and 23 deletions

View File

@ -33,12 +33,46 @@ namespace Master_Mind
public static int[] ShittyGuess(Game.GameData game) public static int[] ShittyGuess(Game.GameData game)
{ {
int[] guess = new int[4];
if (game.go == 0) if (game.go == 0)
{ {
// RANDOM // RANDOM
Random r = new Random();
guess[0] = r.Next(6);
guess[1] = r.Next(6);
guess[2] = r.Next(6);
guess[3] = r.Next(6);
return guess;
} }
// LOOP thru while (!IsThisValidGivenWhatIKnow(game, guess))
{
if (++guess[0] >= 6)
{
guess[0] = 0;
if (++guess[1] >= 6)
{
guess[1] = 0;
if (++guess[2] >= 6)
{
guess[2] = 0;
if (++guess[3] >= 6)
{
throw new Exception("UM WTF");
}
}
}
}
}
return guess;
} }
public static bool IsThisValidGivenWhatIKnow(Game.GameData game, int[] guess) public static bool IsThisValidGivenWhatIKnow(Game.GameData game, int[] guess)
@ -51,6 +85,7 @@ namespace Master_Mind
{ {
if if
( (
((gDat[y] == 0) && (guess[y] == game.board[x, y])) ||
((gDat[y] == 1) && (guess[y] != game.board[x, y])) || ((gDat[y] == 1) && (guess[y] != game.board[x, y])) ||
((gDat[y] == 2) && (guess[y] == game.board[x, y])) ((gDat[y] == 2) && (guess[y] == game.board[x, y]))
) )
@ -58,6 +93,28 @@ namespace Master_Mind
} }
} }
for (int x = 0; x < game.go; x++)
{
int[] gDat = game.ContainsCalcIHateThis(x);
for (int y = 0; y < 4; y++)
{
if (gDat[y] == 2 && !(guess.Contains(game.board[x, y])))
return false;
}
}
/*for (int x = 0; x < game.go; x++)
{
int[] gDat = game.ContainsCalcIHateThis(x);
for (int y = 0; y < 4; y++)
{
if (gDat[y] == 0 && (guess.Contains(game.board[x, y])))
return false;
}
}*/
return true; return true;
} }
} }

View File

@ -100,6 +100,10 @@ namespace Master_Mind
Console.WriteLine("Loading..."); Console.WriteLine("Loading...");
int g = 0;
for (int x = 0; x < 100; x++)
{
GameData game = new GameData(); GameData game = new GameData();
if (opt == 1) if (opt == 1)
@ -122,14 +126,20 @@ namespace Master_Mind
do do
{ {
game.AddRow(Render.GetColorInput()); //game.AddRow(Render.GetColorInput());
game.AddRow(AI.ShittyGuess(game));
Console.Clear(); Console.Clear();
Render.RenderBoard(game); Render.RenderBoard(game);
Console.ReadLine(); //Console.ReadLine();
g++;
} while (game.won == 0); } while (game.won == 0);
} }
Console.WriteLine(((float)g / 100f).ToString());
}
} }
} }

View File

@ -55,6 +55,14 @@ namespace Master_Mind
} }
Console.WriteLine("\n"); Console.WriteLine("\n");
for (int y = 0; y < 4; y++)
{
Console.BackgroundColor = Values.colors[board.sequence[y]];
Console.Write(" ");
Console.BackgroundColor = ConsoleColor.Black;
Console.Write(" ");
}
} }
public static int[] GetColorInput() public static int[] GetColorInput()