Oke kali ini kita akan membuat game sederhana dan gampang banget (bagi yang tidak mau membuat codingnya,boleh didownload attachment di bawah untuk dicoba mini-gamenya)
Mini games nya hanya tentang mencari perbedaan dari 2 barisan angka,nah penasaran gimana sih codingnya? cekidot aja
1. Buat Variabel & Header Program
nah ini sudah berkali-kali saya jelaskan di artikel sebelumnya
deklarasilah variabel apa saja yang akan dipakai nanti
untuk program ini saya memakai
int angka, jawaban1,jawaban2,jawaban3;
string x;
akan saya jelaskan di step berikutnya
kemudian hias program anda dengan membuat header
Console.WriteLine(“================================================================================”);
Console.WriteLine(“————————–Permainan Mencari Perbedaan Angka————————“);
Console.WriteLine(“================================================================================”);
2.Membuat Pertanyaan
oke,disini saya akan menyuruh pemain untuk meng-input angka antara 1-20
sehingga codingnya menjadi begini
game:
Console.WriteLine(“Masukkan angka antara 10-20”);
angka = Convert.ToInt16(Console.ReadLine());
if (angka < 10 || angka > 20) { goto game; }
else { }
Disini saya menggunakan label dan goto.Kenapa?ya was-was aja siapa tau ada pemain yang iseng masukkan angka diluar dari ketentuan maka program tidak akan berjalan dan kembali lagi ke “Game : ” yaitu pertanyaan masukkan angka antara 10-20
oh ya , saya belum pernah menjelaskan apa itu label dan goto…
buat yang belum tau, label dan goto itu mirip dengan looping while dimana jika kita menggunakan “Go to” maka dia akan kembali ke tempat yang kita beri “label”sebelumnya
3. Pembuatan deret angka
setelah sudah tentuin angkanya di sekitar 10-20 ,maka kita akan membuat barisnya menggunakan looping for
seperti begini
for (int a = 1; a <= 20; a++)
{
Console.Write(a + “\t”);
if (a == angka) { break; }
}
for (int a = 1; a <= 20; a++)
{
if (a == angka – 3 || a == angka – 7 || a == angka – 9) { continue; }
Console.Write(a + “\t”);
if (a == angka) { break; }
}
Console.WriteLine(“”);
“loh,kok ada Continue dan Break segala?Apa itu?”
ya sesuai dengan katanya, continue artinya lanjut dan break itu berhenti
dalam konteks looping , jika kita menggunakan “Continue” maka dia akan kembali menglooping keatas dan tidak menjalankan perintah dibawahnya
dan untuk “Break” jika kondisi break telah memenuhi maka loop tersebut akan berhenti dan tidak akan meng-looping lagi
Disini saya memakai break untuk a == angka
sehingga nanti urutan angka yang dihasilkan sesuai dengan angka yang dimasukkan pemain
contohnya pemain masukkan angka 15
maka urutan angkanya hanya akan sampai angka ke 15
sedangkan continue disini saya gunakan a == angka -3 ||a == angka – 7 || a == angka – 9 . kenapa? karena jika looping for mencapai angka yang di input – 3/-7/-9 maka looping itu akan kembali ke atas dan tidak mencetak angka tersebut sehingga membuat angka tersebut “Hilang” dari deretan
4. Membuat Input jawaban
kemudian kita akan memerintahkan pemain untuk meng-input jawabannya
seperti begini
pertanyaan1:
pertanyaan1:
Console.WriteLine(“Carilah 3 perbedaan dari barisan pertama dan kedua”);
Console.WriteLine(“Perbedaan Pertama:”);
jawaban1 = Convert.ToInt16(Console.ReadLine());
Console.WriteLine(“Perbedaan Kedua:”);
jawaban2 = Convert.ToInt16(Console.ReadLine());
Console.WriteLine(“Perbedaan Ketiga:”);
jawaban3 = Convert.ToInt16(Console.ReadLine());
if (jawaban1 == angka – 9 && jawaban2 == angka – 7 && jawaban3 == angka – 3)
{ Console.WriteLine(“HORE!!!Jawaban anda benar”); }
else
{
Console.WriteLine(“Jawaban anda salah,coba lebih teliti lagi”);
goto pertanyaan1;
}
karena ada 3 angka yang menghilang sehingga kita memakai jawaban1,jawaban 2,jawaban3 dan disini saya kembali memakai goto lagi jadi pemain yang jawabannya salah bisa ulang mengisi jawaban yang benar
5. Pengulangan Program
Setelah itu, Jika pemain telah berhasil “menamatkan” game tersebut maka kita akan menanyakan apakah pemain ingin memainkannya lagi?
pertanyaan2:
Console.WriteLine(“Mau main lagi? (Y/N)”);
x = Console.ReadLine();
if (x == “Y”) { goto game; }
else if (x == “N”) { Console.WriteLine(“Terima kasih telah mencoba permainan ini”); }
else { goto pertanyaan2; }
jadi jika pemainnya ingin main lagi dan menjawab “Y” (artinya yes) maka game nya akan diulang dengan memakai goto
kenapa memakai label lagi untuk pertanyaan ini? karena bisa saja pemain menjawab selain dari Y/N ini jadi saya memakai goto lagi untuk memastikan apakah pemain ingin main lagi atau tidak jika tidak maka program mini games ini akan berhenti sampai disini
sekian dan Mini games ini telah selesai dibuat