Mobile Programming

Membuat Game Suit Android Sederhana

Dalam tutorial ini, kita akan belajar cara membuat Game Android Rock Paper Scissors / Game Suit / Game Batu Kertas Gunting :). Android Rock Paper Scissor Game adalah game Tangan yang biasanya dimainkan antara dua orang. Di sini kemenangan atau kekalahan Anda ditentukan oleh pilihan pemain lain. Ada 3 opsi yang dapat dipilih masing-masing pemain. Itu bisa berupa Batu, kertas atau Gunting. Dalam tutorial ini, kita akan membuat aplikasi tempat pilihan Pertama dibuat oleh pengguna dan pilihan lain dibuat oleh Aplikasi. Hasilnya kemudian akan ditampilkan apakah pengguna kalah atau menang.

Aturan main

Aturan permainan ini cukup sederhana. Pengguna dan Komputer keduanya dapat memilih dari 3 opsi. Ini bisa berupa Batu (diwakili oleh Kepalan), kertas (diwakili oleh tangan datar) atau gunting (diwakili oleh jari tengah dan telunjuk yang membentuk bentuk V horizontal). Bentuk tangan akan diwakili dalam proyek ini sebagai gambar yang ditampilkan di ImageView. 
Sebuah Batu akan menang melawan Gunting, Kertas akan menang melawan Rock dan Gunting akan menang melawan Kertas. Ketika kedua pilihan itu sama, itu adalah seri / draw

Membuat Proyek Baru – RockPaperScissors

  1. Buka Android Studio Anda & buat Proyek baru kita beri nama RockPaperScissors
  2. Next, biarkan MainActivity dan lainnya secara default

Tata Letak Gunting Kertas Android Rock

Kita telah menggunakan tiga Tombol untuk dipilih pemain. Juga, menggunakan dua ImageView, Ketika pengguna memilih tombol, gambar yang sesuai akan ditampilkan di ImageView Pertama, dan setelah eksekusi kode selesai pilihan yang dibuat oleh aplikasi akan diwakili dalam ImageView kedua. 

Sertakan kode ini ke dalam :

activity_main.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
 android:layout_width="match_parent"
 android:layout_height="match_parent"
 android:background="#0D6F94"
 android:orientation="vertical">
 
 <TextView
 android:id="@+id/title"
 android:layout_width="match_parent"
 android:layout_height="wrap_content"
 android:padding="10dp"
 android:text="Please Choose Your Option! All The Best! :)"
 android:textAlignment="center"
 android:textColor="#ffffff"
 android:textSize="18dp"
 android:textStyle="bold"/>
 
 <LinearLayout
 android:layout_width="match_parent"
 android:layout_height="wrap_content"
 android:orientation="horizontal"
 android:padding="15dp"
 android:weightSum="3">
 
 <Button
 android:id="@+id/btn_rock"
 android:layout_width="match_parent"
 android:layout_height="wrap_content"
 android:layout_margin="2dp"
 android:layout_weight="1"
 android:background="#C8C8C8"
 android:hint="Choose Rock"/>
 
 <Button
 android:id="@+id/btn_paper"
 android:layout_width="match_parent"
 android:layout_height="wrap_content"
 android:layout_margin="2dp"
 android:layout_weight="1"
 android:background="#C8C8C8"
 android:hint="Choose Paper"/>
 
 <Button
 android:id="@+id/btn_scissors"
 android:layout_width="match_parent"
 android:layout_height="wrap_content"
 android:layout_margin="2dp"
 android:layout_weight="1"
 android:background="#C8C8C8"
 android:hint="Choose Scissors"/>
 </LinearLayout>
 
 <LinearLayout
 android:layout_width="match_parent"
 android:layout_height="match_parent"
 android:background="#EAEAEA"
 android:gravity="center"
 android:orientation="vertical"
 android:weightSum="2" >
 
 <ImageView
 android:id="@+id/iv_input"
 android:layout_width="300dp"
 android:layout_height="wrap_content"
 android:layout_margin="20dp"
 android:layout_weight="1"
 android:background="#ffffff"
 android:tag="input"/>
 
 <ImageView
 android:id="@+id/iv_output"
 android:layout_width="300dp"
 android:layout_height="wrap_content"
 android:layout_margin="20dp"
 android:layout_weight="1"
 android:background="#ffffff"/>
 
 </LinearLayout>
</LinearLayout>

MainActivity.java

import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.Toast;
 
public class MainActivity extends AppCompatActivity implements View.OnClickListener {
 
    ImageView input, output;
    Button rock, paper, scissors;
    int[] images = new int[]{
            R.mipmap.rock,
            R.mipmap.paper,
            R.mipmap.scissors
    };
    int userinput = 0;
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
 
