初期画面を設定し、白と黒を交互に置きたい

あと石が置いてある場所には置けないようにしたい。

そんでまぁ、とりあえず書いてみることにした。

目的の機能だけ作った

初期画面

真ん中の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://ja.wikipedia.org/wiki/%E3%82%AA%E3%82%BB%E3%83%AD_(%E9%81%8A%E6%88%AF)#%E5%9F%BA%E6%9C%AC%E7%9A%84%E3%81%AA%E3%83%AB%E3%83%BC%E3%83%AB

https://developer.android.com/reference/android/widget/Toast

https://java-reference.com/java_basic_final.html

カテゴリー: したい タグ: , , , パーマリンク

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です