이번 시간에는 저번 포스팅에 이어서 하겠습니다.
화면을 구성했으니, 8개의 이미지 버튼에 이미지를
보여주도록 하겠습니다.
이미지는 나중에 똑같은 이미지를 맞춰야 하기 때문에
섞어서 보여줘야 합니다. 그럼 시작하겠습니다.
이전 포스팅은 아래 링크로 들어가시면 됩니다.
2022.04.02 - [안드로이드] - [안드로이드] 같은 그림 찾기 게임 만드는 방법 part1 - 화면 구성
- 설명 -
imageId: 이미지 아이디(R.drawable.dog)
isFaceUp: 카드 앞면(false) 카드 뒷면(true)
isMatched: 매치(true) 노 매치(false)
public class MemoryCard {
private int imageId;
private boolean isFaceUp;
private boolean isMatched;
public MemoryCard(int imageId, boolean isFaceUp, boolean isMatched) {
this.imageId = imageId;
this.isFaceUp = isFaceUp;
this.isMatched = isMatched;
}
public int getImageId() {
return imageId;
}
public void setImageId(int imageId) {
this.imageId = imageId;
}
public boolean isFaceUp() {
return isFaceUp;
}
public void setFaceUp(boolean faceUp) {
isFaceUp = faceUp;
}
public boolean isMatched() {
return isMatched;
}
public void setMatched(boolean matched) {
isMatched = matched;
}
}
2021.12.31 - [안드로이드] - [안드로이드 스튜디오] 자바 클래스 생성하는 방법
- 설명 -
1. 이미지 리스트에 이미지를 담습니다.
2. 이미지를 섞습니다.
3. card 리스트에 카드정보를 담습니다.
4. 각 버튼에 클릭이벤트를 적용합니다.
5. 각 버튼에 card리스트의 이미지를 넣습니다.
6. 리셋버튼으로 새로운 정보로 초기화합니다.
public class MainActivity extends AppCompatActivity implements View.OnClickListener{
//버튼 배열
private ImageButton[] buttons = new ImageButton[8];
//이미지 리스트
private ArrayList<Integer> imageList;
//카드 리스트
private ArrayList<MemoryCard> cards;
//결과 텍스트
private TextView resultText;
//초기화 버튼
private TextView resetBtn;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
resultText = findViewById(R.id.result_text);
init();
Button resetBtn = findViewById(R.id.reset_btn);
resetBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
init();
}
});
}//onClick
//초기화
public void init(){
//리스트에 데이터 등록
imageList = new ArrayList<>();
imageList.add(R.drawable.dog);
imageList.add(R.drawable.pig);
imageList.add(R.drawable.rabbit);
imageList.add(R.drawable.cat);
imageList.add(R.drawable.dog);
imageList.add(R.drawable.pig);
imageList.add(R.drawable.rabbit);
imageList.add(R.drawable.cat);
//순서 섞기
Collections.shuffle(imageList);
//카드 리스트 초기화
cards = new ArrayList<>();
//버튼 초기화
for(int i = 0; i < buttons.length; i++){
String buttonID = "imageBtn" + i;
int resourceID = getResources().getIdentifier(buttonID, "id", getPackageName());
buttons[i] = findViewById(resourceID);
//각 버튼에 클릭이벤트 적용
buttons[i].setOnClickListener(this);
//카드 리스트에 담기
cards.add(new MemoryCard(imageList.get(i), false, false));
buttons[i].setImageResource(cards.get(i).getImageId());
}
}
@Override
public void onClick(View view) {
int id = view.getId();
int position = 0;
if(id == R.id.imageBtn0){
position = 0;
}else if(id == R.id.imageBtn1){
position = 1;
}else if(id == R.id.imageBtn2){
position = 2;
}else if(id == R.id.imageBtn3){
position = 3;
}else if(id == R.id.imageBtn4){
position = 4;
}else if(id == R.id.imageBtn5){
position = 5;
}else if(id == R.id.imageBtn6){
position = 6;
}else if(id == R.id.imageBtn7){
position = 7;
}
}
}//MainActivity
이미지 res -> drawable
2022.03.28 - [안드로이드] - [안드로이드] 숫자 맞추기 게임 Up&Down 만드는 방법 part1 - 화면 구성
2022.03.29 - [안드로이드] - [안드로이드] 숫자 맞추기 게임 Up&Down 만드는 방법 part2 - 기능 구현
2022.03.30 - [안드로이드] - [안드로이드] 야구게임 만드는 방법 part1 - 화면 구성 및 랜덤 숫자 생성
[안드로이드] 같은 그림 찾기 게임 만드는 방법 part4 - 비교&완료 (0) | 2022.04.05 |
---|---|
[안드로이드] 같은 그림 찾기 게임 만드는 방법 part3 - 클릭&뒤집기 (0) | 2022.04.04 |
[안드로이드] 같은 그림 찾기 게임 만드는 방법 part1 - 화면구성 (0) | 2022.04.02 |
[안드로이드] RecyclerView 라디오버튼(RadioButton) 리스트 만드는 방법 (3) | 2022.04.01 |
[안드로이드] 야구게임 만드는 방법 part2 - 기능구현 (0) | 2022.03.31 |
댓글 영역