Android 4レッスン2

14108 ワード


  • 課題


  • 使用する変数と画像を配列に格納します.


  • 各対応するアイデンティティ値を変数に格納します.


  • 初期化されたスコア部分がTextViewに表示されます.

    scoreの値は整数部なのでStringに変換して変数に代入します.

  • ボタンイベント処理を付与します.

    ボタンを押すと、ランダムにサイコロを生成する必要があるので、Random関数を生成し、rndに値を付け、配列の長さ範囲内で乱数を表す.
    次に乱数を比較し,数を増やしてTextViewで表す.

  • 完全なソース
  • package com.example.ex0407;
    
    import androidx.appcompat.app.AppCompatActivity;
    
    import android.os.Bundle;
    import android.view.View;
    import android.widget.Button;
    import android.widget.ImageView;
    import android.widget.TextView;
    
    import java.util.Random;
    
    public class MainActivity5 extends AppCompatActivity {
        Button btn_change;
        ImageView img1,img2;
        TextView text_change1,text_change2;
        int i=0;
        int j = 0;
        int score1 = 0;
        int score2 = 0;
        int[] imgArr = {R.drawable.dice1,R.drawable.dice2,R.drawable.dice3,R.drawable.dice4,R.drawable.dice5,R.drawable.dice6};
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main5);
            img1 = findViewById(R.id.img1);
            img2 = findViewById(R.id.img2);
            btn_change = findViewById(R.id.btn_change);
            text_change1 = findViewById(R.id.textChange);
            text_change2 = findViewById(R.id.textChange3);
            String a = String.valueOf(score1);
            String b = String.valueOf(score2);
            text_change1.setText(a);
            text_change2.setText(b);
            btn_change.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View view) {
                    Random rnd = new Random();
                    i = rnd.nextInt(6);
                    j = rnd.nextInt(6);
    
                    img1.setImageResource(imgArr[i]);
                    img2.setImageResource(imgArr[j]);
    
                    if(i>j){
                        ++score1;
                        String a = String.valueOf(score1);
                        text_change1.setText(a);
                    }else if(i<j){
                        ++score2;
                        String b = String.valueOf(score2);
                        text_change2.setText(b);
                    }
                }
            });
        }
    }
  • 出力画面
  • ボタンをクリック