Я изучаю Android Studio, и мне нужно создать программу TicTacToe. Сама игра работает очень хорошо, однако мне также нужно, чтобы пользовательский ввод спросил, кто идет первым и какого цвета (между двумя цветами, такими как красный или черный), кто хотел бы быть первым, кто хотел бы быть.
IЯ просмотрел документацию по AlertDialogs, и я просто не могу понять, как, с точки зрения непрофессионала, сделать что-то вроде:
if (alert.getButtonPressed() == "X") {
firstLetter == "X"
}
else {
firstLetter == "O"
}
Это не то, на что это было бы похоже ВСЕМ, язнаю, но я просто пытаюсь помочь вам всем понять, что я пытаюсь сделать здесь. Мне также нужно, чтобы он делал что-то похожее, но вместо того, чтобы задавать первую букву или кто идет первым в X / O, мне также нужно установить цвет X / O в зависимости от того, кто первым хочет быть.
Код, который я буду публиковать, не является полной программой, но я надеюсь, что он может дать вам достаточно важных вещей, чтобы помочь вам понять, как программа выглядит в целом. Там гораздо больше кода, чем я показываю, и снова игра работает, я хочу добавить возможность выбирать, кто идет первым, Х или О, и какого цвета будет человек, идущий первым. Я не в какой-либо форме и не прошу кого-то просто сделать это для меня, я просто хочу знать, будет ли в контексте моей программы возможно получить все, что пользователь нажимает из AlertDialog, а затем изменитькакое письмо идет первым и какого цвета будет это письмо.
Если вам потребуется опубликовать больше кода, дайте мне знать. Я действительно стараюсь не походить на студента колледжа, который ищет кого-то, кто решит все мои проблемы, и просто передал мне ответ, поэтому, если я это сделаю, я извиняюсь и уверяю вас, что это не так. Я полностью готов и готов отредактировать и изменить этот пост, используя все необходимое, чтобы помочь мне понять это.
@Override
protected void onCreate( Bundle savedInstanceState ) {
super.onCreate( savedInstanceState );
game = new TicTacToe( );
Point size = new Point( );
getWindowManager().getDefaultDisplay( ).getSize( size );
int w = size.x / TicTacToe.SIDE;
ButtonHandler bh = new ButtonHandler( );
tttView = new ButtonGridAndTextView( this, w, TicTacToe.SIDE, bh );
tttView.setStatusText( game.result( ) );
setContentView( tttView );
}
private class ButtonHandler implements View.OnClickListener { //this is the buttonhandler to put an X/O
public void onClick( View v ) {
for( int row = 0; row < TicTacToe.SIDE; row++ ) {
for( int column = 0; column < TicTacToe.SIDE; column++ ) {
if( tttView.isButton( ( Button ) v, row, column ) ) {
int play = game.play( row, column );
if( play == 1 )
tttView.setButtonText( row, column, "O" );
else if( play == 2 )
tttView.setButtonText( row, column, "X" );
if( game.isGameOver( ) ) {
tttView.setStatusBackgroundColor( Color.RED );
tttView.enableButtons( false );
tttView.setStatusText( game.result( ) );
showNewGameDialog( ); // offer to play again
}
}
}
}
}
}
}
//Next bit of code is from my TicTacToe.java class
public int play( int row, int col ) {
int currentTurn = turn;
if( row >= 0 && col >= 0 && row < SIDE && col < SIDE
&& game[row][col] == 0 ) {
game[row][col] = turn;
if( turn == 1 )
turn = 2;
else
turn = 1;
return currentTurn;
}
else
return 0;
}