Hussainomer Ответов: 0

Что эта часть игры 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 будет проще, если вы используете двумерный массив для своей платы, а не жестко закодированные имена для каждого местоположения. Затем вы можете довольно быстро перебирать каждую строку и столбец.

0 Ответов