728x90
반응형
●주사위게임 만들기
package com.kmg.ex0318;
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 android.widget.Toast;
import java.util.Random;
public class MainActivity extends AppCompatActivity implements View.OnClickListener {
// Java 소스코드로 Button 에 ClickListener 달기
// 1.MainActivity.class 파일에 OnClickListener 를 implements 하기
// 2. OnClickListener 인터페이스의 onClick 메소드를 Overriding 하기 (alt + enter)
// 3. 이벤트 발생시킬 Button 에 ClickListener 를 달기 (setOnClickListener(this))
Button btn_shake;
ImageView img1, img2;
TextView tv_score;
int score1 = 0; //왼쪽주사위 이긴횟수
int score2 = 0; //오른쪽주사위 이긴횟수
int[]dice = {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_main);
btn_shake = findViewById(R.id.btn_shake);
img1 = findViewById(R.id.iv_dice1);
img2 = findViewById(R.id.iv_dice2);
tv_score = findViewById(R.id.tv_score);
btn_shake.setOnClickListener(this);
}
@Override
public void onClick(View v) {
// 버튼을 누르면 실행될 메소드
// 주사위 이미지 중에서 한개를 랜덤으로 뽑아야 함 (두번)
// 1.이미지 리소스들을(R.drawable.dice1..) 배열에 넣고 배열 인덱스 중에서 랜덤으로 뽑기
// 2.이미지 뷰의 이미지를 방금 뽑은 리소스로 바꾸기
int num1 = new Random().nextInt(6);
int num2 = new Random().nextInt(6);
img1.setImageResource(dice[num1]); // 배열에서 num1번째의 이미즈를꺼내서 왼쪽 이미지뷰에 지정
img2.setImageResource(dice[num2]); // num2번째 이미지를 오른쪽 이미지뷰에 지정
//스코어 표시하기
if(num1>num2){ //왼쪽 주사위가 이기면
score1++; //1점추가
}else if(num2 > num1){
score2++;
}else{ //무승부라면
Toast.makeText(this, "무승부여",Toast.LENGTH_SHORT).show();
}
tv_score.setText(score1 + ":" + score2);
}
}
배열에 주사위 이미지넣고 랜덤으로 뽑아서
더 큰 숫자가 나온 주사위 스코어를 1점씩 추가, 무승부라면 Toast메세지 출력하기
●Constraint Layout
Pixel로 해상도 조절가능
제약조건 활용해 카카오 화면 만들기
MainActivity하나 , xml파일 두개만들기
반응형
'Android' 카테고리의 다른 글
Intent 사용 2 (0) | 2021.03.23 |
---|---|
Intent 사용하기 (0) | 2021.03.22 |
View와 xml 이란 (0) | 2021.03.21 |
Constraint Layout 예제 실습 (0) | 2021.03.19 |
Button + onclick속성 (0) | 2021.03.11 |