이번 시간에는 랜덤한 숫자를 생성하면, 사용자는 숫자를 입력해서
맞추는 게임을 만들어 보려고 합니다. 물론 무작정 맞추는 게 아니라
입력한 숫자가 랜덤한 숫자보다 큰지, 작은지 정도는 알려줍니다.
그럼 화면구성부터 시작하겠습니다.
- 설명 -
1. 첫 번째 텍스트뷰는 사용자가 숫자를 입력했을 때
Up인지 Down인지를 알려줍니다.
2. 두 번째 텍스트뷰는 사용자가 입력한 숫자를 보여줍니다.
3. 9개의 숫자 버튼을 구성하기 위해서 GridLayout을 사용했습니다.
4. 가로(row) 4, 세로(column) 3으로 구성되었습니다.
5. 시작을 누르면 랜덤한 숫자가 생성되며, 숫자를 입력하고 정답 버튼을
누르면 맞았는지 틀렸는지 알려줍니다.
6. 색상 res -> values -> colors.xml
<color name="purple_50">#CE93D8</color>
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<!-- 응답 -->
<TextView
android:id="@+id/response_text"
android:layout_width="match_parent"
android:layout_height="50dp"
android:layout_marginStart="10dp"
android:layout_marginTop="10dp"
android:layout_marginEnd="10dp"
android:layout_marginBottom="10dp"
android:background="@android:color/holo_blue_light"
android:gravity="center"
android:textSize="30sp"
android:textStyle="bold" />
<!-- 정답 -->
<TextView
android:id="@+id/request_text"
android:layout_width="match_parent"
android:layout_height="50dp"
android:layout_below="@id/response_text"
android:layout_marginStart="10dp"
android:layout_marginTop="10dp"
android:layout_marginEnd="10dp"
android:layout_marginBottom="10dp"
android:background="@android:color/holo_green_light"
android:gravity="center"
android:textSize="30sp"
android:textStyle="bold" />
<!-- 4행 3열-->
<GridLayout
android:id="@+id/grid_layout"
android:layout_width="match_parent"
android:layout_height="300dp"
android:layout_below="@id/request_text"
android:layout_margin="20dp"
android:columnCount="3"
android:rowCount="4">
<androidx.cardview.widget.CardView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_row="0"
android:layout_column="0"
android:layout_rowWeight="1"
android:layout_columnWeight="1"
android:layout_margin="8dp"
app:cardCornerRadius="8dp"
app:cardElevation="8dp">
<Button
android:id="@+id/btn1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/purple_50"
android:text="1"
android:textColor="@android:color/white"
android:textSize="30sp" />
</androidx.cardview.widget.CardView>
<androidx.cardview.widget.CardView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_row="0"
android:layout_column="1"
android:layout_rowWeight="1"
android:layout_columnWeight="1"
android:layout_margin="8dp"
app:cardCornerRadius="8dp"
app:cardElevation="8dp">
<Button
android:id="@+id/btn2"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/purple_50"
android:text="2"
android:textColor="@android:color/white"
android:textSize="30sp" />
</androidx.cardview.widget.CardView>
<androidx.cardview.widget.CardView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_row="0"
android:layout_column="2"
android:layout_rowWeight="1"
android:layout_columnWeight="1"
android:layout_margin="8dp"
app:cardCornerRadius="8dp"
app:cardElevation="8dp">
<Button
android:id="@+id/btn3"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/purple_50"
android:text="3"
android:textColor="@android:color/white"
android:textSize="30sp" />
</androidx.cardview.widget.CardView>
<androidx.cardview.widget.CardView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_row="1"
android:layout_column="0"
android:layout_rowWeight="1"
android:layout_columnWeight="1"
android:layout_margin="8dp"
app:cardCornerRadius="8dp"
app:cardElevation="8dp">
<Button
android:id="@+id/btn4"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/purple_50"
android:text="4"
android:textColor="@android:color/white"
android:textSize="30sp" />
</androidx.cardview.widget.CardView>
<androidx.cardview.widget.CardView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_row="1"
android:layout_column="1"
android:layout_rowWeight="1"
android:layout_columnWeight="1"
android:layout_margin="8dp"
app:cardCornerRadius="8dp"
app:cardElevation="8dp">
<Button
android:id="@+id/btn5"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/purple_50"
android:text="5"
android:textColor="@android:color/white"
android:textSize="30sp" />
</androidx.cardview.widget.CardView>
<androidx.cardview.widget.CardView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_row="1"
android:layout_column="2"
android:layout_rowWeight="1"
android:layout_columnWeight="1"
android:layout_margin="8dp"
app:cardCornerRadius="8dp"
app:cardElevation="8dp">
<Button
android:id="@+id/btn6"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/purple_50"
android:text="6"
android:textColor="@android:color/white"
android:textSize="30sp" />
</androidx.cardview.widget.CardView>
<androidx.cardview.widget.CardView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_row="2"
android:layout_column="0"
android:layout_rowWeight="1"
android:layout_columnWeight="1"
android:layout_margin="8dp"
app:cardCornerRadius="8dp"
app:cardElevation="8dp">
<Button
android:id="@+id/btn7"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/purple_50"
android:text="7"
android:textColor="@android:color/white"
android:textSize="30sp" />
</androidx.cardview.widget.CardView>
<androidx.cardview.widget.CardView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_row="2"
android:layout_column="1"
android:layout_rowWeight="1"
android:layout_columnWeight="1"
android:layout_margin="8dp"
app:cardCornerRadius="8dp"
app:cardElevation="8dp">
<Button
android:id="@+id/btn8"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/purple_50"
android:text="8"
android:textColor="@android:color/white"
android:textSize="30sp" />
</androidx.cardview.widget.CardView>
<androidx.cardview.widget.CardView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_row="2"
android:layout_column="2"
android:layout_rowWeight="1"
android:layout_columnWeight="1"
android:layout_margin="8dp"
app:cardCornerRadius="8dp"
app:cardElevation="8dp">
<Button
android:id="@+id/btn9"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/purple_50"
android:text="9"
android:textColor="@android:color/white"
android:textSize="30sp" />
</androidx.cardview.widget.CardView>
<androidx.cardview.widget.CardView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_row="3"
android:layout_column="1"
android:layout_rowWeight="1"
android:layout_columnWeight="1"
android:layout_margin="8dp"
app:cardCornerRadius="8dp"
app:cardElevation="8dp">
<Button
android:id="@+id/btn0"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/purple_50"
android:text="0"
android:textColor="@android:color/white"
android:textSize="30sp" />
</androidx.cardview.widget.CardView>
</GridLayout>
<Button
android:id="@+id/start_btn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/grid_layout"
android:layout_alignParentStart="true"
android:layout_marginStart="80dp"
android:background="@color/purple_50"
android:text="시작"
android:textSize="25sp" />
<Button
android:id="@+id/answer_btn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/grid_layout"
android:layout_alignParentEnd="true"
android:layout_marginEnd="80dp"
android:background="@color/purple_50"
android:text="정답"
android:textSize="25sp" />
</RelativeLayout>
2022.03.27 - [안드로이드] - [안드로이드] 룰렛(Roulette) 쉽게 만드는 방법
2022.03.26 - [안드로이드] - [안드로이드] 리싸이클 러뷰(RecyclerView) 홀 수행, 짝수행 별 색상 다르게 하는 방법
2022.03.25 - [안드로이드] - [안드로이드] 리스트뷰 (ListView) 홀수행, 짝수행 별 색상 다르게 하는 방법
[안드로이드] 야구게임 만드는 방법 part1 - 화면구성 및 랜덤숫자 생성 (0) | 2022.03.30 |
---|---|
[안드로이드] 숫자 맞추기 게임 Up&Down 만드는 방법 part2 - 기능 구현 (0) | 2022.03.29 |
[안드로이드] 룰렛(Roulette) 쉽게 만드는 방법 (0) | 2022.03.27 |
[안드로이드] 리싸이클러뷰(RecyclerView) 홀수행, 짝수행 별 색상 다르게 하는 방법 (0) | 2022.03.26 |
[안드로이드] 리스트뷰 (ListView) 홀수행, 짝수행 별 색상 다르게 하는 방법 (0) | 2022.03.25 |
댓글 영역