開発環境
- macOS High Sierra - Apple
- Emacs (Text Editor)
- Go (プログラミング言語)
- Introducing Go: Build Reliable, Scalable Programs Caleb Doxsey (著) (参考書籍)
初めてのC# 第2版 (Jesse Liberty (著)、Brian MacDonald (著)、日向 俊二 (翻訳)、オライリージャパン)の10章(配列)、10.9(練習問題)、問題10-4.をGoで取り組んでみる。
コード(Emacs)
package main
import "fmt"
func chessboard() {
var board [][]string
for i := 0; i < 8; i += 1 {
row := []string{}
if i%2 == 0 {
for j := 0; j < 8; j += 1 {
if j%2 == 0 {
row = append(row, "黒")
} else {
row = append(row, "白")
}
}
} else {
for j := 0; j < 8; j += 1 {
if j%2 == 0 {
row = append(row, "白")
} else {
row = append(row, "黒")
}
}
}
board = append(board, row)
}
for _, row := range board {
for _, col := range row {
fmt.Print(col)
}
fmt.Println()
}
for {
var row, col int
n, _ := fmt.Scanf("%d %d", &row, &col)
if n != 2 {
break
}
fmt.Println(board[row-1][col-1])
}
}
func main() {
chessboard()
}
入出力結果(Terminal)
$ go run sample4.go 黒白黒白黒白黒白 白黒白黒白黒白黒 黒白黒白黒白黒白 白黒白黒白黒白黒 黒白黒白黒白黒白 白黒白黒白黒白黒 黒白黒白黒白黒白 白黒白黒白黒白黒 1 1 黒 1 2 白 2 1 白 2 2 黒 $
0 コメント:
コメントを投稿