Untitled
unknown
lua
7 months ago
3.3 kB
0
Indexable
Never
char playerChar = '*'; ConsoleColor playerColor = ConsoleColor.Green; char pointChar = '$'; int statPlayerPositionX = 1; //int i int statPlayerPositionY = 1; //int j int currentPlayerPositionX = statPlayerPositionX; int currentPlayerPositionY = statPlayerPositionY; int pointAmount = 0; int targetPoints = 3; bool isWon=false; //Victory state char[,] map = new char[10, 10] { { '#','#','#','#','#','#','#','#','#','#', }, { '#',' ',' ',' ',' ',' ','#',' ',' ','#', }, { '#','$',' ',' ','$',' ','#',' ',' ','#', }, { '#',' ',' ',' ',' ',' ',' ',' ',' ','#', }, { '#',' ',' ','#','#','#','#','$',' ','#', }, { '#',' ','$','#',' ',' ',' ',' ',' ','#', }, { '#',' ',' ','#',' ',' ',' ',' ',' ','#', }, { '#',' ',' ',' ','#',' ',' ',' ',' ','#', }, { '#',' ',' ',' ','#',' ',' ','$',' ','#', }, { '#','#','#','#','#','#','#','#','#','#', }, }; while (true) { Render(map); Input(); if(isWon) { Console.WriteLine(); Console.WriteLine("Congratulations! You have WON!"); break; } } void Render(char[,] map) { Console.Clear(); for (int i = 0; i < map.GetLength(0); i++) { for (int j = 0; j < map.GetLength(1); j++) { if (i == currentPlayerPositionY && j == currentPlayerPositionX) { if (map[i,j]=='$') { pointAmount++; map[i, j] = 'X'; } Console.ForegroundColor = playerColor; Console.Write(playerChar + " "); } else { if (map[i, j] == '$') { Console.ForegroundColor = ConsoleColor.Yellow; } Console.Write(map[i, j] + " "); } Console.ResetColor(); } Console.WriteLine(); } Console.WriteLine($"Points collected: {pointAmount}/{targetPoints}"); if (pointAmount >= targetPoints) { Console.WriteLine("You have collected sufficient points. Please click ENTER to continue"); } else { } } void Input() { switch (Console.ReadKey().Key) { case ConsoleKey.LeftArrow: if (map[currentPlayerPositionY, currentPlayerPositionX - 1] != '#') { currentPlayerPositionX--; } break; case ConsoleKey.RightArrow: if (map[currentPlayerPositionY, currentPlayerPositionX + 1] != '#') { currentPlayerPositionX++; } break; case ConsoleKey.UpArrow: if (map[currentPlayerPositionY - 1, currentPlayerPositionX] != '#') { currentPlayerPositionY--; } break; case ConsoleKey.DownArrow: if (map[currentPlayerPositionY + 1, currentPlayerPositionX] != '#') { currentPlayerPositionY++; } break; case ConsoleKey.Enter: if (pointAmount>=targetPoints) { isWon = true; } break; default: break; } }
Leave a Comment