        input = (ImageView) findViewById(R.id.iv_input);
        output = (ImageView) findViewById(R.id.iv_output);
        rock = (Button) findViewById(R.id.btn_rock);
        paper = (Button) findViewById(R.id.btn_paper);
        scissors = (Button) findViewById(R.id.btn_scissors);
 
        rock.setOnClickListener(this);
        paper.setOnClickListener(this);
        scissors.setOnClickListener(this);
    }
 
    public void onClick(View v) {
        int id = v.getId();
        switch (id) {
            case R.id.btn_rock:
                userinput = 1;
                input.setBackgroundResource(R.mipmap.rock);
                setOutput();
                break;
            case R.id.btn_paper:
                userinput = 2;
                input.setBackgroundResource(R.mipmap.paper);
                setOutput();
                break;
            case R.id.btn_scissors:
                userinput = 3;
                input.setBackgroundResource(R.mipmap.scissors);
                setOutput();
                break;
        }
    }
 
    private void setOutput() {
        int imageId = (int) (Math.random() * images.length);
        output.setBackgroundResource(images[imageId]);
        checkresult(imageId);
    }
 
    private void checkresult(int imageId) {
        if (userinput == 1 && imageId == 0) {     //User choose Rock,Computer choose Rock
            showresult(2);
        } else if (userinput == 1 && imageId == 1) { //User choose Rock,Computer choose Paper
            showresult(0);
        } else if (userinput == 1 && imageId == 2) { //User choose Rock,Computer choose Scissors
            showresult(1);
        } else if (userinput == 2 && imageId == 0) { //User choose Paper,Computer choose Rock
            showresult(1);
        } else if (userinput == 2 && imageId == 1) { //User choose Paper,Computer choose Paper
            showresult(2);
        } else if (userinput == 2 && imageId == 2) { //User choose Paper,Computer choose Scissors
            showresult(0);
        } else if (userinput == 3 && imageId == 0) {//User choose Scissors,Computer choose Rock
            showresult(0);
        } else if (userinput == 3 && imageId == 1) { //User choose Scissors,Computer choose Paper
            showresult(1);
        } else if (userinput == 3 && imageId == 2) { //User choose Scissors,Computer choose Scissors
            showresult(2);
        }
    }
 
    private void showresult(int result) {
        if (result == 0) {
            Toast.makeText(getApplicationContext(), "Oh! You Lost :(", Toast.LENGTH_SHORT).show();
        } else if (result == 1)
            Toast.makeText(getApplicationContext(), "You Won! Yeah! :)", Toast.LENGTH_SHORT).show();
        else
            Toast.makeText(getApplicationContext(), "OOPS! It's a Tie! :P", Toast.LENGTH_SHORT).show();
    }
}

[artikel number=5 tag=”android” ]

Ketika Pengguna mengklik tombol apa pun berarti telah memanggil onClick (View v) . Pastikan kelas Anda diimplementasikan View.OnClickListener untuk mengakses metode ini. Sekarang, di OnClick, kita akan melakukan Lima hal pada setiap klik tombol.

  1. Untuk Mengetahui opsi apa yang dipilih pengguna, kami akan mengubah nilai input pengguna (variabel global). Kami akan menetapkan 1 jika pengguna memilih Rock, 2 jika pengguna memilih Kertas dan karenanya 3 untuk Gunting
  2. Selanjutnya, atas dasar pilihan Pengguna, kami akan mengatur Image ke Top ImageView untuk menunjukkan apa yang telah dipilih pengguna. Jadi kami menggunakan input.setBackgroundResource (R.mipmap.rock); untuk mengatur gambar batu (dalam hal ini) ke Top ImageView secara terprogram. Pastikan Anda telah menambahkan gambar untuk Rock, Paper, dan Gunting di folder mipmap.
  3. Sekarang kita akan memanggil setOutput () di mana imageId acak diperoleh yang dianggap sebagai pilihan komputer. ImageId itu akan dikirim ke checkresult (). (Math.random () * images.length) akan memberikan angka acak tipe integer.
  4. The checkresult () memeriksa jika pengguna telah hilang, menang atau itu dasi. Berdasarkan pemeriksaan yang dilakukan menggunakan pernyataan if-else, pesan ditampilkan menggunakan showresult ()
  5. showresult () meminta pengguna dengan output menggunakan Toast.

Kita telah menggunakan 3 metode untuk menjalankan logika untuk Android Rock Paper Scissors Game dalam Proyek ini:

  1. setOutput () – Metode ini mengembalikan angka integer acak sehingga gambar / opsi acak dapat dipilih sebagai pilihan Komputer
  2. checkresult (int imageId) – Metode ini menggunakan nilai-nilai imageId dan userinput untuk menentukan hasilnya.
  3. showresult (hasil int) – Metode ini bertanggung jawab untuk menampilkan hasilnya kepada pengguna menggunakan Toast.

Related Articles

Leave a Reply

Back to top button
Close

Adblock Detected

Tolong Matikan AdBlock dulu Gan :)