Golang 猜單詞

package main

import (
    "fmt"
    "math/rand"
    "strconv"
)

func isContains(word []byte, char byte) bool{
    ret := false
    for _, c := range word {
        if c == char {
            ret = true
        }
    }
    return ret
}

func printMsg(dynWord []byte){
    for _, c := range dynWord {
        fmt.Print(string(c))
    }
    fmt.Println()
}
func main() {
    words := []string{"hello", "example", "struct"}
    nIndex := rand.Intn(len(words))
    fmt.Println(nIndex)
    selectWord := words[nIndex]
    dynWord := []byte{}
    for i := 0; i < len(selectWord); i++ {
        dynWord = append(dynWord, '-')
    }

    printMsg(dynWord)

    guessTimes := 3
    for {
        bFind := false
        input := ""
        fmt.Scan(&input)

        for idx, c := range selectWord {
            if byte(c) == input[0] {
                dynWord[idx] = byte(c)
                bFind = true
            }
        }

        printMsg(dynWord)

        if !isContains(dynWord,'-'){
            break
        }
        if bFind == false{
            guessTimes--
            msg := "you have "+ strconv.Itoa(guessTimes) +" left"
            fmt.Println(msg)
        }
        if guessTimes <= 0{
            break
        }

    }
    if guessTimes <= 0 {
        fmt.Println("you lose")
    } else {
        fmt.Println("you win")
    }
}

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容