2020年4月26日日曜日

開発環境

入門Goプログラミング (Nathan Youngman(著)、Roger Peppé(著)、吉川 邦夫(監修, 翻訳)、翔泳社)のUNIT 4(コレクション)、LESSON 16(配列)の練習問題の解答を求めてみる。

コード

package main

import (
 "fmt"
 "strings"
)

func displayChessboard(chessBoard [8][8]rune) {
 for _, row := range chessBoard {
  fmt.Println(strings.Repeat("-", 17))
  fmt.Printf("|")
  for _, col := range row {
   fmt.Printf("%1c|", col)
  }
  fmt.Printf("\n")
 }
 fmt.Println(strings.Repeat("-", 17))
}
func main() {
 chessBoard := [8][8]rune{}
 chessPieces := "rnbqkbnr"
 for i, chessPiece := range chessPieces {
  chessBoard[0][i] = chessPiece
 }
 for i := 0; i < 8; i++ {
  chessBoard[1][i] = 'p'
 }
 for j := 2; j < 6; j++ {
  for i := 0; i < 8; i++ {
   chessBoard[j][i] = ' '
  }
 }
 for i := 0; i < 8; i++ {
  chessBoard[6][i] = 'P'
 }
 for i, chessPiece := range chessPieces {
  chessBoard[7][i] = chessPiece - ('a' - 'A')
 }
 displayChessboard(chessBoard)
}

入出力結果(Zsh、PowerShell、Terminal)

% go run ./chess.go 
-----------------
|r|n|b|q|k|b|n|r|
-----------------
|p|p|p|p|p|p|p|p|
-----------------
| | | | | | | | |
-----------------
| | | | | | | | |
-----------------
| | | | | | | | |
-----------------
| | | | | | | | |
-----------------
|P|P|P|P|P|P|P|P|
-----------------
|R|N|B|Q|K|B|N|R|
-----------------
%

0 コメント:

コメントを投稿