标题怎么说。我有一个骰子程序,它会打印骰子IE
------ | | | | | 1| ------
我希望能够打印多个骰子,所以它看起来像这样:
------ ------ | | | | | | | | | 1| | 3| ------ ------
我已经尝试过了fmt.Print,但是仍然将它们打印在彼此下面。我当时也在考虑创建一个函数,该函数会打印每个对象的顶行,但是我不知道该怎么做。有任何想法吗?
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() } }