MASPUTRAWAE

HANYA SEORANG MANUSIA BIASA

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 ++
        }
    }
}