Что эта часть игры tictactoe на java просит меня сделать? Нуждаются в уточнении
Здравствуйте, я делаю проект по игре tictactoe с использованием java, не используя массивы или что-то еще, но перечисляя выигрышные комбинации. Хотя я уже сделал это, следующая часть сбивает меня с толку, и я не знаю, как ее начать. Не могли бы вы начать меня с нескольких строк кода и как правильно его выполнить?
От меня требуется следующее: опция № 3 устанавливает каждое место на доске в положение "b", а затем вводит местоположение ходов игроков до тех пор, пока не будет введена буква "Q". Затем отображается доска.
Примечание: программа должна предполагать, что x всегда идет первым
Вот пример варианта № 3...
--- Input --- --- Expected output--- 3 TL TR BR Q xbo bbb bbx 3 TM MM BM TL BL Q oxb bob xxb
Я также вставлю свой код и все, что у меня есть до сих пор, и вариант 3 начинается полностью ниже, я установил логическое значение и оператор while, но idk, что поместить внутрь этого:
import java.util.Scanner; public class tictactoe{ public static void main(String[]args){ Scanner keyboard = new Scanner(System.in); int option = keyboard.nextInt(); String TL = keyboard.next(); String TM = keyboard.next(); String TR = keyboard.next(); String ML = keyboard.next(); String MM = keyboard.next(); String MR = keyboard.next(); String BL = keyboard.next(); String BM = keyboard.next(); String BR = keyboard.next(); if (option == 1){ System.out.print(TL); System.out.print(TM); System.out.print(TR); System.out.print("\n"+ML); System.out.print(MM); System.out.print(MR); System.out.print("\n"+BL); System.out.print(BM); System.out.print(BR); } else if (option == 2){ System.out.print(TL); System.out.print(TM); System.out.print(TR); System.out.print("\n"+ML); System.out.print(MM); System.out.print(MR); System.out.print("\n"+BL); System.out.print(BM); System.out.print(BR); if (TL.equals(TM) && TL.equals(TR) && TL.equals(TR) && !TL.equals("b")){ System.out.println("\n"+TL +" "+"wins"); } else if (ML.equals(MM) && ML.equals(MR) && !ML.equals("b")){ System.out.println("\n"+ML +" "+"wins"); } else if (TL.equals(ML) && TL.equals(BL) && !TL.equals("b")){ System.out.println("\n"+TL +" "+"wins"); } else if (BL.equals(BM) && BL.equals(BR) && !BL.equals("b")){ System.out.println("\n"+BM +" "+"wins"); } else if (TM.equals(MM) && TM.equals(BM) && !TM.equals("b")){ System.out.println("\n"+TM +" "+"wins"); } else if (TR.equals(MM) && TR.equals(BL) && !TR.equals("b")){ System.out.println("\n"+TR +" "+"wins"); } else if (TR.equals(MR) && TR.equals(BR) && !TR.equals("b")){ System.out.println("\n"+TR +" "+"wins"); } else if (TL.equals(MM) && TL.equals(BR) && !TL.equals("b")){ System.out.println("\n"+TL +" "+"wins"); } else{ System.out.println("\n"+"No Winner"); } } else if (option == 3){ TL = "b"; TM = "b"; TR = "b"; ML = "b"; MM = "b"; MR = "b"; BL = "b"; BM = "b"; BR = "b"; boolean go = true; while (go){ } } } }
Что я уже пробовал:
Приведенный выше код - это то, что я пробовал
Richard MacCutchan
Ваш код будет иметь больше смысла, и вариант 3 будет проще, если вы используете двумерный массив для своей платы, а не жестко закодированные имена для каждого местоположения. Затем вы можете довольно быстро перебирать каждую строку и столбец.