gpt4 book ai didi

go - 在同一行打印多行字符串

转载 作者:IT王子 更新时间:2023-10-29 01:58:59 27 4
gpt4 key购买 nike

标题说的是什么。我有一个骰子程序,它打印一个骰子 IE

 ------
| |
| |
| 1|
------

我希望能够打印多个骰子,所以它看起来像这样:

 ------     ------
| | | |
| | | |
| 1| | 3|
------ ------

我试过 fmt.Print,但仍然将它们打印在彼此下方。我也在考虑创建一个函数,打印每个对象的顶行,但我不知道该怎么做。有什么想法吗?

最佳答案

这负责打印。这些数字在 1 到 6(含)之间随机分配。作为命令行参数的骰子数。所以在我的例子中 ./roll 6 打印 6 个骰子,随机数最多为 6。

package main

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

func main() {
numDice := 1

if len(os.Args) > 1 {
i, err := strconv.Atoi(os.Args[1])
if err != nil {
fmt.Println(err)
}
numDice = i
}

seed := rand.NewSource(time.Now().UnixNano())
randomNumber := rand.New(seed)

die := []string{
" ------ ",
"| | ",
"| | ",
"| | ",
" ------ ",
}

for i := 0; i < 5; i++ {
for j, n := 0, numDice; j < n; j++ {
if i == 3 {
fmt.Printf("| %d | ", randomNumber.Intn(5)+1)
} else {
fmt.Print(die[i])
}
}
fmt.Println()
}
}

关于go - 在同一行打印多行字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36220839/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com