2018年9月12日水曜日

開発環境

初めての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 コメント:

コメントを投稿