Kamis, 03 Desember 2015

Random Class pada visual studio



Berjumpa kembali dengan saya, pada kesempatan kali ini saya akan membahas tentang random class. Jadi pada library visual studio telah disediakan random class, random berfungsi untuk memilih angka secara acak atau random. Angka yang akan kita random dapat dibatasi. 

Next ()  ->  angka yang dihasilkan dari 0 sampai bilangan integer positif
Next(n)  ->  angka yang dihasilkan dari 0 sampai n-1
Next(n, p)  ->  angka yang dihasilkan dari n sampai p

Disini kita akan membuat suatu games sederhana, dimana ada dua buah bilangan yang angkanya ditentukan oleh random class, dan kita diminta untuk menentukan hasil dari penjumlahan dua bilangan tersebut.
Untuk itu kita membutuhkan dua textblock untuk dua angka random, dua textblock untuk menulis “+” dan “=”, satu textbox untuk mengisi jawaban,  satu button untuk start(memunculkan angka random), satu button untuk memeriksa jawaban, serta satu textblock untuk menampilkan benar/salah
Source codenya seperti ini:

<StackPanel>
<StackPanel Orientation="Horizontal">
<TextBlock x:Name="a1" Text="" FontSize="100"/>
<TextBlock Text="+" FontSize="100"/>
<TextBlock x:Name="a2" Text="" FontSize="100"/>
<TextBlock Text="=" FontSize="100"/>
<TextBox x:Name="jawab" Text="" FontSize="100" Height="150" Width="150" VerticalAlignment="Top"/>
</StackPanel>
<Button x:Name="btn_start" Content="Start" FontSize="60" Click="btn_start_Click"/>
<Button x:Name="btn_jawab" Content="Jawab" FontSize="60" Click="btn_jawab_Click"/>
<TextBlock x:Name="txt_hasil" Text="" FontSize="100"/>
</StackPanel>



Setelah kita tetapkan UI nya, sekarang kita beralih ke code (.xaml.cs)

publicsealedpartialclassMainPage : Page
    {
Random ini = newRandom();
int bil1;
int bil2;
int answer;
public MainPage()
        {
this.InitializeComponent();

        }


privatevoid btn_start_Click(object sender, RoutedEventArgs e)
        {
            bil1 = ini.Next(10);
            bil2 = ini.Next(10);
            a1.Text = bil1.ToString();
            a2.Text = bil2.ToString();
            answer = bil1 + bil2;
        }

privatevoid btn_jawab_Click(object sender, RoutedEventArgs e)
        {

if (Convert.ToInt16(jawab.Text) == answer)
            {
                txt_hasil.Text = "benar";
                jawab.Text = "";
            }
else
            {
                txt_hasil.Text = "salah";
                jawab.Text = "";
            }
        }

    }


Kita membuat random class dengan nama “ini”, kemudian deklarasi int bil1(untuk angka random pertama), bil2(angka random kedua), answer(hasil dari penjumlahan nanti). 

Setelah itu pada fungsi click btn_start kita menentukan bil1 dengan random class sampai angka 10, dan bil2 dengan random class sampai angka 10 juga. Kita setting textblock a1 dan a2 dengan bil1 dan bil 2 yang terlebih dahulu diubah tipe datanya menjadi string. Kemudian untuk answer kita tentukan bahwa answer = bil1+bil2.

Itu tadi fungsi ketika kita mengklik tombol start yang menghasilkan munculnya kedua angka random, setelah itu kita menuju btn_jawab_click yang akan memeriksa jawaban kita benar atau tidak.
Disini kita menggunakan statement (if else), jika jawab.text yang telah dikonversi menjadi int sama dengan answer, maka txt_hasil akan menampilkan “benar”, dan jika tidak txt_hasil akan menampilkan salah, dan textbox kita setting menjadi kosong lagi, berikut screenshot nya:

Ini tampilan awal sebelum kita click tombol start:


Setelah kita tekan button start, angka1 dan angka2 akan muncul seperti ini:


Kita coba jawab dengan mengisi textbox angka 5, dan setelah itu kita klik jawab, dan hasilnya :


Bila kita coba ganti dengan angka lain lalu kilik jawab yang terjadi seperti ini :

Ternata salah, baiklah, kita bisa kembali mengganti soal dengan mengklik button start :

Soal sudah terganti..

Cukup sekian bahasan kali ini, sampai jumpa kembali untuk postingan berikutnya.

Tidak ada komentar:

Posting Komentar

Terima kasih telah berkomentar, semoga dapat berguna untuk postingan selanjutnya

© Mister Caplin | Powered by Blogger | Design by Enny Law - Supported by IDcopy