開発環境
- macOS Catalina - Apple (OS)
- Emacs (Text Editor)
- Windows 10 Pro (OS)
- Visual Studio Code (Text Editor)
- Go (プログラミング言語)
入門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 コメント:
コメントを投稿