安卓小程序——猜数字游戏
生活随笔
收集整理的這篇文章主要介紹了
安卓小程序——猜数字游戏
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
之前有參加一個綜合的比賽,其中有一個小項目是開發安卓小游戲,于是我就做了一個很簡單的小游戲。
簡單來說,就是一個猜數字的小游戲。系統有一個隨機數,你猜對了就加分,否則就扣分,并且提示猜測的是大了還是小了。非常簡單的一個小游戲。
<?xml version="1.0" encoding="utf-8"?> <android.support.constraint.ConstraintLayout 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"android:background="@drawable/gameback"><EditTextandroid:id="@+id/textView"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_marginEnd="8dp"android:layout_marginTop="64dp"android:hint="what you guess?"android:textColor="@android:color/holo_orange_dark"app:layout_constraintEnd_toEndOf="@+id/textView2"app:layout_constraintHorizontal_bias="0.518"app:layout_constraintStart_toStartOf="@+id/textView2"app:layout_constraintTop_toBottomOf="@+id/textView2" /><Buttonandroid:id="@+id/button"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_marginEnd="8dp"android:layout_marginTop="84dp"android:onClick="buttonclick"android:text="確定"android:textColor="@android:color/holo_orange_light"app:layout_constraintEnd_toEndOf="@+id/textView"app:layout_constraintHorizontal_bias="0.6"app:layout_constraintStart_toStartOf="@+id/textView"app:layout_constraintTop_toBottomOf="@+id/textView" /><TextViewandroid:id="@+id/textView2"android:layout_width="wrap_content"android:layout_height="83dp"android:layout_marginBottom="8dp"android:layout_marginTop="8dp"android:text="我這里有個數(1-50),你能猜出他的大小嗎???猜對加十分,否則扣一分哦。"android:textAlignment="center"android:textColor="@android:color/holo_orange_light"android:textSize="20sp"android:textStyle="bold"app:layout_constraintBottom_toBottomOf="parent"app:layout_constraintEnd_toEndOf="parent"app:layout_constraintHorizontal_bias="1.0"app:layout_constraintStart_toStartOf="parent"app:layout_constraintTop_toTopOf="parent"app:layout_constraintVertical_bias="0.306" /><TextViewandroid:id="@+id/textView3"android:layout_width="wrap_content"android:layout_height="0dp"android:layout_marginBottom="20dp"android:layout_marginEnd="8dp"android:layout_marginStart="8dp"android:text=""app:layout_constraintBottom_toTopOf="@+id/textView"app:layout_constraintEnd_toEndOf="@+id/textView"app:layout_constraintHorizontal_bias="0.491"app:layout_constraintStart_toStartOf="@+id/textView" /><TextViewandroid:id="@+id/textView4"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_marginBottom="8dp"android:layout_marginEnd="16dp"android:layout_marginStart="8dp"android:layout_marginTop="8dp"android:text="得分:0"android:textColor="@android:color/holo_red_dark"android:textSize="20dp"app:layout_constraintBottom_toBottomOf="parent"app:layout_constraintEnd_toEndOf="parent"app:layout_constraintHorizontal_bias="0.958"app:layout_constraintStart_toStartOf="parent"app:layout_constraintTop_toTopOf="parent"app:layout_constraintVertical_bias="0.061" /> </android.support.constraint.ConstraintLayout>這個是布局代碼。
package administrator.example.com.numberguess;import android.app.Activity; import android.content.DialogInterface; import android.support.v7.app.AlertDialog; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.TextView; import android.widget.Toast;import java.util.Random;public class MainActivity extends Activity {private Button button;private TextView goalsbool;private TextView textView;private int num;private int goals = 0;//按鍵響應@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);textView = findViewById(R.id.textView3);num = getNumber();button = findViewById(R.id.button);button.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View view) {goalsbool = findViewById(R.id.textView4);EditText editText = findViewById(R.id.textView);//輸入的東西都是以字符串的行是讀取的,所以要進行轉化String num1 = editText.getText().toString();//利用try catch來處理當輸入值不是數字的時候怎么辦//就是提是用戶輸入錯誤try{//如果是整數int num2 = Integer.parseInt(num1);if (num2 > num){textView.setText("大了,扣一分");goals--;goalsbool.setText("得分:" + goals);}else if (num2 < num){textView.setText("小了,扣一分");goals--;goalsbool.setText("得分:" + goals);}else {textView.setText("對了");AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);builder.setTitle("恭喜你猜對了!");builder.setMessage("是否繼續");builder.setCancelable(false);builder.setPositiveButton("Yes", new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialogInterface, int i) {goals += 10;goalsbool.setText("得分:" + goals);}});builder.setNegativeButton("No", new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialogInterface, int i) {goals = 0;goalsbool.setText("得分:" + goals);}});builder.show();num = getNumber();}}catch (Exception e){//如果輸入的不是整數AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);builder.setTitle("輸入錯誤");builder.setMessage("只能輸入數字");builder.setCancelable(false);builder.setPositiveButton("Yes", new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialogInterface, int i) {}});builder.show();}}});}//產生隨機數private int getNumber(){Random random = new Random();int a = random.nextInt(50);return a;}// public void buttonclick(View view) { // goalsbool = findViewById(R.id.textView4); // EditText editText = findViewById(R.id.textView); // String num1 = editText.getText().toString(); // // try{ // int num2 = Integer.parseInt(num1); // if (num2 > num){ // textView.setText("大了,扣一分"); // goals--; // goalsbool.setText("得分:" + goals); // // } // else if (num2 < num){ // textView.setText("小了,扣一分"); // goals--; // goalsbool.setText("得分:" + goals); // // } // else { // textView.setText("對了"); // AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this); // builder.setTitle("恭喜你猜對了!"); // builder.setMessage("是否繼續"); // builder.setCancelable(false); // builder.setPositiveButton("Yes", new DialogInterface.OnClickListener() { // @Override // public void onClick(DialogInterface dialogInterface, int i) { // goals += 10; // goalsbool.setText("得分:" + goals); // } // }); // builder.setNegativeButton("No", new DialogInterface.OnClickListener() { // @Override // public void onClick(DialogInterface dialogInterface, int i) { // goals = 0; // goalsbool.setText("得分:" + goals); // // } // }); // builder.show(); // // // num = getNumber(); // } // }catch (Exception e){ // AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this); // builder.setTitle("輸入錯誤"); // builder.setMessage("只能輸入數字"); // builder.setCancelable(false); // builder.setPositiveButton("Yes", new DialogInterface.OnClickListener() { // @Override // public void onClick(DialogInterface dialogInterface, int i) { // // } // }); // builder.show(); // }// } }運行結果:
總結
以上是生活随笔為你收集整理的安卓小程序——猜数字游戏的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Leetcode刷题(3)整数反转
- 下一篇: 前端学习(3071):vue+eleme