Untitled
unknown
plain_text
7 months ago
4.8 kB
1
Indexable
Never
int selectedIndex = 0; string[] menu = new string[] { "Book", "Settings", "Exit" }; Seat[,] aviaTickets = new Seat[6, 4] { { new Seat("A1"), new Seat("A2"), new Seat("A3"), new Seat("A4") }, { new Seat("B1"), new Seat("B2"), new Seat("B3"), new Seat("B4") }, { new Seat("C1"), new Seat("C2"), new Seat("C3"), new Seat("C4") }, { new Seat("D1"), new Seat("D2"), new Seat("D3"), new Seat("D4") }, { new Seat("E1"), new Seat("E2"), new Seat("E3"), new Seat("E4") }, { new Seat("F1"), new Seat("F2"), new Seat("F3"), new Seat("F4") } }; while (true) { Console.Clear(); Console.WriteLine("Menu"); for (int i = 0; i < menu.GetLength(0); i++) { if (selectedIndex == i) { Console.ForegroundColor = ConsoleColor.Blue; Console.WriteLine($"{i + 1}. {menu[i]} <<<"); } else { Console.ResetColor(); Console.WriteLine($"{i + 1}. {menu[i]}"); } } ConsoleKeyInfo keyInfo = Console.ReadKey(); switch (keyInfo.Key) { case ConsoleKey.UpArrow: if (selectedIndex > 0) { selectedIndex--; } break; case ConsoleKey.DownArrow: if (selectedIndex < menu.GetLength(0) - 1) { selectedIndex++; } break; case ConsoleKey.Enter: if (selectedIndex == 0) { Console.Clear(); ShowSeats(); Console.ReadKey(); } else if (selectedIndex == 1) { Console.Clear(); Console.WriteLine("Here are some settings"); Console.ReadKey(); } else if (selectedIndex == 2) { Console.Clear(); Console.ResetColor(); return; } break; } Console.ResetColor(); } void ShowSeats() { int selectedIndexY = 0; int selectedIndexX = 0; while (true) { Console.Clear(); Console.WriteLine("Book"); for (int i = 0; i < aviaTickets.GetLength(0); i++) { for (int j = 0; j < aviaTickets.GetLength(1); j++) { if (aviaTickets[i, j].IsBooked) { Console.ForegroundColor = ConsoleColor.Red; } if (i == selectedIndexY && j == selectedIndexX) { Console.ForegroundColor = ConsoleColor.Green; } else { Console.ResetColor(); } Console.Write($" [{aviaTickets[i, j].Name}] "); } Console.WriteLine(); } ConsoleKeyInfo keyInfo = Console.ReadKey(); switch (keyInfo.Key) { case ConsoleKey.UpArrow: { if (selectedIndexY > 0) { selectedIndexY--; } } break; case ConsoleKey.DownArrow: { if (selectedIndexY < aviaTickets.GetLength(0) - 1) { selectedIndexY++; } } break; case ConsoleKey.LeftArrow: { if (selectedIndexX > 0) { selectedIndexX--; } } break; case ConsoleKey.RightArrow: { if (selectedIndexX < aviaTickets.GetLength(1) - 1) { selectedIndexX++; } } break; case ConsoleKey.Enter: { while (true) { Console.WriteLine("Для подтверждения нажмите любую клавишу "); if (Console.ReadKey().Key == ConsoleKey.Enter) { aviaTickets[selectedIndexY, selectedIndexX].IsBooked = true; break; } } } break; } Console.ResetColor(); } } class Seat { public string Name; public bool IsBooked; public Seat(string name) { Name = name; } }
Leave a Comment