과제
사용할 변수와, 이미지를 배열에 저장시킨다.
각 해당되는 아이디값을 변수에 저장시킨다.
초기화된 점수 부분을 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);
}
}
});
}
}