あと石が置いてある場所には置けないようにしたい。
そんでまぁ、とりあえず書いてみることにした。
目的の機能だけ作った
初期画面
真ん中の4つのマスにTextを設定するだけ。この機会にルールをちゃんと見てみたら、置き方にも決まりがあるのね。黒が右って初めて知った。
石が置いてある時に置けないようにする
TextView tv = findViewById(id);
String stone;
stone = tv.getText().toString();
if(!stone.equals("")){
Toast.makeText(this,"そこに石は置けません", Toast.LENGTH_SHORT).show();
}
タップした所のTextを取得。それが空白以外(○、●)だったらToastを表示する。
ほんとは文言はString.xmlから引っ張るほうが良いみたい。
手番によって置く石を変える
int PlayerTurn = 1; final int BLACK = 1; final int WHITE = -1;
}else{
switch(PlayerTurn){
case BLACK:
tv.setText("●");
PlayerTurn = WHITE;
break;
case WHITE:
tv.setText("○");
PlayerTurn = BLACK;
break;
}
}
PlayerTurnで手番を管理して、手番によって置く石を変更して、石置いた後は手番を変える。
これでできた。finalって初めて使ったなぁ。
…
できたはできたんだけど、今後もこんな感じで処理の流れを見つつ間に追記したりするのか?と不安になる。そいで色んなオセロ・リバーシのソースを見てみたら、クラスを作ると良いみたい。ただ、VBA書いてる時は、クラスとか使ったことないし、自分に書けるかというと、どうだろう。ただやってみたくはあるなぁ。やってみようかなぁ。
参考
https://developer.android.com/reference/android/widget/Toast
