Juego de adivinanzas con Android Studio

Una aplicación simple de adivinar el número en la que la aplicación genera el número aleatorio entre 1 y 100 y el usuario tiene que adivinar ese número. Es una aplicación simple y básica que utiliza bibliotecas y widgets básicos.
Acercarse:

Paso 1: Creación de un nuevo proyecto

  • Haga clic en la opción Archivo en la esquina superior izquierda.
  • Luego haga clic en nuevo y abra un nuevo proyecto y asígnele un nombre (aquí se llama Guess the number).
  • Ahora seleccione la actividad vacía con lenguaje como Java. No cambies ninguna otra opción.

  • Nota: De forma predeterminada, habrá dos archivos activity_main.xml y MainActivity.java .

Paso 2: Diseño de la interfaz de usuario

  • Agregue el siguiente código en el archivo activity_main.xml . Aquí se agregan dos TextViews, un EditText y un Button. Las vistas de texto se utilizan para mostrar el mensaje y el widget de texto de edición es utilizado por el usuario para ingresar el número adivinado y se requiere el botón para enviar el valor ingresado.

    actividad_principal.xml

    <?xml version="1.0" encoding="utf-8"?>
    <androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        tools:context=".MainActivity">
      
        <RelativeLayout
            android:layout_width="409dp"
            android:layout_height="729dp"
            android:background="#F3A68E"
            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">
      
            <TextView
                android:id="@+id/textView"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignParentStart="true"
                android:layout_alignParentLeft="true"
                android:layout_alignParentTop="true"
                android:layout_marginStart="77dp"
                android:layout_marginLeft="77dp"
                android:layout_marginTop="47dp"
                android:background="#FF9100"
                android:text="GUESS THE NUMBER"
                android:textSize="30sp" />
      
            <TextView
                android:id="@+id/textView2"
                android:layout_width="391dp"
                android:layout_height="68dp"
                android:layout_alignParentStart="true"
                android:layout_alignParentLeft="true"
                android:layout_alignParentTop="true"
                android:layout_marginStart="21dp"
                android:layout_marginLeft="21dp"
                android:layout_marginTop="147dp"
                android:text="I am thinking a number between 1 to 100. Can you guess what it  is ?"
                android:textSize="24sp"
                app:layout_constraintEnd_toEndOf="parent"
                app:layout_constraintStart_toStartOf="parent" />
      
            <EditText
                android:id="@+id/editId"
                android:layout_width="348dp"
                android:layout_height="67dp"
                android:layout_alignParentTop="true"
                android:layout_alignParentEnd="true"
                android:layout_alignParentRight="true"
                android:layout_marginTop="271dp"
                android:layout_marginEnd="30dp"
                android:layout_marginRight="30dp"
                android:ems="10"
                android:gravity="center"
                android:hint="ENTER"
                android:inputType="numberDecimal" />
      
            <Button
                android:id="@+id/button"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignParentEnd="true"
                android:layout_alignParentRight="true"
                android:layout_alignParentBottom="true"
                android:layout_marginEnd="152dp"
                android:layout_marginRight="152dp"
                android:layout_marginBottom="266dp"
                android:onClick="clickFunction"
                android:text="GUESS"
                android:textSize="30sp"
                app:layout_constraintEnd_toEndOf="parent"
                app:layout_constraintStart_toStartOf="parent" />
      
        </RelativeLayout>
    </androidx.constraintlayout.widget.ConstraintLayout>
  • Después de agregar el código anterior en el archivo activity_main.Xml, la interfaz de usuario será como:

Paso 3: trabajar con el archivo Java

  • Abra MainActivity.java , dentro de la clase, agregue un método getRandomNumber() que devolverá el número aleatorio entre 1 y 100.
  • El método OnCreate() se invoca cuando se inicia la aplicación, por lo tanto, la función getRandomNumber() se llama desde adentro para que se genere un número aleatorio.
  • El valor de EditText se toma usando el siguiente código:

    EditText variable = (EditText)findViewById(R.id.editId);

    aquí editId es id para EditText y variable es un nombre de variable.

  • En variable , los datos almacenados están en forma de string, por lo que se convierten en enteros mediante el siguiente código:

    UserGuessing = Integer.parseInt(variable.getText().toString());

  • La función OnClick se invoca cuando el usuario hace clic en el botón. Aquí se toma el valor ingresado por el usuario y se usan condiciones if-else para saber si el usuario adivina el número correcto o no y si el número adivinado es incorrecto, pídale al usuario que intente nuevamente.
  • Al final, muestre Toast, que le dará una pista al usuario para que adivine el número correcto.

El código Java para MainActivity.java es:

MainActivity.java

package com.example.guessthenumber;
  
import androidx.appcompat.app.AppCompatActivity;
  
import android.os.Bundle;
import android.view.View;
import android.widget.EditText;
import android.widget.Toast;
  
public class MainActivity extends AppCompatActivity {
  
    int result;
    static int getRandomNumber(int max, int min)
    {
        return (int)((Math.random()
 * (max - min)) + min);
    }
  
    public void makeToast(String str)
    {
        Toast.makeText(
MainActivity.this, 
str,
 Toast.LENGTH_SHORT)
.show();
    }
    public void clickFunction(View view)
    {
        int userGuessing;
        EditText variable
 = (EditText)findViewById(
R.id.editId);
        userGuessing
 = Integer.parseInt(
variable
.getText()
.toString());
        if (userGuessing < result) {
  
            makeToast("Think of Higher Number, 
Try Again");
        }
        else if (userGuessing > result) {
            makeToast("Think of Lower Number, 
Try Again");
        }
        else {
            makeToast(
"Congratulations,"
+" You Got the Number");
        }
    }
  
    @Override
    protected void onCreate(
Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
  
        int min = 1;
        int max = 100;
        result = getRandomNumber(min, max);
    }
}

Producción:

  • Si el número adivinado es menor que el número aleatorio
  • Si el número adivinado es mayor que el número aleatorio
  • Si el número adivinado es igual al número aleatorio

Publicación traducida automáticamente

Artículo escrito por arjun_rajput y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *