标题怎么说。我有一个骰子程序,它会打印骰子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()
}
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句