Pertama
yang di butuhkan import “fmt” wajib, “math/rand”, “time” untuk membuat angka acak
package main
import (
"fmt"
"math/rand"
"time"
)
func main() {
// PROGRAM DI SINI...
}
Kedua
buat variabel untuk nampung hasil angka acak
// Untu Seed Acak, agar bisa lebih random hasilnya
rand.Seed(time.Now().UnixNano())
var angka int = rand.Intn(21)
Ketiga
buat logika nya
fmt.Println("Tebak Angka Antara 0 - 20, kesempatan 5 kali")
count := 0
for count < 5 {
var tebakan int // Untuk menampung tebakan user
fmt.Printf("Tebak: ")
fmt.Scanln(&tebakan) // Mengambil Tebakan User, dan simpan di variabel tebakan
// Buat Kondisi (sekenario)
// Jika User Menebak Benar cetak ke layar "Selamat Tebakan benar",
// dan hentikan loop dengan break agar program berhenti
// Jika User salah kita lempar ke else untuk kondisi selanjutnya
if tebakan == angka {
fmt.Printf("Selamat Tebakan Benar")
break
} else {
// Jika kesempatan habis kita beritahu hasilnya
if count == 4 {
fmt.Println("Kesempatan Habis, Jawaban Yang Benar: ", angka)
}
// Buat Kondisi dimana tebakan kurang dari angka atau lebih dari
// Agar user tahu jawabanya terlalu besar atau kecil (Biar lebih mudah menebak)
if tebakan < angka {
fmt.Println("Terlalu Kecil")
} else if tebakan > angka {
fmt.Println("Terlalu Besar")
}
// Kita Beritahu user sisa kesempatanya
fmt.Println("Kesempatan Tinggal: ", 4 - count)
// Setiap Kesalahan kita tambah count
// Kenapa? agar tahu user udah berapa kali salah, ini akan menambah variabel count
// yang bisa di pakai untuk kondisi looping nya, jadi kesalahan 5 kali
// akan mentriger for count < 5, jadi program berhenti, karena kesempatan habis
count++
}
}
Full Kode
package main
import (
"fmt"
"math/rand"
)
func main() {
rand.Seed(time.Now().UnixNano())
var angka int = rand.Intn(21)
fmt.Println("Tebak Angka Antara 0 - 20, Kesempatan 5 kali")
count := 0
for count < 5 {
var tebakan int
fmt.Printf("Tebak: ")
fmt.Scanln(&tebakan)
if tebakan == angka {
fmt.Printf("Selamat Tebakan Benar")
break
} else {
if count == 4 {
fmt.Println("Kesempatan Habis, Jawaban Yang Benar", angka)
}
if tebakan < angka {
fmt.Println("Terlalu Kecil")
} else if tebakan > angka {
fmt.Println("Terlalu Besar")
}
fmt.Println("Kesempatan Tinggal: ", 4 - count)
count ++
}
}
}