Skip to content

Juego entre 2 jugadores que divide la pantalla en 2 y agrega un botón en la parte superior e inferior, el usuario que haga clic más rápido hasta 20 veces aparece como ganador del juego con una animación y con botón restart permite volver a jugar

Notifications You must be signed in to change notification settings

pedro-donoso/juegoKotlin

Repository files navigation

juego

ganador

CONFIGURACIONES

  1. Configuro gradle app:
buildFeatures {
        compose = true
        viewBinding = true
    }
    dataBinding {
        enable = true
    }
  1. Dependencies:
val nav_version = "2.7.7"
    // Navigation
    implementation("androidx.navigation:navigation-fragment-ktx:$nav_version")
    implementation("androidx.navigation:navigation-ui-ktx:$nav_version")
    implementation ("com.airbnb.android:lottie:3.7.0")
  1. Configuro activity_main:
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.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"
    >

    <FrameLayout
        android:id="@+id/fragmentContainer1"
        android:layout_width="0dp"
        android:layout_height="0dp"
        app:layout_constraintTop_toTopOf="parent"
        app:layout_constraintBottom_toTopOf="@+id/fragmentContainer2"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        />

    <FrameLayout
        android:id="@+id/fragmentContainer2"
        android:layout_width="0dp"
        android:layout_height="0dp"
        app:layout_constraintTop_toBottomOf="@+id/fragmentContainer1"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        />
    
    <FrameLayout
        android:id="@+id/animationContainer"
        android:layout_width="0dp"
        android:layout_height="0dp"
        app:layout_constraintTop_toTopOf="parent"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        android:visibility="gone">
        
        <com.airbnb.lottie.LottieAnimationView
            android:id="@+id/winnerAnimation"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            app:lottie_autoPlay="false"
            app:lottie_loop="true"
            android:layout_gravity="center"
            app:lottie_rawRes="@raw/a"
            />

        <Button
            android:id="@+id/restartButton"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Restart"
            android:layout_gravity="center_horizontal|bottom"
            android:layout_marginBottom="16dp"/>
    </FrameLayout>

</androidx.constraintlayout.widget.ConstraintLayout>
  1. Configuro themes.xml:
   <?xml version="1.0" encoding="utf-8"?>
<resources>

    <style name="Theme.JuegoKotlin" parent="Theme.AppCompat" />
</resources>
  1. Configuro fragment_player1.xml:
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout 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=".Player1Fragment">
    
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:gravity="center"
        android:orientation="vertical">
        
        <TextView
            android:id="@+id/counterText"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="0"
            android:textSize="32sp" />
        
        <Button
            android:id="@+id/clickButton"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Click" />
        
    </LinearLayout>
</FrameLayout>
  1. Configuro fragment_player2.xml:
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout 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=".Player2Fragment">

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:gravity="center"
        android:orientation="vertical">

        <TextView
            android:id="@+id/counterText"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="0"
            android:textSize="32sp" />

        <Button
            android:id="@+id/clickButton"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Click" />

    </LinearLayout>

</FrameLayout>
  1. Configuro Manifest:
 <activity
            android:name=".MainActivity"
            android:exported="true"
            android:label="@string/app_name"
            android:theme="@style/Theme.AppCompat.DayNight.NoActionBar">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
</activity>

About

Juego entre 2 jugadores que divide la pantalla en 2 y agrega un botón en la parte superior e inferior, el usuario que haga clic más rápido hasta 20 veces aparece como ganador del juego con una animación y con botón restart permite volver a jugar

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages