Golang • Game Tebak Angka
Pertama
yang di butuhkan import "fmt"
wajib, "math/rand"
, "time"
untuk membuat angka acak
1package main
2
3import (
4 "fmt"
5 "math/rand"
6 "time"
7)
8
9func main() {
10 // PROGRAM DI SINI...
11}
Kedua
buat variabel untuk nampung hasil angka acak
1// Untu Seed Acak, agar bisa lebih random hasilnya
2rand.Seed(time.Now().UnixNano())
3var angka int = rand.Intn(21)
Ketiga
buat logika nya
1fmt.Println("Tebak Angka Antara 0 - 20, kesempatan 5 kali")
2count := 0
3
4for count < 5 {
5 var tebakan int // Untuk menampung tebakan user
6 fmt.Printf("Tebak: ")
7 fmt.Scanln(&tebakan) // Mengambil Tebakan User, dan simpan di variabel tebakan
8
9 // Buat Kondisi (sekenario)
10 // Jika User Menebak Benar cetak ke layar "Selamat Tebakan benar",
11 // dan hentikan loop dengan break agar program berhenti
12 // Jika User salah kita lempar ke else untuk kondisi selanjutnya
13
14 if tebakan == angka {
15 fmt.Printf("Selamat Tebakan Benar")
16 break
17 } else {
18
19 // Jika kesempatan habis kita beritahu hasilnya
20 if count == 4 {
21 fmt.Println("Kesempatan Habis, Jawaban Yang Benar: ", angka)
22 }
23
24 // Buat Kondisi dimana tebakan kurang dari angka atau lebih dari
25 // Agar user tahu jawabanya terlalu besar atau kecil (Biar lebih mudah menebak)
26
27 if tebakan < angka {
28 fmt.Println("Terlalu Kecil")
29 } else if tebakan > angka {
30 fmt.Println("Terlalu Besar")
31 }
32
33 // Kita Beritahu user sisa kesempatanya
34 fmt.Println("Kesempatan Tinggal: ", 4 - count)
35
36 // Setiap Kesalahan kita tambah count
37 // Kenapa? agar tahu user udah berapa kali salah, ini akan menambah variabel count
38 // yang bisa di pakai untuk kondisi looping nya, jadi kesalahan 5 kali
39 // akan mentriger for count < 5, jadi program berhenti, karena kesempatan habis
40 count++
41 }
42
43}
Full Kode
1package main
2
3import (
4 "fmt"
5 "math/rand"
6 "time"
7)
8
9func main() {
10 rand.Seed(time.Now().UnixNano())
11 var angka int = rand.Intn(21)
12 fmt.Println("Tebak Angka Antara 0 - 20, Kesempatan 5 kali")
13 count := 0
14
15 for count < 5 {
16 var tebakan int
17 fmt.Printf("Tebak: ")
18 fmt.Scanln(&tebakan)
19
20 if tebakan == angka {
21 fmt.Printf("Selamat Tebakan Benar")
22 break
23 } else {
24
25 if count == 4 {
26 fmt.Println("Kesempatan Habis, Jawaban Yang Benar", angka)
27 }
28
29 if tebakan < angka {
30 fmt.Println("Terlalu Kecil")
31 } else if tebakan > angka {
32 fmt.Println("Terlalu Besar")
33 }
34
35 fmt.Println("Kesempatan Tinggal: ", 4 - count)
36 count ++
37 }
38 }
39}