 		case 銀: return [(-1, y), (0, y), (1, y),  (-1, -y), (1, -y)]
 		case 角: return []
 		case 飛: return []
-		case 王, 馬, 竜: return [(-1, -1), (0, -1), (1, -1),  (-1, 0), (1, 0),  (-1, 1), (0, 1), (1, 1)]
+		case 玉, 馬, 竜: return [(-1, -1), (0, -1), (1, -1),  (-1, 0), (1, 0),  (-1, 1), (0, 1), (1, 1)]
 		case 金, と, 杏, 圭, 全: return [(-1, y), (0, y), (1, y),  (-1, 0), (1, 0),  (0, -y)]
 		}
 	}

				return value
			}
		}
		return nil
	}


// MARK: - 駒種型

public enum 駒種型 : Int8, CustomStringConvertible {
	case 歩, 香, 桂, 銀, 金, 角, 飛, 玉

	private static let 記号表: [String: 駒種型] = [
		"王": .玉, "飛": .飛, "角": .角, "金": .金, "銀": .銀, "桂": .桂, "香": .香, "歩": .歩,
	]

	public init?(string: String) {
