较多,这里给出一个简单的安卓小游戏示例,使用了Android Studio进行开发,这个示例是一个经典的“猜数字”游戏。
1、创建一个新的Android项目,选择Empty Activity模板。
2、在项目的res/layout
目录下,打开activity_main.xml
文件,将以下代码粘贴到文件中:
<?xml version="1.0" encoding="utf8"?> <androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/resauto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".MainActivity"> <TextView android:id="@+id/tv_title" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="猜数字游戏" android:textSize="24sp" app:layout_constraintBottom_toTopOf="@+id/btn_start" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" /> <Button android:id="@+id/btn_start" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="开始游戏" app:layout_constraintBottom_toTopOf="@+id/tv_hint" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@+id/tv_title" /> <TextView android:id="@+id/tv_hint" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="提示信息" android:textSize="18sp" app:layout_constraintBottom_toTopOf="@+id/et_input" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@+id/btn_start" /> <EditText android:id="@+id/et_input" android:layout_width="wrap_content" android:layout_height="wrap_content" android:inputType="number" app:layout_constraintBottom_toTopOf="@+id/btn_submit" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@+id/tv_hint" /> <Button android:id="@+id/btn_submit" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="提交" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@+id/et_input" /> </androidx.constraintlayout.widget.ConstraintLayout>
3、在项目的src/main/java/com/example/guessnumber
目录下,创建一个名为MainActivity.java
的文件,将以下代码粘贴到文件中:
package com.example.guessnumber; import androidx.appcompat.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.TextView; import java.util.Random; public class MainActivity extends AppCompatActivity { private TextView tvTitle, tvHint; private EditText etInput; private Button btnStart, btnSubmit; private int targetNumber; private boolean isGameStarted = false; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); tvTitle = findViewById(R.id.tv_title); tvHint = findViewById(R.id.tv_hint); etInput = findViewById(R.id.et_input); btnStart = findViewById(R.id.btn_start); btnSubmit = findViewById(R.id.btn_submit); btnStart.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { startGame(); } }); btnSubmit.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { if (isGameStarted) { checkGuess(); } else { tvHint.setText("请先点击开始游戏"); } } }); } private void startGame() { if (!isGameStarted) { isGameStarted = true; tvHint.setText("请输入一个1到100之间的整数"); generateTargetNumber(); } else { tvHint.setText("游戏已经开始了"); } } private void generateTargetNumber() { Random random = new Random(); targetNumber = random.nextInt(100) + 1; } private void checkGuess() { int guess = Integer.parseInt(etInput.getText().toString()); if (guess == targetNumber) { tvHint.setText("恭喜你,猜对了!"); isGameStarted = false; } else if (guess < targetNumber) { tvHint.setText("猜小了,请再试一次"); } else { tvHint.setText("猜大了,请再试一次"); } } }
你可以运行这个项目,看到一个猜数字游戏的简单实现,用户可以输入一个数字,然后点击提交按钮来猜测目标数字,如果猜对了,游戏会显示恭喜信息并重置;如果猜错了,会给出提示信息。
原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/1080915.html
本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。
发表回复