diff --git a/DouShouQi_App/DSQ.xcframework/Info.plist b/DouShouQi_App/DSQ.xcframework/Info.plist deleted file mode 100644 index 6cefe51..0000000 --- a/DouShouQi_App/DSQ.xcframework/Info.plist +++ /dev/null @@ -1,65 +0,0 @@ - - - - - AvailableLibraries - - - BinaryPath - DouShouQiModel.framework/DouShouQiModel - DebugSymbolsPath - dSYMs - LibraryIdentifier - ios-arm64 - LibraryPath - DouShouQiModel.framework - SupportedArchitectures - - arm64 - - SupportedPlatform - ios - - - BinaryPath - DouShouQiModel.framework/DouShouQiModel - DebugSymbolsPath - dSYMs - LibraryIdentifier - ios-arm64_x86_64-simulator - LibraryPath - DouShouQiModel.framework - SupportedArchitectures - - arm64 - x86_64 - - SupportedPlatform - ios - SupportedPlatformVariant - simulator - - - BinaryPath - DouShouQiModel.framework/Versions/A/DouShouQiModel - DebugSymbolsPath - dSYMs - LibraryIdentifier - macos-arm64_x86_64 - LibraryPath - DouShouQiModel.framework - SupportedArchitectures - - arm64 - x86_64 - - SupportedPlatform - macos - - - CFBundlePackageType - XFWK - XCFrameworkFormatVersion - 1.0 - - diff --git a/DouShouQi_App/DSQ.xcframework/ios-arm64/DouShouQiModel.framework/DouShouQiModel b/DouShouQi_App/DSQ.xcframework/ios-arm64/DouShouQiModel.framework/DouShouQiModel deleted file mode 100755 index 47dbe4c..0000000 Binary files a/DouShouQi_App/DSQ.xcframework/ios-arm64/DouShouQiModel.framework/DouShouQiModel and /dev/null differ diff --git a/DouShouQi_App/DSQ.xcframework/ios-arm64/DouShouQiModel.framework/Headers/DouShouQiModel-Swift.h b/DouShouQi_App/DSQ.xcframework/ios-arm64/DouShouQiModel.framework/Headers/DouShouQiModel-Swift.h deleted file mode 100644 index d7b3274..0000000 --- a/DouShouQi_App/DSQ.xcframework/ios-arm64/DouShouQiModel.framework/Headers/DouShouQiModel-Swift.h +++ /dev/null @@ -1,311 +0,0 @@ -#if 0 -#elif defined(__arm64__) && __arm64__ -// Generated by Apple Swift version 5.9.2 (swiftlang-5.9.2.2.56 clang-1500.1.0.2.5) -#ifndef DOUSHOUQIMODEL_SWIFT_H -#define DOUSHOUQIMODEL_SWIFT_H -#pragma clang diagnostic push -#pragma clang diagnostic ignored "-Wgcc-compat" - -#if !defined(__has_include) -# define __has_include(x) 0 -#endif -#if !defined(__has_attribute) -# define __has_attribute(x) 0 -#endif -#if !defined(__has_feature) -# define __has_feature(x) 0 -#endif -#if !defined(__has_warning) -# define __has_warning(x) 0 -#endif - -#if __has_include() -# include -#endif - -#pragma clang diagnostic ignored "-Wauto-import" -#if defined(__OBJC__) -#include -#endif -#if defined(__cplusplus) -#include -#include -#include -#include -#include -#include -#include -#else -#include -#include -#include -#include -#endif -#if defined(__cplusplus) -#if defined(__arm64e__) && __has_include() -# include -#else -#pragma clang diagnostic push -#pragma clang diagnostic ignored "-Wreserved-macro-identifier" -# ifndef __ptrauth_swift_value_witness_function_pointer -# define __ptrauth_swift_value_witness_function_pointer(x) -# endif -# ifndef __ptrauth_swift_class_method_pointer -# define __ptrauth_swift_class_method_pointer(x) -# endif -#pragma clang diagnostic pop -#endif -#endif - -#if !defined(SWIFT_TYPEDEFS) -# define SWIFT_TYPEDEFS 1 -# if __has_include() -# include -# elif !defined(__cplusplus) -typedef uint_least16_t char16_t; -typedef uint_least32_t char32_t; -# endif -typedef float swift_float2 __attribute__((__ext_vector_type__(2))); -typedef float swift_float3 __attribute__((__ext_vector_type__(3))); -typedef float swift_float4 __attribute__((__ext_vector_type__(4))); -typedef double swift_double2 __attribute__((__ext_vector_type__(2))); -typedef double swift_double3 __attribute__((__ext_vector_type__(3))); -typedef double swift_double4 __attribute__((__ext_vector_type__(4))); -typedef int swift_int2 __attribute__((__ext_vector_type__(2))); -typedef int swift_int3 __attribute__((__ext_vector_type__(3))); -typedef int swift_int4 __attribute__((__ext_vector_type__(4))); -typedef unsigned int swift_uint2 __attribute__((__ext_vector_type__(2))); -typedef unsigned int swift_uint3 __attribute__((__ext_vector_type__(3))); -typedef unsigned int swift_uint4 __attribute__((__ext_vector_type__(4))); -#endif - -#if !defined(SWIFT_PASTE) -# define SWIFT_PASTE_HELPER(x, y) x##y -# define SWIFT_PASTE(x, y) SWIFT_PASTE_HELPER(x, y) -#endif -#if !defined(SWIFT_METATYPE) -# define SWIFT_METATYPE(X) Class -#endif -#if !defined(SWIFT_CLASS_PROPERTY) -# if __has_feature(objc_class_property) -# define SWIFT_CLASS_PROPERTY(...) __VA_ARGS__ -# else -# define SWIFT_CLASS_PROPERTY(...) -# endif -#endif -#if !defined(SWIFT_RUNTIME_NAME) -# if __has_attribute(objc_runtime_name) -# define SWIFT_RUNTIME_NAME(X) __attribute__((objc_runtime_name(X))) -# else -# define SWIFT_RUNTIME_NAME(X) -# endif -#endif -#if !defined(SWIFT_COMPILE_NAME) -# if __has_attribute(swift_name) -# define SWIFT_COMPILE_NAME(X) __attribute__((swift_name(X))) -# else -# define SWIFT_COMPILE_NAME(X) -# endif -#endif -#if !defined(SWIFT_METHOD_FAMILY) -# if __has_attribute(objc_method_family) -# define SWIFT_METHOD_FAMILY(X) __attribute__((objc_method_family(X))) -# else -# define SWIFT_METHOD_FAMILY(X) -# endif -#endif -#if !defined(SWIFT_NOESCAPE) -# if __has_attribute(noescape) -# define SWIFT_NOESCAPE __attribute__((noescape)) -# else -# define SWIFT_NOESCAPE -# endif -#endif -#if !defined(SWIFT_RELEASES_ARGUMENT) -# if __has_attribute(ns_consumed) -# define SWIFT_RELEASES_ARGUMENT __attribute__((ns_consumed)) -# else -# define SWIFT_RELEASES_ARGUMENT -# endif -#endif -#if !defined(SWIFT_WARN_UNUSED_RESULT) -# if __has_attribute(warn_unused_result) -# define SWIFT_WARN_UNUSED_RESULT __attribute__((warn_unused_result)) -# else -# define SWIFT_WARN_UNUSED_RESULT -# endif -#endif -#if !defined(SWIFT_NORETURN) -# if __has_attribute(noreturn) -# define SWIFT_NORETURN __attribute__((noreturn)) -# else -# define SWIFT_NORETURN -# endif -#endif -#if !defined(SWIFT_CLASS_EXTRA) -# define SWIFT_CLASS_EXTRA -#endif -#if !defined(SWIFT_PROTOCOL_EXTRA) -# define SWIFT_PROTOCOL_EXTRA -#endif -#if !defined(SWIFT_ENUM_EXTRA) -# define SWIFT_ENUM_EXTRA -#endif -#if !defined(SWIFT_CLASS) -# if __has_attribute(objc_subclassing_restricted) -# define SWIFT_CLASS(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) __attribute__((objc_subclassing_restricted)) SWIFT_CLASS_EXTRA -# define SWIFT_CLASS_NAMED(SWIFT_NAME) __attribute__((objc_subclassing_restricted)) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA -# else -# define SWIFT_CLASS(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA -# define SWIFT_CLASS_NAMED(SWIFT_NAME) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA -# endif -#endif -#if !defined(SWIFT_RESILIENT_CLASS) -# if __has_attribute(objc_class_stub) -# define SWIFT_RESILIENT_CLASS(SWIFT_NAME) SWIFT_CLASS(SWIFT_NAME) __attribute__((objc_class_stub)) -# define SWIFT_RESILIENT_CLASS_NAMED(SWIFT_NAME) __attribute__((objc_class_stub)) SWIFT_CLASS_NAMED(SWIFT_NAME) -# else -# define SWIFT_RESILIENT_CLASS(SWIFT_NAME) SWIFT_CLASS(SWIFT_NAME) -# define SWIFT_RESILIENT_CLASS_NAMED(SWIFT_NAME) SWIFT_CLASS_NAMED(SWIFT_NAME) -# endif -#endif -#if !defined(SWIFT_PROTOCOL) -# define SWIFT_PROTOCOL(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) SWIFT_PROTOCOL_EXTRA -# define SWIFT_PROTOCOL_NAMED(SWIFT_NAME) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_PROTOCOL_EXTRA -#endif -#if !defined(SWIFT_EXTENSION) -# define SWIFT_EXTENSION(M) SWIFT_PASTE(M##_Swift_, __LINE__) -#endif -#if !defined(OBJC_DESIGNATED_INITIALIZER) -# if __has_attribute(objc_designated_initializer) -# define OBJC_DESIGNATED_INITIALIZER __attribute__((objc_designated_initializer)) -# else -# define OBJC_DESIGNATED_INITIALIZER -# endif -#endif -#if !defined(SWIFT_ENUM_ATTR) -# if __has_attribute(enum_extensibility) -# define SWIFT_ENUM_ATTR(_extensibility) __attribute__((enum_extensibility(_extensibility))) -# else -# define SWIFT_ENUM_ATTR(_extensibility) -# endif -#endif -#if !defined(SWIFT_ENUM) -# define SWIFT_ENUM(_type, _name, _extensibility) enum _name : _type _name; enum SWIFT_ENUM_ATTR(_extensibility) SWIFT_ENUM_EXTRA _name : _type -# if __has_feature(generalized_swift_name) -# define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME, _extensibility) enum _name : _type _name SWIFT_COMPILE_NAME(SWIFT_NAME); enum SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_ENUM_ATTR(_extensibility) SWIFT_ENUM_EXTRA _name : _type -# else -# define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME, _extensibility) SWIFT_ENUM(_type, _name, _extensibility) -# endif -#endif -#if !defined(SWIFT_UNAVAILABLE) -# define SWIFT_UNAVAILABLE __attribute__((unavailable)) -#endif -#if !defined(SWIFT_UNAVAILABLE_MSG) -# define SWIFT_UNAVAILABLE_MSG(msg) __attribute__((unavailable(msg))) -#endif -#if !defined(SWIFT_AVAILABILITY) -# define SWIFT_AVAILABILITY(plat, ...) __attribute__((availability(plat, __VA_ARGS__))) -#endif -#if !defined(SWIFT_WEAK_IMPORT) -# define SWIFT_WEAK_IMPORT __attribute__((weak_import)) -#endif -#if !defined(SWIFT_DEPRECATED) -# define SWIFT_DEPRECATED __attribute__((deprecated)) -#endif -#if !defined(SWIFT_DEPRECATED_MSG) -# define SWIFT_DEPRECATED_MSG(...) __attribute__((deprecated(__VA_ARGS__))) -#endif -#if !defined(SWIFT_DEPRECATED_OBJC) -# if __has_feature(attribute_diagnose_if_objc) -# define SWIFT_DEPRECATED_OBJC(Msg) __attribute__((diagnose_if(1, Msg, "warning"))) -# else -# define SWIFT_DEPRECATED_OBJC(Msg) SWIFT_DEPRECATED_MSG(Msg) -# endif -#endif -#if defined(__OBJC__) -#if !defined(IBSegueAction) -# define IBSegueAction -#endif -#endif -#if !defined(SWIFT_EXTERN) -# if defined(__cplusplus) -# define SWIFT_EXTERN extern "C" -# else -# define SWIFT_EXTERN extern -# endif -#endif -#if !defined(SWIFT_CALL) -# define SWIFT_CALL __attribute__((swiftcall)) -#endif -#if !defined(SWIFT_INDIRECT_RESULT) -# define SWIFT_INDIRECT_RESULT __attribute__((swift_indirect_result)) -#endif -#if !defined(SWIFT_CONTEXT) -# define SWIFT_CONTEXT __attribute__((swift_context)) -#endif -#if !defined(SWIFT_ERROR_RESULT) -# define SWIFT_ERROR_RESULT __attribute__((swift_error_result)) -#endif -#if defined(__cplusplus) -# define SWIFT_NOEXCEPT noexcept -#else -# define SWIFT_NOEXCEPT -#endif -#if !defined(SWIFT_C_INLINE_THUNK) -# if __has_attribute(always_inline) -# if __has_attribute(nodebug) -# define SWIFT_C_INLINE_THUNK inline __attribute__((always_inline)) __attribute__((nodebug)) -# else -# define SWIFT_C_INLINE_THUNK inline __attribute__((always_inline)) -# endif -# else -# define SWIFT_C_INLINE_THUNK inline -# endif -#endif -#if defined(_WIN32) -#if !defined(SWIFT_IMPORT_STDLIB_SYMBOL) -# define SWIFT_IMPORT_STDLIB_SYMBOL __declspec(dllimport) -#endif -#else -#if !defined(SWIFT_IMPORT_STDLIB_SYMBOL) -# define SWIFT_IMPORT_STDLIB_SYMBOL -#endif -#endif -#if defined(__OBJC__) -#if __has_feature(objc_modules) -#if __has_warning("-Watimport-in-framework-header") -#pragma clang diagnostic ignored "-Watimport-in-framework-header" -#endif -#endif - -#endif -#pragma clang diagnostic ignored "-Wproperty-attribute-mismatch" -#pragma clang diagnostic ignored "-Wduplicate-method-arg" -#if __has_warning("-Wpragma-clang-attribute") -# pragma clang diagnostic ignored "-Wpragma-clang-attribute" -#endif -#pragma clang diagnostic ignored "-Wunknown-pragmas" -#pragma clang diagnostic ignored "-Wnullability" -#pragma clang diagnostic ignored "-Wdollar-in-identifier-extension" - -#if __has_attribute(external_source_symbol) -# pragma push_macro("any") -# undef any -# pragma clang attribute push(__attribute__((external_source_symbol(language="Swift", defined_in="DouShouQiModel",generated_declaration))), apply_to=any(function,enum,objc_interface,objc_category,objc_protocol)) -# pragma pop_macro("any") -#endif - -#if defined(__OBJC__) -#endif -#if __has_attribute(external_source_symbol) -# pragma clang attribute pop -#endif -#if defined(__cplusplus) -#endif -#pragma clang diagnostic pop -#endif - -#else -#error unsupported Swift architecture -#endif diff --git a/DouShouQi_App/DSQ.xcframework/ios-arm64/DouShouQiModel.framework/Headers/DouShouQiModel.h b/DouShouQi_App/DSQ.xcframework/ios-arm64/DouShouQiModel.framework/Headers/DouShouQiModel.h deleted file mode 100644 index 5bbf06a..0000000 --- a/DouShouQi_App/DSQ.xcframework/ios-arm64/DouShouQiModel.framework/Headers/DouShouQiModel.h +++ /dev/null @@ -1,18 +0,0 @@ -// -// DouShouQiModel.h -// DouShouQiModel -// -// Created by Marc Chevaldonné on 14/05/2024. -// - -#import - -//! Project version number for DouShouQiModel. -FOUNDATION_EXPORT double DouShouQiModelVersionNumber; - -//! Project version string for DouShouQiModel. -FOUNDATION_EXPORT const unsigned char DouShouQiModelVersionString[]; - -// In this header, you should import all the public headers of your framework using statements like #import - - diff --git a/DouShouQi_App/DSQ.xcframework/ios-arm64/DouShouQiModel.framework/Info.plist b/DouShouQi_App/DSQ.xcframework/ios-arm64/DouShouQiModel.framework/Info.plist deleted file mode 100644 index e83fb5f..0000000 Binary files a/DouShouQi_App/DSQ.xcframework/ios-arm64/DouShouQiModel.framework/Info.plist and /dev/null differ diff --git a/DouShouQi_App/DSQ.xcframework/ios-arm64/DouShouQiModel.framework/Modules/DouShouQiModel.swiftmodule/arm64-apple-ios.abi.json b/DouShouQi_App/DSQ.xcframework/ios-arm64/DouShouQiModel.framework/Modules/DouShouQiModel.swiftmodule/arm64-apple-ios.abi.json deleted file mode 100644 index c28e9fd..0000000 --- a/DouShouQi_App/DSQ.xcframework/ios-arm64/DouShouQiModel.framework/Modules/DouShouQiModel.swiftmodule/arm64-apple-ios.abi.json +++ /dev/null @@ -1,8546 +0,0 @@ -{ - "ABIRoot": { - "kind": "Root", - "name": "TopLevel", - "printedName": "TopLevel", - "children": [ - { - "kind": "Import", - "name": "Foundation", - "printedName": "Foundation", - "declKind": "Import", - "moduleName": "DouShouQiModel" - }, - { - "kind": "TypeDecl", - "name": "Result", - "printedName": "Result", - "children": [ - { - "kind": "Var", - "name": "notFinished", - "printedName": "notFinished", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.Result.Type) -> DouShouQiModel.Result", - "children": [ - { - "kind": "TypeNominal", - "name": "Result", - "printedName": "DouShouQiModel.Result", - "usr": "s:14DouShouQiModel6ResultO" - }, - { - "kind": "TypeNominal", - "name": "Metatype", - "printedName": "DouShouQiModel.Result.Type", - "children": [ - { - "kind": "TypeNominal", - "name": "Result", - "printedName": "DouShouQiModel.Result", - "usr": "s:14DouShouQiModel6ResultO" - } - ] - } - ] - } - ], - "declKind": "EnumElement", - "usr": "s:14DouShouQiModel6ResultO11notFinishedyA2CmF", - "mangledName": "$s14DouShouQiModel6ResultO11notFinishedyA2CmF", - "moduleName": "DouShouQiModel" - }, - { - "kind": "Var", - "name": "even", - "printedName": "even", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.Result.Type) -> DouShouQiModel.Result", - "children": [ - { - "kind": "TypeNominal", - "name": "Result", - "printedName": "DouShouQiModel.Result", - "usr": "s:14DouShouQiModel6ResultO" - }, - { - "kind": "TypeNominal", - "name": "Metatype", - "printedName": "DouShouQiModel.Result.Type", - "children": [ - { - "kind": "TypeNominal", - "name": "Result", - "printedName": "DouShouQiModel.Result", - "usr": "s:14DouShouQiModel6ResultO" - } - ] - } - ] - } - ], - "declKind": "EnumElement", - "usr": "s:14DouShouQiModel6ResultO4evenyA2CmF", - "mangledName": "$s14DouShouQiModel6ResultO4evenyA2CmF", - "moduleName": "DouShouQiModel" - }, - { - "kind": "Var", - "name": "winner", - "printedName": "winner", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.Result.Type) -> (DouShouQiModel.Owner, DouShouQiModel.WinningReason) -> DouShouQiModel.Result", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.Owner, DouShouQiModel.WinningReason) -> DouShouQiModel.Result", - "children": [ - { - "kind": "TypeNominal", - "name": "Result", - "printedName": "DouShouQiModel.Result", - "usr": "s:14DouShouQiModel6ResultO" - }, - { - "kind": "TypeNominal", - "name": "Tuple", - "printedName": "(winner: DouShouQiModel.Owner, reason: DouShouQiModel.WinningReason)", - "children": [ - { - "kind": "TypeNominal", - "name": "Owner", - "printedName": "DouShouQiModel.Owner", - "usr": "s:14DouShouQiModel5OwnerO" - }, - { - "kind": "TypeNominal", - "name": "WinningReason", - "printedName": "DouShouQiModel.WinningReason", - "usr": "s:14DouShouQiModel13WinningReasonO" - } - ] - } - ] - }, - { - "kind": "TypeNominal", - "name": "Metatype", - "printedName": "DouShouQiModel.Result.Type", - "children": [ - { - "kind": "TypeNominal", - "name": "Result", - "printedName": "DouShouQiModel.Result", - "usr": "s:14DouShouQiModel6ResultO" - } - ] - } - ] - } - ], - "declKind": "EnumElement", - "usr": "s:14DouShouQiModel6ResultO6winneryAcA5OwnerO_AA13WinningReasonOtcACmF", - "mangledName": "$s14DouShouQiModel6ResultO6winneryAcA5OwnerO_AA13WinningReasonOtcACmF", - "moduleName": "DouShouQiModel" - }, - { - "kind": "Function", - "name": "==", - "printedName": "==(_:_:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Bool", - "printedName": "Swift.Bool", - "usr": "s:Sb" - }, - { - "kind": "TypeNominal", - "name": "Result", - "printedName": "DouShouQiModel.Result", - "usr": "s:14DouShouQiModel6ResultO" - }, - { - "kind": "TypeNominal", - "name": "Result", - "printedName": "DouShouQiModel.Result", - "usr": "s:14DouShouQiModel6ResultO" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel6ResultO2eeoiySbAC_ACtFZ", - "mangledName": "$s14DouShouQiModel6ResultO2eeoiySbAC_ACtFZ", - "moduleName": "DouShouQiModel", - "static": true, - "implicit": true, - "funcSelfKind": "NonMutating" - } - ], - "declKind": "Enum", - "usr": "s:14DouShouQiModel6ResultO", - "mangledName": "$s14DouShouQiModel6ResultO", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "conformances": [ - { - "kind": "Conformance", - "name": "Equatable", - "printedName": "Equatable", - "usr": "s:SQ", - "mangledName": "$sSQ" - } - ] - }, - { - "kind": "TypeDecl", - "name": "WinningReason", - "printedName": "WinningReason", - "children": [ - { - "kind": "Var", - "name": "denReached", - "printedName": "denReached", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.WinningReason.Type) -> DouShouQiModel.WinningReason", - "children": [ - { - "kind": "TypeNominal", - "name": "WinningReason", - "printedName": "DouShouQiModel.WinningReason", - "usr": "s:14DouShouQiModel13WinningReasonO" - }, - { - "kind": "TypeNominal", - "name": "Metatype", - "printedName": "DouShouQiModel.WinningReason.Type", - "children": [ - { - "kind": "TypeNominal", - "name": "WinningReason", - "printedName": "DouShouQiModel.WinningReason", - "usr": "s:14DouShouQiModel13WinningReasonO" - } - ] - } - ] - } - ], - "declKind": "EnumElement", - "usr": "s:14DouShouQiModel13WinningReasonO10denReachedyA2CmF", - "mangledName": "$s14DouShouQiModel13WinningReasonO10denReachedyA2CmF", - "moduleName": "DouShouQiModel" - }, - { - "kind": "Var", - "name": "noMorePieces", - "printedName": "noMorePieces", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.WinningReason.Type) -> DouShouQiModel.WinningReason", - "children": [ - { - "kind": "TypeNominal", - "name": "WinningReason", - "printedName": "DouShouQiModel.WinningReason", - "usr": "s:14DouShouQiModel13WinningReasonO" - }, - { - "kind": "TypeNominal", - "name": "Metatype", - "printedName": "DouShouQiModel.WinningReason.Type", - "children": [ - { - "kind": "TypeNominal", - "name": "WinningReason", - "printedName": "DouShouQiModel.WinningReason", - "usr": "s:14DouShouQiModel13WinningReasonO" - } - ] - } - ] - } - ], - "declKind": "EnumElement", - "usr": "s:14DouShouQiModel13WinningReasonO12noMorePiecesyA2CmF", - "mangledName": "$s14DouShouQiModel13WinningReasonO12noMorePiecesyA2CmF", - "moduleName": "DouShouQiModel" - }, - { - "kind": "Var", - "name": "tooManyOccurences", - "printedName": "tooManyOccurences", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.WinningReason.Type) -> DouShouQiModel.WinningReason", - "children": [ - { - "kind": "TypeNominal", - "name": "WinningReason", - "printedName": "DouShouQiModel.WinningReason", - "usr": "s:14DouShouQiModel13WinningReasonO" - }, - { - "kind": "TypeNominal", - "name": "Metatype", - "printedName": "DouShouQiModel.WinningReason.Type", - "children": [ - { - "kind": "TypeNominal", - "name": "WinningReason", - "printedName": "DouShouQiModel.WinningReason", - "usr": "s:14DouShouQiModel13WinningReasonO" - } - ] - } - ] - } - ], - "declKind": "EnumElement", - "usr": "s:14DouShouQiModel13WinningReasonO17tooManyOccurencesyA2CmF", - "mangledName": "$s14DouShouQiModel13WinningReasonO17tooManyOccurencesyA2CmF", - "moduleName": "DouShouQiModel" - }, - { - "kind": "Var", - "name": "noMovesLeft", - "printedName": "noMovesLeft", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.WinningReason.Type) -> DouShouQiModel.WinningReason", - "children": [ - { - "kind": "TypeNominal", - "name": "WinningReason", - "printedName": "DouShouQiModel.WinningReason", - "usr": "s:14DouShouQiModel13WinningReasonO" - }, - { - "kind": "TypeNominal", - "name": "Metatype", - "printedName": "DouShouQiModel.WinningReason.Type", - "children": [ - { - "kind": "TypeNominal", - "name": "WinningReason", - "printedName": "DouShouQiModel.WinningReason", - "usr": "s:14DouShouQiModel13WinningReasonO" - } - ] - } - ] - } - ], - "declKind": "EnumElement", - "usr": "s:14DouShouQiModel13WinningReasonO11noMovesLeftyA2CmF", - "mangledName": "$s14DouShouQiModel13WinningReasonO11noMovesLeftyA2CmF", - "moduleName": "DouShouQiModel" - }, - { - "kind": "Function", - "name": "==", - "printedName": "==(_:_:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Bool", - "printedName": "Swift.Bool", - "usr": "s:Sb" - }, - { - "kind": "TypeNominal", - "name": "WinningReason", - "printedName": "DouShouQiModel.WinningReason", - "usr": "s:14DouShouQiModel13WinningReasonO" - }, - { - "kind": "TypeNominal", - "name": "WinningReason", - "printedName": "DouShouQiModel.WinningReason", - "usr": "s:14DouShouQiModel13WinningReasonO" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel13WinningReasonO2eeoiySbAC_ACtFZ", - "mangledName": "$s14DouShouQiModel13WinningReasonO2eeoiySbAC_ACtFZ", - "moduleName": "DouShouQiModel", - "static": true, - "implicit": true, - "funcSelfKind": "NonMutating" - }, - { - "kind": "Var", - "name": "hashValue", - "printedName": "hashValue", - "children": [ - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ], - "declKind": "Var", - "usr": "s:14DouShouQiModel13WinningReasonO9hashValueSivp", - "mangledName": "$s14DouShouQiModel13WinningReasonO9hashValueSivp", - "moduleName": "DouShouQiModel", - "implicit": true, - "accessors": [ - { - "kind": "Accessor", - "name": "Get", - "printedName": "Get()", - "children": [ - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ], - "declKind": "Accessor", - "usr": "s:14DouShouQiModel13WinningReasonO9hashValueSivg", - "mangledName": "$s14DouShouQiModel13WinningReasonO9hashValueSivg", - "moduleName": "DouShouQiModel", - "implicit": true, - "accessorKind": "get" - } - ] - }, - { - "kind": "Function", - "name": "hash", - "printedName": "hash(into:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - }, - { - "kind": "TypeNominal", - "name": "Hasher", - "printedName": "Swift.Hasher", - "paramValueOwnership": "InOut", - "usr": "s:s6HasherV" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel13WinningReasonO4hash4intoys6HasherVz_tF", - "mangledName": "$s14DouShouQiModel13WinningReasonO4hash4intoys6HasherVz_tF", - "moduleName": "DouShouQiModel", - "implicit": true, - "funcSelfKind": "NonMutating" - } - ], - "declKind": "Enum", - "usr": "s:14DouShouQiModel13WinningReasonO", - "mangledName": "$s14DouShouQiModel13WinningReasonO", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "conformances": [ - { - "kind": "Conformance", - "name": "Equatable", - "printedName": "Equatable", - "usr": "s:SQ", - "mangledName": "$sSQ" - }, - { - "kind": "Conformance", - "name": "Hashable", - "printedName": "Hashable", - "usr": "s:SH", - "mangledName": "$sSH" - } - ] - }, - { - "kind": "Import", - "name": "Foundation", - "printedName": "Foundation", - "declKind": "Import", - "moduleName": "DouShouQiModel" - }, - { - "kind": "TypeDecl", - "name": "BoardResult", - "printedName": "BoardResult", - "children": [ - { - "kind": "Var", - "name": "unknown", - "printedName": "unknown", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.BoardResult.Type) -> DouShouQiModel.BoardResult", - "children": [ - { - "kind": "TypeNominal", - "name": "BoardResult", - "printedName": "DouShouQiModel.BoardResult", - "usr": "s:14DouShouQiModel11BoardResultO" - }, - { - "kind": "TypeNominal", - "name": "Metatype", - "printedName": "DouShouQiModel.BoardResult.Type", - "children": [ - { - "kind": "TypeNominal", - "name": "BoardResult", - "printedName": "DouShouQiModel.BoardResult", - "usr": "s:14DouShouQiModel11BoardResultO" - } - ] - } - ] - } - ], - "declKind": "EnumElement", - "usr": "s:14DouShouQiModel11BoardResultO7unknownyA2CmF", - "mangledName": "$s14DouShouQiModel11BoardResultO7unknownyA2CmF", - "moduleName": "DouShouQiModel" - }, - { - "kind": "Var", - "name": "ok", - "printedName": "ok", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.BoardResult.Type) -> (DouShouQiModel.Piece?) -> DouShouQiModel.BoardResult", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.Piece?) -> DouShouQiModel.BoardResult", - "children": [ - { - "kind": "TypeNominal", - "name": "BoardResult", - "printedName": "DouShouQiModel.BoardResult", - "usr": "s:14DouShouQiModel11BoardResultO" - }, - { - "kind": "TypeNominal", - "name": "Tuple", - "printedName": "(piece: DouShouQiModel.Piece?)", - "children": [ - { - "kind": "TypeNominal", - "name": "Optional", - "printedName": "DouShouQiModel.Piece?", - "children": [ - { - "kind": "TypeNominal", - "name": "Piece", - "printedName": "DouShouQiModel.Piece", - "usr": "s:14DouShouQiModel5PieceV" - } - ], - "usr": "s:Sq" - } - ] - } - ] - }, - { - "kind": "TypeNominal", - "name": "Metatype", - "printedName": "DouShouQiModel.BoardResult.Type", - "children": [ - { - "kind": "TypeNominal", - "name": "BoardResult", - "printedName": "DouShouQiModel.BoardResult", - "usr": "s:14DouShouQiModel11BoardResultO" - } - ] - } - ] - } - ], - "declKind": "EnumElement", - "usr": "s:14DouShouQiModel11BoardResultO2okyAcA5PieceVSg_tcACmF", - "mangledName": "$s14DouShouQiModel11BoardResultO2okyAcA5PieceVSg_tcACmF", - "moduleName": "DouShouQiModel" - }, - { - "kind": "Var", - "name": "failed", - "printedName": "failed", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.BoardResult.Type) -> (DouShouQiModel.BoardFailingReason) -> DouShouQiModel.BoardResult", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.BoardFailingReason) -> DouShouQiModel.BoardResult", - "children": [ - { - "kind": "TypeNominal", - "name": "BoardResult", - "printedName": "DouShouQiModel.BoardResult", - "usr": "s:14DouShouQiModel11BoardResultO" - }, - { - "kind": "TypeNominal", - "name": "Tuple", - "printedName": "(reason: DouShouQiModel.BoardFailingReason)", - "children": [ - { - "kind": "TypeNominal", - "name": "BoardFailingReason", - "printedName": "DouShouQiModel.BoardFailingReason", - "usr": "s:14DouShouQiModel18BoardFailingReasonO" - } - ] - } - ] - }, - { - "kind": "TypeNominal", - "name": "Metatype", - "printedName": "DouShouQiModel.BoardResult.Type", - "children": [ - { - "kind": "TypeNominal", - "name": "BoardResult", - "printedName": "DouShouQiModel.BoardResult", - "usr": "s:14DouShouQiModel11BoardResultO" - } - ] - } - ] - } - ], - "declKind": "EnumElement", - "usr": "s:14DouShouQiModel11BoardResultO6failedyAcA0E13FailingReasonO_tcACmF", - "mangledName": "$s14DouShouQiModel11BoardResultO6failedyAcA0E13FailingReasonO_tcACmF", - "moduleName": "DouShouQiModel" - }, - { - "kind": "Function", - "name": "==", - "printedName": "==(_:_:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Bool", - "printedName": "Swift.Bool", - "usr": "s:Sb" - }, - { - "kind": "TypeNominal", - "name": "BoardResult", - "printedName": "DouShouQiModel.BoardResult", - "usr": "s:14DouShouQiModel11BoardResultO" - }, - { - "kind": "TypeNominal", - "name": "BoardResult", - "printedName": "DouShouQiModel.BoardResult", - "usr": "s:14DouShouQiModel11BoardResultO" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel11BoardResultO2eeoiySbAC_ACtFZ", - "mangledName": "$s14DouShouQiModel11BoardResultO2eeoiySbAC_ACtFZ", - "moduleName": "DouShouQiModel", - "static": true, - "implicit": true, - "funcSelfKind": "NonMutating" - } - ], - "declKind": "Enum", - "usr": "s:14DouShouQiModel11BoardResultO", - "mangledName": "$s14DouShouQiModel11BoardResultO", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "conformances": [ - { - "kind": "Conformance", - "name": "Equatable", - "printedName": "Equatable", - "usr": "s:SQ", - "mangledName": "$sSQ" - } - ] - }, - { - "kind": "TypeDecl", - "name": "BoardFailingReason", - "printedName": "BoardFailingReason", - "children": [ - { - "kind": "Var", - "name": "unknown", - "printedName": "unknown", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.BoardFailingReason.Type) -> DouShouQiModel.BoardFailingReason", - "children": [ - { - "kind": "TypeNominal", - "name": "BoardFailingReason", - "printedName": "DouShouQiModel.BoardFailingReason", - "usr": "s:14DouShouQiModel18BoardFailingReasonO" - }, - { - "kind": "TypeNominal", - "name": "Metatype", - "printedName": "DouShouQiModel.BoardFailingReason.Type", - "children": [ - { - "kind": "TypeNominal", - "name": "BoardFailingReason", - "printedName": "DouShouQiModel.BoardFailingReason", - "usr": "s:14DouShouQiModel18BoardFailingReasonO" - } - ] - } - ] - } - ], - "declKind": "EnumElement", - "usr": "s:14DouShouQiModel18BoardFailingReasonO7unknownyA2CmF", - "mangledName": "$s14DouShouQiModel18BoardFailingReasonO7unknownyA2CmF", - "moduleName": "DouShouQiModel" - }, - { - "kind": "Var", - "name": "outOfBounds", - "printedName": "outOfBounds", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.BoardFailingReason.Type) -> DouShouQiModel.BoardFailingReason", - "children": [ - { - "kind": "TypeNominal", - "name": "BoardFailingReason", - "printedName": "DouShouQiModel.BoardFailingReason", - "usr": "s:14DouShouQiModel18BoardFailingReasonO" - }, - { - "kind": "TypeNominal", - "name": "Metatype", - "printedName": "DouShouQiModel.BoardFailingReason.Type", - "children": [ - { - "kind": "TypeNominal", - "name": "BoardFailingReason", - "printedName": "DouShouQiModel.BoardFailingReason", - "usr": "s:14DouShouQiModel18BoardFailingReasonO" - } - ] - } - ] - } - ], - "declKind": "EnumElement", - "usr": "s:14DouShouQiModel18BoardFailingReasonO11outOfBoundsyA2CmF", - "mangledName": "$s14DouShouQiModel18BoardFailingReasonO11outOfBoundsyA2CmF", - "moduleName": "DouShouQiModel" - }, - { - "kind": "Var", - "name": "cellNotEmpty", - "printedName": "cellNotEmpty", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.BoardFailingReason.Type) -> DouShouQiModel.BoardFailingReason", - "children": [ - { - "kind": "TypeNominal", - "name": "BoardFailingReason", - "printedName": "DouShouQiModel.BoardFailingReason", - "usr": "s:14DouShouQiModel18BoardFailingReasonO" - }, - { - "kind": "TypeNominal", - "name": "Metatype", - "printedName": "DouShouQiModel.BoardFailingReason.Type", - "children": [ - { - "kind": "TypeNominal", - "name": "BoardFailingReason", - "printedName": "DouShouQiModel.BoardFailingReason", - "usr": "s:14DouShouQiModel18BoardFailingReasonO" - } - ] - } - ] - } - ], - "declKind": "EnumElement", - "usr": "s:14DouShouQiModel18BoardFailingReasonO12cellNotEmptyyA2CmF", - "mangledName": "$s14DouShouQiModel18BoardFailingReasonO12cellNotEmptyyA2CmF", - "moduleName": "DouShouQiModel" - }, - { - "kind": "Var", - "name": "cellEmpty", - "printedName": "cellEmpty", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.BoardFailingReason.Type) -> DouShouQiModel.BoardFailingReason", - "children": [ - { - "kind": "TypeNominal", - "name": "BoardFailingReason", - "printedName": "DouShouQiModel.BoardFailingReason", - "usr": "s:14DouShouQiModel18BoardFailingReasonO" - }, - { - "kind": "TypeNominal", - "name": "Metatype", - "printedName": "DouShouQiModel.BoardFailingReason.Type", - "children": [ - { - "kind": "TypeNominal", - "name": "BoardFailingReason", - "printedName": "DouShouQiModel.BoardFailingReason", - "usr": "s:14DouShouQiModel18BoardFailingReasonO" - } - ] - } - ] - } - ], - "declKind": "EnumElement", - "usr": "s:14DouShouQiModel18BoardFailingReasonO9cellEmptyyA2CmF", - "mangledName": "$s14DouShouQiModel18BoardFailingReasonO9cellEmptyyA2CmF", - "moduleName": "DouShouQiModel" - }, - { - "kind": "Function", - "name": "==", - "printedName": "==(_:_:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Bool", - "printedName": "Swift.Bool", - "usr": "s:Sb" - }, - { - "kind": "TypeNominal", - "name": "BoardFailingReason", - "printedName": "DouShouQiModel.BoardFailingReason", - "usr": "s:14DouShouQiModel18BoardFailingReasonO" - }, - { - "kind": "TypeNominal", - "name": "BoardFailingReason", - "printedName": "DouShouQiModel.BoardFailingReason", - "usr": "s:14DouShouQiModel18BoardFailingReasonO" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel18BoardFailingReasonO2eeoiySbAC_ACtFZ", - "mangledName": "$s14DouShouQiModel18BoardFailingReasonO2eeoiySbAC_ACtFZ", - "moduleName": "DouShouQiModel", - "static": true, - "implicit": true, - "funcSelfKind": "NonMutating" - }, - { - "kind": "Var", - "name": "hashValue", - "printedName": "hashValue", - "children": [ - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ], - "declKind": "Var", - "usr": "s:14DouShouQiModel18BoardFailingReasonO9hashValueSivp", - "mangledName": "$s14DouShouQiModel18BoardFailingReasonO9hashValueSivp", - "moduleName": "DouShouQiModel", - "implicit": true, - "accessors": [ - { - "kind": "Accessor", - "name": "Get", - "printedName": "Get()", - "children": [ - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ], - "declKind": "Accessor", - "usr": "s:14DouShouQiModel18BoardFailingReasonO9hashValueSivg", - "mangledName": "$s14DouShouQiModel18BoardFailingReasonO9hashValueSivg", - "moduleName": "DouShouQiModel", - "implicit": true, - "accessorKind": "get" - } - ] - }, - { - "kind": "Function", - "name": "hash", - "printedName": "hash(into:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - }, - { - "kind": "TypeNominal", - "name": "Hasher", - "printedName": "Swift.Hasher", - "paramValueOwnership": "InOut", - "usr": "s:s6HasherV" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel18BoardFailingReasonO4hash4intoys6HasherVz_tF", - "mangledName": "$s14DouShouQiModel18BoardFailingReasonO4hash4intoys6HasherVz_tF", - "moduleName": "DouShouQiModel", - "implicit": true, - "funcSelfKind": "NonMutating" - } - ], - "declKind": "Enum", - "usr": "s:14DouShouQiModel18BoardFailingReasonO", - "mangledName": "$s14DouShouQiModel18BoardFailingReasonO", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "conformances": [ - { - "kind": "Conformance", - "name": "Equatable", - "printedName": "Equatable", - "usr": "s:SQ", - "mangledName": "$sSQ" - }, - { - "kind": "Conformance", - "name": "Hashable", - "printedName": "Hashable", - "usr": "s:SH", - "mangledName": "$sSH" - } - ] - }, - { - "kind": "Import", - "name": "Foundation", - "printedName": "Foundation", - "declKind": "Import", - "moduleName": "DouShouQiModel" - }, - { - "kind": "TypeDecl", - "name": "HumanPlayer", - "printedName": "HumanPlayer", - "children": [ - { - "kind": "Constructor", - "name": "init", - "printedName": "init(withName:andId:andInputMethod:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Optional", - "printedName": "DouShouQiModel.HumanPlayer?", - "children": [ - { - "kind": "TypeNominal", - "name": "HumanPlayer", - "printedName": "DouShouQiModel.HumanPlayer", - "usr": "s:14DouShouQiModel11HumanPlayerC" - } - ], - "usr": "s:Sq" - }, - { - "kind": "TypeNominal", - "name": "String", - "printedName": "Swift.String", - "usr": "s:SS" - }, - { - "kind": "TypeNominal", - "name": "Owner", - "printedName": "DouShouQiModel.Owner", - "usr": "s:14DouShouQiModel5OwnerO" - }, - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.HumanPlayer) -> DouShouQiModel.Move?", - "children": [ - { - "kind": "TypeNominal", - "name": "Optional", - "printedName": "DouShouQiModel.Move?", - "children": [ - { - "kind": "TypeNominal", - "name": "Move", - "printedName": "DouShouQiModel.Move", - "usr": "s:14DouShouQiModel4MoveV" - } - ], - "usr": "s:Sq" - }, - { - "kind": "TypeNominal", - "name": "HumanPlayer", - "printedName": "DouShouQiModel.HumanPlayer", - "usr": "s:14DouShouQiModel11HumanPlayerC" - } - ] - } - ], - "declKind": "Constructor", - "usr": "s:14DouShouQiModel11HumanPlayerC8withName5andId0I11InputMethodACSgSS_AA5OwnerOAA4MoveVSgACctcfc", - "mangledName": "$s14DouShouQiModel11HumanPlayerC8withName5andId0I11InputMethodACSgSS_AA5OwnerOAA4MoveVSgACctcfc", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "init_kind": "Designated" - }, - { - "kind": "Constructor", - "name": "init", - "printedName": "init(withName:andId:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Optional", - "printedName": "DouShouQiModel.HumanPlayer?", - "children": [ - { - "kind": "TypeNominal", - "name": "HumanPlayer", - "printedName": "DouShouQiModel.HumanPlayer", - "usr": "s:14DouShouQiModel11HumanPlayerC" - } - ], - "usr": "s:Sq" - }, - { - "kind": "TypeNominal", - "name": "String", - "printedName": "Swift.String", - "usr": "s:SS" - }, - { - "kind": "TypeNominal", - "name": "Owner", - "printedName": "DouShouQiModel.Owner", - "usr": "s:14DouShouQiModel5OwnerO" - } - ], - "declKind": "Constructor", - "usr": "s:14DouShouQiModel11HumanPlayerC8withName5andIdACSgSS_AA5OwnerOtcfc", - "mangledName": "$s14DouShouQiModel11HumanPlayerC8withName5andIdACSgSS_AA5OwnerOtcfc", - "moduleName": "DouShouQiModel", - "overriding": true, - "declAttributes": [ - "Override", - "AccessControl" - ], - "init_kind": "Designated" - }, - { - "kind": "Function", - "name": "chooseMove", - "printedName": "chooseMove(in:with:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - }, - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - }, - { - "kind": "TypeNominal", - "name": "Rules", - "printedName": "DouShouQiModel.Rules", - "usr": "s:14DouShouQiModel5RulesP" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel11HumanPlayerC10chooseMove2in4withyAA5BoardV_AA5Rules_ptYaKF", - "mangledName": "$s14DouShouQiModel11HumanPlayerC10chooseMove2in4withyAA5BoardV_AA5Rules_ptYaKF", - "moduleName": "DouShouQiModel", - "overriding": true, - "declAttributes": [ - "Override", - "AccessControl" - ], - "throwing": true, - "funcSelfKind": "NonMutating" - }, - { - "kind": "Function", - "name": "changeInput", - "printedName": "changeInput(input:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - }, - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.HumanPlayer) -> DouShouQiModel.Move?", - "children": [ - { - "kind": "TypeNominal", - "name": "Optional", - "printedName": "DouShouQiModel.Move?", - "children": [ - { - "kind": "TypeNominal", - "name": "Move", - "printedName": "DouShouQiModel.Move", - "usr": "s:14DouShouQiModel4MoveV" - } - ], - "usr": "s:Sq" - }, - { - "kind": "TypeNominal", - "name": "HumanPlayer", - "printedName": "DouShouQiModel.HumanPlayer", - "usr": "s:14DouShouQiModel11HumanPlayerC" - } - ] - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel11HumanPlayerC11changeInput5inputyAA4MoveVSgACc_tF", - "mangledName": "$s14DouShouQiModel11HumanPlayerC11changeInput5inputyAA4MoveVSgACc_tF", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "funcSelfKind": "NonMutating" - }, - { - "kind": "Function", - "name": "chooseMove", - "printedName": "chooseMove(_:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - }, - { - "kind": "TypeNominal", - "name": "Optional", - "printedName": "DouShouQiModel.Move?", - "children": [ - { - "kind": "TypeNominal", - "name": "Move", - "printedName": "DouShouQiModel.Move", - "usr": "s:14DouShouQiModel4MoveV" - } - ], - "usr": "s:Sq" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel11HumanPlayerC10chooseMoveyyAA0H0VSgYaKF", - "mangledName": "$s14DouShouQiModel11HumanPlayerC10chooseMoveyyAA0H0VSgYaKF", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "throwing": true, - "funcSelfKind": "NonMutating" - } - ], - "declKind": "Class", - "usr": "s:14DouShouQiModel11HumanPlayerC", - "mangledName": "$s14DouShouQiModel11HumanPlayerC", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "superclassUsr": "s:14DouShouQiModel6PlayerC", - "inheritsConvenienceInitializers": true, - "superclassNames": [ - "DouShouQiModel.Player" - ] - }, - { - "kind": "Import", - "name": "Foundation", - "printedName": "Foundation", - "declKind": "Import", - "moduleName": "DouShouQiModel" - }, - { - "kind": "TypeDecl", - "name": "ClassicRules", - "printedName": "ClassicRules", - "children": [ - { - "kind": "Function", - "name": "createBoard", - "printedName": "createBoard()", - "children": [ - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel12ClassicRulesV11createBoardAA0H0VyFZ", - "mangledName": "$s14DouShouQiModel12ClassicRulesV11createBoardAA0H0VyFZ", - "moduleName": "DouShouQiModel", - "static": true, - "declAttributes": [ - "AccessControl" - ], - "funcSelfKind": "NonMutating" - }, - { - "kind": "Function", - "name": "checkBoard", - "printedName": "checkBoard(_:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - }, - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel12ClassicRulesV10checkBoardyyAA0H0VKFZ", - "mangledName": "$s14DouShouQiModel12ClassicRulesV10checkBoardyyAA0H0VKFZ", - "moduleName": "DouShouQiModel", - "static": true, - "declAttributes": [ - "AccessControl" - ], - "throwing": true, - "funcSelfKind": "NonMutating" - }, - { - "kind": "Constructor", - "name": "init", - "printedName": "init()", - "children": [ - { - "kind": "TypeNominal", - "name": "ClassicRules", - "printedName": "DouShouQiModel.ClassicRules", - "usr": "s:14DouShouQiModel12ClassicRulesV" - } - ], - "declKind": "Constructor", - "usr": "s:14DouShouQiModel12ClassicRulesVACycfc", - "mangledName": "$s14DouShouQiModel12ClassicRulesVACycfc", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "init_kind": "Designated" - }, - { - "kind": "Constructor", - "name": "init", - "printedName": "init(occurences:historic:)", - "children": [ - { - "kind": "TypeNominal", - "name": "ClassicRules", - "printedName": "DouShouQiModel.ClassicRules", - "usr": "s:14DouShouQiModel12ClassicRulesV" - }, - { - "kind": "TypeNominal", - "name": "Dictionary", - "printedName": "[DouShouQiModel.Board : Swift.Int]", - "children": [ - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ], - "usr": "s:SD" - }, - { - "kind": "TypeNominal", - "name": "Array", - "printedName": "[DouShouQiModel.Move]", - "children": [ - { - "kind": "TypeNominal", - "name": "Move", - "printedName": "DouShouQiModel.Move", - "usr": "s:14DouShouQiModel4MoveV" - } - ], - "usr": "s:Sa" - } - ], - "declKind": "Constructor", - "usr": "s:14DouShouQiModel12ClassicRulesV10occurences8historicACSDyAA5BoardVSiG_SayAA4MoveVGtcfc", - "mangledName": "$s14DouShouQiModel12ClassicRulesV10occurences8historicACSDyAA5BoardVSiG_SayAA4MoveVGtcfc", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "init_kind": "Designated" - }, - { - "kind": "Function", - "name": "getMoves", - "printedName": "getMoves(in:of:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Array", - "printedName": "[DouShouQiModel.Move]", - "children": [ - { - "kind": "TypeNominal", - "name": "Move", - "printedName": "DouShouQiModel.Move", - "usr": "s:14DouShouQiModel4MoveV" - } - ], - "usr": "s:Sa" - }, - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - }, - { - "kind": "TypeNominal", - "name": "Owner", - "printedName": "DouShouQiModel.Owner", - "usr": "s:14DouShouQiModel5OwnerO" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel12ClassicRulesV8getMoves2in2ofSayAA4MoveVGAA5BoardV_AA5OwnerOtF", - "mangledName": "$s14DouShouQiModel12ClassicRulesV8getMoves2in2ofSayAA4MoveVGAA5BoardV_AA5OwnerOtF", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "funcSelfKind": "NonMutating" - }, - { - "kind": "Function", - "name": "getMoves", - "printedName": "getMoves(in:of:fromRow:andColumn:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Array", - "printedName": "[DouShouQiModel.Move]", - "children": [ - { - "kind": "TypeNominal", - "name": "Move", - "printedName": "DouShouQiModel.Move", - "usr": "s:14DouShouQiModel4MoveV" - } - ], - "usr": "s:Sa" - }, - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - }, - { - "kind": "TypeNominal", - "name": "Owner", - "printedName": "DouShouQiModel.Owner", - "usr": "s:14DouShouQiModel5OwnerO" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel12ClassicRulesV8getMoves2in2of7fromRow9andColumnSayAA4MoveVGAA5BoardV_AA5OwnerOS2itF", - "mangledName": "$s14DouShouQiModel12ClassicRulesV8getMoves2in2of7fromRow9andColumnSayAA4MoveVGAA5BoardV_AA5OwnerOS2itF", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "funcSelfKind": "NonMutating" - }, - { - "kind": "Function", - "name": "isMoveValid", - "printedName": "isMoveValid(onBoard:fromRow:andFromColumn:toRow:andToColumn:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Bool", - "printedName": "Swift.Bool", - "usr": "s:Sb" - }, - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel12ClassicRulesV11isMoveValid7onBoard7fromRow13andFromColumn02toM00n2ToP0SbAA0K0V_S4itF", - "mangledName": "$s14DouShouQiModel12ClassicRulesV11isMoveValid7onBoard7fromRow13andFromColumn02toM00n2ToP0SbAA0K0V_S4itF", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "funcSelfKind": "NonMutating" - }, - { - "kind": "Function", - "name": "isMoveValid", - "printedName": "isMoveValid(onBoard:withMove:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Bool", - "printedName": "Swift.Bool", - "usr": "s:Sb" - }, - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - }, - { - "kind": "TypeNominal", - "name": "Move", - "printedName": "DouShouQiModel.Move", - "usr": "s:14DouShouQiModel4MoveV" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel12ClassicRulesV11isMoveValid7onBoard04withH0SbAA0K0V_AA0H0VtF", - "mangledName": "$s14DouShouQiModel12ClassicRulesV11isMoveValid7onBoard04withH0SbAA0K0V_AA0H0VtF", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "funcSelfKind": "NonMutating" - }, - { - "kind": "Function", - "name": "isGameOver", - "printedName": "isGameOver(withBoard:andLastRowPlayed:andLastColumnPlayer:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Tuple", - "printedName": "(Swift.Bool, DouShouQiModel.Result)", - "children": [ - { - "kind": "TypeNominal", - "name": "Bool", - "printedName": "Swift.Bool", - "usr": "s:Sb" - }, - { - "kind": "TypeNominal", - "name": "Result", - "printedName": "DouShouQiModel.Result", - "usr": "s:14DouShouQiModel6ResultO" - } - ] - }, - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel12ClassicRulesV10isGameOver9withBoard16andLastRowPlayed0lM12ColumnPlayerSb_AA6ResultOtAA0K0V_S2itF", - "mangledName": "$s14DouShouQiModel12ClassicRulesV10isGameOver9withBoard16andLastRowPlayed0lM12ColumnPlayerSb_AA6ResultOtAA0K0V_S2itF", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "funcSelfKind": "NonMutating" - }, - { - "kind": "Function", - "name": "playedMove", - "printedName": "playedMove(_:onStartingBoard:andResultingBoard:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - }, - { - "kind": "TypeNominal", - "name": "Move", - "printedName": "DouShouQiModel.Move", - "usr": "s:14DouShouQiModel4MoveV" - }, - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - }, - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel12ClassicRulesV10playedMove_15onStartingBoard012andResultingK0yAA0H0V_AA0K0VAJtKF", - "mangledName": "$s14DouShouQiModel12ClassicRulesV10playedMove_15onStartingBoard012andResultingK0yAA0H0V_AA0K0VAJtKF", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "Mutating", - "AccessControl" - ], - "throwing": true, - "funcSelfKind": "Mutating" - }, - { - "kind": "Function", - "name": "getNextPlayer", - "printedName": "getNextPlayer()", - "children": [ - { - "kind": "TypeNominal", - "name": "Owner", - "printedName": "DouShouQiModel.Owner", - "usr": "s:14DouShouQiModel5OwnerO" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel12ClassicRulesV13getNextPlayerAA5OwnerOyF", - "mangledName": "$s14DouShouQiModel12ClassicRulesV13getNextPlayerAA5OwnerOyF", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "funcSelfKind": "NonMutating" - }, - { - "kind": "Var", - "name": "occurences", - "printedName": "occurences", - "children": [ - { - "kind": "TypeNominal", - "name": "Dictionary", - "printedName": "[DouShouQiModel.Board : Swift.Int]", - "children": [ - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ], - "usr": "s:SD" - } - ], - "declKind": "Var", - "usr": "s:14DouShouQiModel12ClassicRulesV10occurencesSDyAA5BoardVSiGvp", - "mangledName": "$s14DouShouQiModel12ClassicRulesV10occurencesSDyAA5BoardVSiGvp", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "HasInitialValue", - "HasStorage", - "SetterAccess", - "AccessControl" - ], - "hasStorage": true, - "accessors": [ - { - "kind": "Accessor", - "name": "Get", - "printedName": "Get()", - "children": [ - { - "kind": "TypeNominal", - "name": "Dictionary", - "printedName": "[DouShouQiModel.Board : Swift.Int]", - "children": [ - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ], - "usr": "s:SD" - } - ], - "declKind": "Accessor", - "usr": "s:14DouShouQiModel12ClassicRulesV10occurencesSDyAA5BoardVSiGvg", - "mangledName": "$s14DouShouQiModel12ClassicRulesV10occurencesSDyAA5BoardVSiGvg", - "moduleName": "DouShouQiModel", - "implicit": true, - "accessorKind": "get" - } - ] - }, - { - "kind": "Var", - "name": "historic", - "printedName": "historic", - "children": [ - { - "kind": "TypeNominal", - "name": "Array", - "printedName": "[DouShouQiModel.Move]", - "children": [ - { - "kind": "TypeNominal", - "name": "Move", - "printedName": "DouShouQiModel.Move", - "usr": "s:14DouShouQiModel4MoveV" - } - ], - "usr": "s:Sa" - } - ], - "declKind": "Var", - "usr": "s:14DouShouQiModel12ClassicRulesV8historicSayAA4MoveVGvp", - "mangledName": "$s14DouShouQiModel12ClassicRulesV8historicSayAA4MoveVGvp", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "HasInitialValue", - "HasStorage", - "SetterAccess", - "AccessControl" - ], - "hasStorage": true, - "accessors": [ - { - "kind": "Accessor", - "name": "Get", - "printedName": "Get()", - "children": [ - { - "kind": "TypeNominal", - "name": "Array", - "printedName": "[DouShouQiModel.Move]", - "children": [ - { - "kind": "TypeNominal", - "name": "Move", - "printedName": "DouShouQiModel.Move", - "usr": "s:14DouShouQiModel4MoveV" - } - ], - "usr": "s:Sa" - } - ], - "declKind": "Accessor", - "usr": "s:14DouShouQiModel12ClassicRulesV8historicSayAA4MoveVGvg", - "mangledName": "$s14DouShouQiModel12ClassicRulesV8historicSayAA4MoveVGvg", - "moduleName": "DouShouQiModel", - "implicit": true, - "accessorKind": "get" - } - ] - } - ], - "declKind": "Struct", - "usr": "s:14DouShouQiModel12ClassicRulesV", - "mangledName": "$s14DouShouQiModel12ClassicRulesV", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "conformances": [ - { - "kind": "Conformance", - "name": "Rules", - "printedName": "Rules", - "usr": "s:14DouShouQiModel5RulesP", - "mangledName": "$s14DouShouQiModel5RulesP" - } - ] - }, - { - "kind": "Import", - "name": "Foundation", - "printedName": "Foundation", - "declKind": "Import", - "moduleName": "DouShouQiModel" - }, - { - "kind": "TypeDecl", - "name": "Cell", - "printedName": "Cell", - "children": [ - { - "kind": "Var", - "name": "description", - "printedName": "description", - "children": [ - { - "kind": "TypeNominal", - "name": "String", - "printedName": "Swift.String", - "usr": "s:SS" - } - ], - "declKind": "Var", - "usr": "s:14DouShouQiModel4CellV11descriptionSSvp", - "mangledName": "$s14DouShouQiModel4CellV11descriptionSSvp", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "accessors": [ - { - "kind": "Accessor", - "name": "Get", - "printedName": "Get()", - "children": [ - { - "kind": "TypeNominal", - "name": "String", - "printedName": "Swift.String", - "usr": "s:SS" - } - ], - "declKind": "Accessor", - "usr": "s:14DouShouQiModel4CellV11descriptionSSvg", - "mangledName": "$s14DouShouQiModel4CellV11descriptionSSvg", - "moduleName": "DouShouQiModel", - "accessorKind": "get" - } - ] - }, - { - "kind": "Var", - "name": "cellType", - "printedName": "cellType", - "children": [ - { - "kind": "TypeNominal", - "name": "CellType", - "printedName": "DouShouQiModel.CellType", - "usr": "s:14DouShouQiModel8CellTypeO" - } - ], - "declKind": "Var", - "usr": "s:14DouShouQiModel4CellV8cellTypeAA0eG0Ovp", - "mangledName": "$s14DouShouQiModel4CellV8cellTypeAA0eG0Ovp", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "HasStorage", - "AccessControl" - ], - "isLet": true, - "hasStorage": true, - "accessors": [ - { - "kind": "Accessor", - "name": "Get", - "printedName": "Get()", - "children": [ - { - "kind": "TypeNominal", - "name": "CellType", - "printedName": "DouShouQiModel.CellType", - "usr": "s:14DouShouQiModel8CellTypeO" - } - ], - "declKind": "Accessor", - "usr": "s:14DouShouQiModel4CellV8cellTypeAA0eG0Ovg", - "mangledName": "$s14DouShouQiModel4CellV8cellTypeAA0eG0Ovg", - "moduleName": "DouShouQiModel", - "implicit": true, - "accessorKind": "get" - } - ] - }, - { - "kind": "Var", - "name": "initialOwner", - "printedName": "initialOwner", - "children": [ - { - "kind": "TypeNominal", - "name": "Owner", - "printedName": "DouShouQiModel.Owner", - "usr": "s:14DouShouQiModel5OwnerO" - } - ], - "declKind": "Var", - "usr": "s:14DouShouQiModel4CellV12initialOwnerAA0G0Ovp", - "mangledName": "$s14DouShouQiModel4CellV12initialOwnerAA0G0Ovp", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "HasStorage", - "AccessControl" - ], - "isLet": true, - "hasStorage": true, - "accessors": [ - { - "kind": "Accessor", - "name": "Get", - "printedName": "Get()", - "children": [ - { - "kind": "TypeNominal", - "name": "Owner", - "printedName": "DouShouQiModel.Owner", - "usr": "s:14DouShouQiModel5OwnerO" - } - ], - "declKind": "Accessor", - "usr": "s:14DouShouQiModel4CellV12initialOwnerAA0G0Ovg", - "mangledName": "$s14DouShouQiModel4CellV12initialOwnerAA0G0Ovg", - "moduleName": "DouShouQiModel", - "implicit": true, - "accessorKind": "get" - } - ] - }, - { - "kind": "Var", - "name": "piece", - "printedName": "piece", - "children": [ - { - "kind": "TypeNominal", - "name": "Optional", - "printedName": "DouShouQiModel.Piece?", - "children": [ - { - "kind": "TypeNominal", - "name": "Piece", - "printedName": "DouShouQiModel.Piece", - "usr": "s:14DouShouQiModel5PieceV" - } - ], - "usr": "s:Sq" - } - ], - "declKind": "Var", - "usr": "s:14DouShouQiModel4CellV5pieceAA5PieceVSgvp", - "mangledName": "$s14DouShouQiModel4CellV5pieceAA5PieceVSgvp", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "HasInitialValue", - "HasStorage", - "AccessControl" - ], - "hasStorage": true, - "accessors": [ - { - "kind": "Accessor", - "name": "Get", - "printedName": "Get()", - "children": [ - { - "kind": "TypeNominal", - "name": "Optional", - "printedName": "DouShouQiModel.Piece?", - "children": [ - { - "kind": "TypeNominal", - "name": "Piece", - "printedName": "DouShouQiModel.Piece", - "usr": "s:14DouShouQiModel5PieceV" - } - ], - "usr": "s:Sq" - } - ], - "declKind": "Accessor", - "usr": "s:14DouShouQiModel4CellV5pieceAA5PieceVSgvg", - "mangledName": "$s14DouShouQiModel4CellV5pieceAA5PieceVSgvg", - "moduleName": "DouShouQiModel", - "implicit": true, - "accessorKind": "get" - }, - { - "kind": "Accessor", - "name": "Set", - "printedName": "Set()", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - }, - { - "kind": "TypeNominal", - "name": "Optional", - "printedName": "DouShouQiModel.Piece?", - "children": [ - { - "kind": "TypeNominal", - "name": "Piece", - "printedName": "DouShouQiModel.Piece", - "usr": "s:14DouShouQiModel5PieceV" - } - ], - "usr": "s:Sq" - } - ], - "declKind": "Accessor", - "usr": "s:14DouShouQiModel4CellV5pieceAA5PieceVSgvs", - "mangledName": "$s14DouShouQiModel4CellV5pieceAA5PieceVSgvs", - "moduleName": "DouShouQiModel", - "implicit": true, - "accessorKind": "set" - }, - { - "kind": "Accessor", - "name": "Modify", - "printedName": "Modify()", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - } - ], - "declKind": "Accessor", - "usr": "s:14DouShouQiModel4CellV5pieceAA5PieceVSgvM", - "mangledName": "$s14DouShouQiModel4CellV5pieceAA5PieceVSgvM", - "moduleName": "DouShouQiModel", - "implicit": true, - "accessorKind": "_modify" - } - ] - }, - { - "kind": "Constructor", - "name": "init", - "printedName": "init(ofType:ownedBy:withPiece:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Cell", - "printedName": "DouShouQiModel.Cell", - "usr": "s:14DouShouQiModel4CellV" - }, - { - "kind": "TypeNominal", - "name": "CellType", - "printedName": "DouShouQiModel.CellType", - "usr": "s:14DouShouQiModel8CellTypeO" - }, - { - "kind": "TypeNominal", - "name": "Owner", - "printedName": "DouShouQiModel.Owner", - "hasDefaultArg": true, - "usr": "s:14DouShouQiModel5OwnerO" - }, - { - "kind": "TypeNominal", - "name": "Optional", - "printedName": "DouShouQiModel.Piece?", - "children": [ - { - "kind": "TypeNominal", - "name": "Piece", - "printedName": "DouShouQiModel.Piece", - "usr": "s:14DouShouQiModel5PieceV" - } - ], - "hasDefaultArg": true, - "usr": "s:Sq" - } - ], - "declKind": "Constructor", - "usr": "s:14DouShouQiModel4CellV6ofType7ownedBy9withPieceAcA0eG0O_AA5OwnerOAA0K0VSgtcfc", - "mangledName": "$s14DouShouQiModel4CellV6ofType7ownedBy9withPieceAcA0eG0O_AA5OwnerOAA0K0VSgtcfc", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "init_kind": "Designated" - }, - { - "kind": "Function", - "name": "==", - "printedName": "==(_:_:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Bool", - "printedName": "Swift.Bool", - "usr": "s:Sb" - }, - { - "kind": "TypeNominal", - "name": "Cell", - "printedName": "DouShouQiModel.Cell", - "usr": "s:14DouShouQiModel4CellV" - }, - { - "kind": "TypeNominal", - "name": "Cell", - "printedName": "DouShouQiModel.Cell", - "usr": "s:14DouShouQiModel4CellV" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel4CellV2eeoiySbAC_ACtFZ", - "mangledName": "$s14DouShouQiModel4CellV2eeoiySbAC_ACtFZ", - "moduleName": "DouShouQiModel", - "static": true, - "implicit": true, - "funcSelfKind": "NonMutating" - } - ], - "declKind": "Struct", - "usr": "s:14DouShouQiModel4CellV", - "mangledName": "$s14DouShouQiModel4CellV", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "conformances": [ - { - "kind": "Conformance", - "name": "CustomStringConvertible", - "printedName": "CustomStringConvertible", - "usr": "s:s23CustomStringConvertibleP", - "mangledName": "$ss23CustomStringConvertibleP" - }, - { - "kind": "Conformance", - "name": "Equatable", - "printedName": "Equatable", - "usr": "s:SQ", - "mangledName": "$sSQ" - } - ] - }, - { - "kind": "Import", - "name": "Foundation", - "printedName": "Foundation", - "declKind": "Import", - "moduleName": "DouShouQiModel" - }, - { - "kind": "TypeDecl", - "name": "VerySimpleRules", - "printedName": "VerySimpleRules", - "children": [ - { - "kind": "Function", - "name": "createBoard", - "printedName": "createBoard()", - "children": [ - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel15VerySimpleRulesV11createBoardAA0I0VyFZ", - "mangledName": "$s14DouShouQiModel15VerySimpleRulesV11createBoardAA0I0VyFZ", - "moduleName": "DouShouQiModel", - "static": true, - "declAttributes": [ - "AccessControl" - ], - "funcSelfKind": "NonMutating" - }, - { - "kind": "Function", - "name": "checkBoard", - "printedName": "checkBoard(_:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - }, - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel15VerySimpleRulesV10checkBoardyyAA0I0VKFZ", - "mangledName": "$s14DouShouQiModel15VerySimpleRulesV10checkBoardyyAA0I0VKFZ", - "moduleName": "DouShouQiModel", - "static": true, - "declAttributes": [ - "AccessControl" - ], - "throwing": true, - "funcSelfKind": "NonMutating" - }, - { - "kind": "Constructor", - "name": "init", - "printedName": "init()", - "children": [ - { - "kind": "TypeNominal", - "name": "VerySimpleRules", - "printedName": "DouShouQiModel.VerySimpleRules", - "usr": "s:14DouShouQiModel15VerySimpleRulesV" - } - ], - "declKind": "Constructor", - "usr": "s:14DouShouQiModel15VerySimpleRulesVACycfc", - "mangledName": "$s14DouShouQiModel15VerySimpleRulesVACycfc", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "init_kind": "Designated" - }, - { - "kind": "Constructor", - "name": "init", - "printedName": "init(occurences:historic:)", - "children": [ - { - "kind": "TypeNominal", - "name": "VerySimpleRules", - "printedName": "DouShouQiModel.VerySimpleRules", - "usr": "s:14DouShouQiModel15VerySimpleRulesV" - }, - { - "kind": "TypeNominal", - "name": "Dictionary", - "printedName": "[DouShouQiModel.Board : Swift.Int]", - "children": [ - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ], - "usr": "s:SD" - }, - { - "kind": "TypeNominal", - "name": "Array", - "printedName": "[DouShouQiModel.Move]", - "children": [ - { - "kind": "TypeNominal", - "name": "Move", - "printedName": "DouShouQiModel.Move", - "usr": "s:14DouShouQiModel4MoveV" - } - ], - "usr": "s:Sa" - } - ], - "declKind": "Constructor", - "usr": "s:14DouShouQiModel15VerySimpleRulesV10occurences8historicACSDyAA5BoardVSiG_SayAA4MoveVGtcfc", - "mangledName": "$s14DouShouQiModel15VerySimpleRulesV10occurences8historicACSDyAA5BoardVSiG_SayAA4MoveVGtcfc", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "init_kind": "Designated" - }, - { - "kind": "Function", - "name": "getMoves", - "printedName": "getMoves(in:of:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Array", - "printedName": "[DouShouQiModel.Move]", - "children": [ - { - "kind": "TypeNominal", - "name": "Move", - "printedName": "DouShouQiModel.Move", - "usr": "s:14DouShouQiModel4MoveV" - } - ], - "usr": "s:Sa" - }, - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - }, - { - "kind": "TypeNominal", - "name": "Owner", - "printedName": "DouShouQiModel.Owner", - "usr": "s:14DouShouQiModel5OwnerO" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel15VerySimpleRulesV8getMoves2in2ofSayAA4MoveVGAA5BoardV_AA5OwnerOtF", - "mangledName": "$s14DouShouQiModel15VerySimpleRulesV8getMoves2in2ofSayAA4MoveVGAA5BoardV_AA5OwnerOtF", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "funcSelfKind": "NonMutating" - }, - { - "kind": "Function", - "name": "getMoves", - "printedName": "getMoves(in:of:fromRow:andColumn:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Array", - "printedName": "[DouShouQiModel.Move]", - "children": [ - { - "kind": "TypeNominal", - "name": "Move", - "printedName": "DouShouQiModel.Move", - "usr": "s:14DouShouQiModel4MoveV" - } - ], - "usr": "s:Sa" - }, - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - }, - { - "kind": "TypeNominal", - "name": "Owner", - "printedName": "DouShouQiModel.Owner", - "usr": "s:14DouShouQiModel5OwnerO" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel15VerySimpleRulesV8getMoves2in2of7fromRow9andColumnSayAA4MoveVGAA5BoardV_AA5OwnerOS2itF", - "mangledName": "$s14DouShouQiModel15VerySimpleRulesV8getMoves2in2of7fromRow9andColumnSayAA4MoveVGAA5BoardV_AA5OwnerOS2itF", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "funcSelfKind": "NonMutating" - }, - { - "kind": "Function", - "name": "isMoveValid", - "printedName": "isMoveValid(onBoard:fromRow:andFromColumn:toRow:andToColumn:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Bool", - "printedName": "Swift.Bool", - "usr": "s:Sb" - }, - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel15VerySimpleRulesV11isMoveValid7onBoard7fromRow13andFromColumn02toN00o2ToQ0SbAA0L0V_S4itF", - "mangledName": "$s14DouShouQiModel15VerySimpleRulesV11isMoveValid7onBoard7fromRow13andFromColumn02toN00o2ToQ0SbAA0L0V_S4itF", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "funcSelfKind": "NonMutating" - }, - { - "kind": "Function", - "name": "isMoveValid", - "printedName": "isMoveValid(onBoard:withMove:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Bool", - "printedName": "Swift.Bool", - "usr": "s:Sb" - }, - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - }, - { - "kind": "TypeNominal", - "name": "Move", - "printedName": "DouShouQiModel.Move", - "usr": "s:14DouShouQiModel4MoveV" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel15VerySimpleRulesV11isMoveValid7onBoard04withI0SbAA0L0V_AA0I0VtF", - "mangledName": "$s14DouShouQiModel15VerySimpleRulesV11isMoveValid7onBoard04withI0SbAA0L0V_AA0I0VtF", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "funcSelfKind": "NonMutating" - }, - { - "kind": "Function", - "name": "isGameOver", - "printedName": "isGameOver(withBoard:andLastRowPlayed:andLastColumnPlayer:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Tuple", - "printedName": "(Swift.Bool, DouShouQiModel.Result)", - "children": [ - { - "kind": "TypeNominal", - "name": "Bool", - "printedName": "Swift.Bool", - "usr": "s:Sb" - }, - { - "kind": "TypeNominal", - "name": "Result", - "printedName": "DouShouQiModel.Result", - "usr": "s:14DouShouQiModel6ResultO" - } - ] - }, - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel15VerySimpleRulesV10isGameOver9withBoard16andLastRowPlayed0mN12ColumnPlayerSb_AA6ResultOtAA0L0V_S2itF", - "mangledName": "$s14DouShouQiModel15VerySimpleRulesV10isGameOver9withBoard16andLastRowPlayed0mN12ColumnPlayerSb_AA6ResultOtAA0L0V_S2itF", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "funcSelfKind": "NonMutating" - }, - { - "kind": "Function", - "name": "playedMove", - "printedName": "playedMove(_:onStartingBoard:andResultingBoard:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - }, - { - "kind": "TypeNominal", - "name": "Move", - "printedName": "DouShouQiModel.Move", - "usr": "s:14DouShouQiModel4MoveV" - }, - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - }, - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel15VerySimpleRulesV10playedMove_15onStartingBoard012andResultingL0yAA0I0V_AA0L0VAJtKF", - "mangledName": "$s14DouShouQiModel15VerySimpleRulesV10playedMove_15onStartingBoard012andResultingL0yAA0I0V_AA0L0VAJtKF", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "Mutating", - "AccessControl" - ], - "throwing": true, - "funcSelfKind": "Mutating" - }, - { - "kind": "Function", - "name": "getNextPlayer", - "printedName": "getNextPlayer()", - "children": [ - { - "kind": "TypeNominal", - "name": "Owner", - "printedName": "DouShouQiModel.Owner", - "usr": "s:14DouShouQiModel5OwnerO" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel15VerySimpleRulesV13getNextPlayerAA5OwnerOyF", - "mangledName": "$s14DouShouQiModel15VerySimpleRulesV13getNextPlayerAA5OwnerOyF", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "funcSelfKind": "NonMutating" - }, - { - "kind": "Var", - "name": "occurences", - "printedName": "occurences", - "children": [ - { - "kind": "TypeNominal", - "name": "Dictionary", - "printedName": "[DouShouQiModel.Board : Swift.Int]", - "children": [ - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ], - "usr": "s:SD" - } - ], - "declKind": "Var", - "usr": "s:14DouShouQiModel15VerySimpleRulesV10occurencesSDyAA5BoardVSiGvp", - "mangledName": "$s14DouShouQiModel15VerySimpleRulesV10occurencesSDyAA5BoardVSiGvp", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "HasInitialValue", - "HasStorage", - "SetterAccess", - "AccessControl" - ], - "hasStorage": true, - "accessors": [ - { - "kind": "Accessor", - "name": "Get", - "printedName": "Get()", - "children": [ - { - "kind": "TypeNominal", - "name": "Dictionary", - "printedName": "[DouShouQiModel.Board : Swift.Int]", - "children": [ - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ], - "usr": "s:SD" - } - ], - "declKind": "Accessor", - "usr": "s:14DouShouQiModel15VerySimpleRulesV10occurencesSDyAA5BoardVSiGvg", - "mangledName": "$s14DouShouQiModel15VerySimpleRulesV10occurencesSDyAA5BoardVSiGvg", - "moduleName": "DouShouQiModel", - "implicit": true, - "accessorKind": "get" - } - ] - }, - { - "kind": "Var", - "name": "historic", - "printedName": "historic", - "children": [ - { - "kind": "TypeNominal", - "name": "Array", - "printedName": "[DouShouQiModel.Move]", - "children": [ - { - "kind": "TypeNominal", - "name": "Move", - "printedName": "DouShouQiModel.Move", - "usr": "s:14DouShouQiModel4MoveV" - } - ], - "usr": "s:Sa" - } - ], - "declKind": "Var", - "usr": "s:14DouShouQiModel15VerySimpleRulesV8historicSayAA4MoveVGvp", - "mangledName": "$s14DouShouQiModel15VerySimpleRulesV8historicSayAA4MoveVGvp", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "HasInitialValue", - "HasStorage", - "SetterAccess", - "AccessControl" - ], - "hasStorage": true, - "accessors": [ - { - "kind": "Accessor", - "name": "Get", - "printedName": "Get()", - "children": [ - { - "kind": "TypeNominal", - "name": "Array", - "printedName": "[DouShouQiModel.Move]", - "children": [ - { - "kind": "TypeNominal", - "name": "Move", - "printedName": "DouShouQiModel.Move", - "usr": "s:14DouShouQiModel4MoveV" - } - ], - "usr": "s:Sa" - } - ], - "declKind": "Accessor", - "usr": "s:14DouShouQiModel15VerySimpleRulesV8historicSayAA4MoveVGvg", - "mangledName": "$s14DouShouQiModel15VerySimpleRulesV8historicSayAA4MoveVGvg", - "moduleName": "DouShouQiModel", - "implicit": true, - "accessorKind": "get" - } - ] - } - ], - "declKind": "Struct", - "usr": "s:14DouShouQiModel15VerySimpleRulesV", - "mangledName": "$s14DouShouQiModel15VerySimpleRulesV", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "conformances": [ - { - "kind": "Conformance", - "name": "Rules", - "printedName": "Rules", - "usr": "s:14DouShouQiModel5RulesP", - "mangledName": "$s14DouShouQiModel5RulesP" - } - ] - }, - { - "kind": "Import", - "name": "Foundation", - "printedName": "Foundation", - "declKind": "Import", - "moduleName": "DouShouQiModel" - }, - { - "kind": "TypeDecl", - "name": "Rules", - "printedName": "Rules", - "children": [ - { - "kind": "Function", - "name": "createBoard", - "printedName": "createBoard()", - "children": [ - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel5RulesP11createBoardAA0G0VyFZ", - "mangledName": "$s14DouShouQiModel5RulesP11createBoardAA0G0VyFZ", - "moduleName": "DouShouQiModel", - "genericSig": "<τ_0_0 where τ_0_0 : DouShouQiModel.Rules>", - "sugared_genericSig": "", - "static": true, - "protocolReq": true, - "reqNewWitnessTableEntry": true, - "funcSelfKind": "NonMutating" - }, - { - "kind": "Function", - "name": "checkBoard", - "printedName": "checkBoard(_:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - }, - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel5RulesP10checkBoardyyAA0G0VKFZ", - "mangledName": "$s14DouShouQiModel5RulesP10checkBoardyyAA0G0VKFZ", - "moduleName": "DouShouQiModel", - "genericSig": "<τ_0_0 where τ_0_0 : DouShouQiModel.Rules>", - "sugared_genericSig": "", - "static": true, - "protocolReq": true, - "throwing": true, - "reqNewWitnessTableEntry": true, - "funcSelfKind": "NonMutating" - }, - { - "kind": "Function", - "name": "getNextPlayer", - "printedName": "getNextPlayer()", - "children": [ - { - "kind": "TypeNominal", - "name": "Owner", - "printedName": "DouShouQiModel.Owner", - "usr": "s:14DouShouQiModel5OwnerO" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel5RulesP13getNextPlayerAA5OwnerOyF", - "mangledName": "$s14DouShouQiModel5RulesP13getNextPlayerAA5OwnerOyF", - "moduleName": "DouShouQiModel", - "genericSig": "<τ_0_0 where τ_0_0 : DouShouQiModel.Rules>", - "sugared_genericSig": "", - "protocolReq": true, - "reqNewWitnessTableEntry": true, - "funcSelfKind": "NonMutating" - }, - { - "kind": "Function", - "name": "getMoves", - "printedName": "getMoves(in:of:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Array", - "printedName": "[DouShouQiModel.Move]", - "children": [ - { - "kind": "TypeNominal", - "name": "Move", - "printedName": "DouShouQiModel.Move", - "usr": "s:14DouShouQiModel4MoveV" - } - ], - "usr": "s:Sa" - }, - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - }, - { - "kind": "TypeNominal", - "name": "Owner", - "printedName": "DouShouQiModel.Owner", - "usr": "s:14DouShouQiModel5OwnerO" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel5RulesP8getMoves2in2ofSayAA4MoveVGAA5BoardV_AA5OwnerOtF", - "mangledName": "$s14DouShouQiModel5RulesP8getMoves2in2ofSayAA4MoveVGAA5BoardV_AA5OwnerOtF", - "moduleName": "DouShouQiModel", - "genericSig": "<τ_0_0 where τ_0_0 : DouShouQiModel.Rules>", - "sugared_genericSig": "", - "protocolReq": true, - "reqNewWitnessTableEntry": true, - "funcSelfKind": "NonMutating" - }, - { - "kind": "Function", - "name": "getMoves", - "printedName": "getMoves(in:of:fromRow:andColumn:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Array", - "printedName": "[DouShouQiModel.Move]", - "children": [ - { - "kind": "TypeNominal", - "name": "Move", - "printedName": "DouShouQiModel.Move", - "usr": "s:14DouShouQiModel4MoveV" - } - ], - "usr": "s:Sa" - }, - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - }, - { - "kind": "TypeNominal", - "name": "Owner", - "printedName": "DouShouQiModel.Owner", - "usr": "s:14DouShouQiModel5OwnerO" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel5RulesP8getMoves2in2of7fromRow9andColumnSayAA4MoveVGAA5BoardV_AA5OwnerOS2itF", - "mangledName": "$s14DouShouQiModel5RulesP8getMoves2in2of7fromRow9andColumnSayAA4MoveVGAA5BoardV_AA5OwnerOS2itF", - "moduleName": "DouShouQiModel", - "genericSig": "<τ_0_0 where τ_0_0 : DouShouQiModel.Rules>", - "sugared_genericSig": "", - "protocolReq": true, - "reqNewWitnessTableEntry": true, - "funcSelfKind": "NonMutating" - }, - { - "kind": "Function", - "name": "isMoveValid", - "printedName": "isMoveValid(onBoard:fromRow:andFromColumn:toRow:andToColumn:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Bool", - "printedName": "Swift.Bool", - "usr": "s:Sb" - }, - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel5RulesP11isMoveValid7onBoard7fromRow13andFromColumn02toL00m2ToO0SbAA0J0V_S4itF", - "mangledName": "$s14DouShouQiModel5RulesP11isMoveValid7onBoard7fromRow13andFromColumn02toL00m2ToO0SbAA0J0V_S4itF", - "moduleName": "DouShouQiModel", - "genericSig": "<τ_0_0 where τ_0_0 : DouShouQiModel.Rules>", - "sugared_genericSig": "", - "protocolReq": true, - "reqNewWitnessTableEntry": true, - "funcSelfKind": "NonMutating" - }, - { - "kind": "Function", - "name": "isMoveValid", - "printedName": "isMoveValid(onBoard:withMove:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Bool", - "printedName": "Swift.Bool", - "usr": "s:Sb" - }, - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - }, - { - "kind": "TypeNominal", - "name": "Move", - "printedName": "DouShouQiModel.Move", - "usr": "s:14DouShouQiModel4MoveV" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel5RulesP11isMoveValid7onBoard04withG0SbAA0J0V_AA0G0VtF", - "mangledName": "$s14DouShouQiModel5RulesP11isMoveValid7onBoard04withG0SbAA0J0V_AA0G0VtF", - "moduleName": "DouShouQiModel", - "genericSig": "<τ_0_0 where τ_0_0 : DouShouQiModel.Rules>", - "sugared_genericSig": "", - "protocolReq": true, - "reqNewWitnessTableEntry": true, - "funcSelfKind": "NonMutating" - }, - { - "kind": "Function", - "name": "isGameOver", - "printedName": "isGameOver(withBoard:andLastRowPlayed:andLastColumnPlayer:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Tuple", - "printedName": "(Swift.Bool, DouShouQiModel.Result)", - "children": [ - { - "kind": "TypeNominal", - "name": "Bool", - "printedName": "Swift.Bool", - "usr": "s:Sb" - }, - { - "kind": "TypeNominal", - "name": "Result", - "printedName": "DouShouQiModel.Result", - "usr": "s:14DouShouQiModel6ResultO" - } - ] - }, - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel5RulesP10isGameOver9withBoard16andLastRowPlayed0kL12ColumnPlayerSb_AA6ResultOtAA0J0V_S2itF", - "mangledName": "$s14DouShouQiModel5RulesP10isGameOver9withBoard16andLastRowPlayed0kL12ColumnPlayerSb_AA6ResultOtAA0J0V_S2itF", - "moduleName": "DouShouQiModel", - "genericSig": "<τ_0_0 where τ_0_0 : DouShouQiModel.Rules>", - "sugared_genericSig": "", - "protocolReq": true, - "reqNewWitnessTableEntry": true, - "funcSelfKind": "NonMutating" - }, - { - "kind": "Function", - "name": "playedMove", - "printedName": "playedMove(_:onStartingBoard:andResultingBoard:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - }, - { - "kind": "TypeNominal", - "name": "Move", - "printedName": "DouShouQiModel.Move", - "usr": "s:14DouShouQiModel4MoveV" - }, - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - }, - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel5RulesP10playedMove_15onStartingBoard012andResultingJ0yAA0G0V_AA0J0VAJtKF", - "mangledName": "$s14DouShouQiModel5RulesP10playedMove_15onStartingBoard012andResultingJ0yAA0G0V_AA0J0VAJtKF", - "moduleName": "DouShouQiModel", - "genericSig": "<τ_0_0 where τ_0_0 : DouShouQiModel.Rules>", - "sugared_genericSig": "", - "protocolReq": true, - "declAttributes": [ - "Mutating" - ], - "throwing": true, - "reqNewWitnessTableEntry": true, - "funcSelfKind": "Mutating" - }, - { - "kind": "Var", - "name": "occurences", - "printedName": "occurences", - "children": [ - { - "kind": "TypeNominal", - "name": "Dictionary", - "printedName": "[DouShouQiModel.Board : Swift.Int]", - "children": [ - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ], - "usr": "s:SD" - } - ], - "declKind": "Var", - "usr": "s:14DouShouQiModel5RulesP10occurencesSDyAA5BoardVSiGvp", - "mangledName": "$s14DouShouQiModel5RulesP10occurencesSDyAA5BoardVSiGvp", - "moduleName": "DouShouQiModel", - "protocolReq": true, - "accessors": [ - { - "kind": "Accessor", - "name": "Get", - "printedName": "Get()", - "children": [ - { - "kind": "TypeNominal", - "name": "Dictionary", - "printedName": "[DouShouQiModel.Board : Swift.Int]", - "children": [ - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ], - "usr": "s:SD" - } - ], - "declKind": "Accessor", - "usr": "s:14DouShouQiModel5RulesP10occurencesSDyAA5BoardVSiGvg", - "mangledName": "$s14DouShouQiModel5RulesP10occurencesSDyAA5BoardVSiGvg", - "moduleName": "DouShouQiModel", - "genericSig": "<τ_0_0 where τ_0_0 : DouShouQiModel.Rules>", - "sugared_genericSig": "", - "protocolReq": true, - "reqNewWitnessTableEntry": true, - "accessorKind": "get" - } - ] - }, - { - "kind": "Var", - "name": "historic", - "printedName": "historic", - "children": [ - { - "kind": "TypeNominal", - "name": "Array", - "printedName": "[DouShouQiModel.Move]", - "children": [ - { - "kind": "TypeNominal", - "name": "Move", - "printedName": "DouShouQiModel.Move", - "usr": "s:14DouShouQiModel4MoveV" - } - ], - "usr": "s:Sa" - } - ], - "declKind": "Var", - "usr": "s:14DouShouQiModel5RulesP8historicSayAA4MoveVGvp", - "mangledName": "$s14DouShouQiModel5RulesP8historicSayAA4MoveVGvp", - "moduleName": "DouShouQiModel", - "protocolReq": true, - "accessors": [ - { - "kind": "Accessor", - "name": "Get", - "printedName": "Get()", - "children": [ - { - "kind": "TypeNominal", - "name": "Array", - "printedName": "[DouShouQiModel.Move]", - "children": [ - { - "kind": "TypeNominal", - "name": "Move", - "printedName": "DouShouQiModel.Move", - "usr": "s:14DouShouQiModel4MoveV" - } - ], - "usr": "s:Sa" - } - ], - "declKind": "Accessor", - "usr": "s:14DouShouQiModel5RulesP8historicSayAA4MoveVGvg", - "mangledName": "$s14DouShouQiModel5RulesP8historicSayAA4MoveVGvg", - "moduleName": "DouShouQiModel", - "genericSig": "<τ_0_0 where τ_0_0 : DouShouQiModel.Rules>", - "sugared_genericSig": "", - "protocolReq": true, - "reqNewWitnessTableEntry": true, - "accessorKind": "get" - } - ] - } - ], - "declKind": "Protocol", - "usr": "s:14DouShouQiModel5RulesP", - "mangledName": "$s14DouShouQiModel5RulesP", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ] - }, - { - "kind": "Import", - "name": "Foundation", - "printedName": "Foundation", - "declKind": "Import", - "moduleName": "DouShouQiModel" - }, - { - "kind": "TypeDecl", - "name": "Player", - "printedName": "Player", - "children": [ - { - "kind": "Var", - "name": "name", - "printedName": "name", - "children": [ - { - "kind": "TypeNominal", - "name": "String", - "printedName": "Swift.String", - "usr": "s:SS" - } - ], - "declKind": "Var", - "usr": "s:14DouShouQiModel6PlayerC4nameSSvp", - "mangledName": "$s14DouShouQiModel6PlayerC4nameSSvp", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "HasStorage", - "Final", - "AccessControl" - ], - "isLet": true, - "hasStorage": true, - "accessors": [ - { - "kind": "Accessor", - "name": "Get", - "printedName": "Get()", - "children": [ - { - "kind": "TypeNominal", - "name": "String", - "printedName": "Swift.String", - "usr": "s:SS" - } - ], - "declKind": "Accessor", - "usr": "s:14DouShouQiModel6PlayerC4nameSSvg", - "mangledName": "$s14DouShouQiModel6PlayerC4nameSSvg", - "moduleName": "DouShouQiModel", - "implicit": true, - "declAttributes": [ - "Final" - ], - "accessorKind": "get" - } - ] - }, - { - "kind": "Var", - "name": "id", - "printedName": "id", - "children": [ - { - "kind": "TypeNominal", - "name": "Owner", - "printedName": "DouShouQiModel.Owner", - "usr": "s:14DouShouQiModel5OwnerO" - } - ], - "declKind": "Var", - "usr": "s:14DouShouQiModel6PlayerC2idAA5OwnerOvp", - "mangledName": "$s14DouShouQiModel6PlayerC2idAA5OwnerOvp", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "HasStorage", - "Final", - "AccessControl" - ], - "isLet": true, - "hasStorage": true, - "accessors": [ - { - "kind": "Accessor", - "name": "Get", - "printedName": "Get()", - "children": [ - { - "kind": "TypeNominal", - "name": "Owner", - "printedName": "DouShouQiModel.Owner", - "usr": "s:14DouShouQiModel5OwnerO" - } - ], - "declKind": "Accessor", - "usr": "s:14DouShouQiModel6PlayerC2idAA5OwnerOvg", - "mangledName": "$s14DouShouQiModel6PlayerC2idAA5OwnerOvg", - "moduleName": "DouShouQiModel", - "implicit": true, - "declAttributes": [ - "Final" - ], - "accessorKind": "get" - } - ] - }, - { - "kind": "Constructor", - "name": "init", - "printedName": "init(withName:andId:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Optional", - "printedName": "DouShouQiModel.Player?", - "children": [ - { - "kind": "TypeNominal", - "name": "Player", - "printedName": "DouShouQiModel.Player", - "usr": "s:14DouShouQiModel6PlayerC" - } - ], - "usr": "s:Sq" - }, - { - "kind": "TypeNominal", - "name": "String", - "printedName": "Swift.String", - "usr": "s:SS" - }, - { - "kind": "TypeNominal", - "name": "Owner", - "printedName": "DouShouQiModel.Owner", - "usr": "s:14DouShouQiModel5OwnerO" - } - ], - "declKind": "Constructor", - "usr": "s:14DouShouQiModel6PlayerC8withName5andIdACSgSS_AA5OwnerOtcfc", - "mangledName": "$s14DouShouQiModel6PlayerC8withName5andIdACSgSS_AA5OwnerOtcfc", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "init_kind": "Designated" - }, - { - "kind": "Function", - "name": "chooseMove", - "printedName": "chooseMove(in:with:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - }, - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - }, - { - "kind": "TypeNominal", - "name": "Rules", - "printedName": "DouShouQiModel.Rules", - "usr": "s:14DouShouQiModel5RulesP" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel6PlayerC10chooseMove2in4withyAA5BoardV_AA5Rules_ptYaKF", - "mangledName": "$s14DouShouQiModel6PlayerC10chooseMove2in4withyAA5BoardV_AA5Rules_ptYaKF", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "throwing": true, - "funcSelfKind": "NonMutating" - }, - { - "kind": "Function", - "name": "addPlayedCallbacksListener", - "printedName": "addPlayedCallbacksListener(_:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - }, - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.Move?, DouShouQiModel.Player) async throws -> ()", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - }, - { - "kind": "TypeNominal", - "name": "Tuple", - "printedName": "(DouShouQiModel.Move?, DouShouQiModel.Player)", - "children": [ - { - "kind": "TypeNominal", - "name": "Optional", - "printedName": "DouShouQiModel.Move?", - "children": [ - { - "kind": "TypeNominal", - "name": "Move", - "printedName": "DouShouQiModel.Move", - "usr": "s:14DouShouQiModel4MoveV" - } - ], - "usr": "s:Sq" - }, - { - "kind": "TypeNominal", - "name": "Player", - "printedName": "DouShouQiModel.Player", - "usr": "s:14DouShouQiModel6PlayerC" - } - ] - } - ] - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel6PlayerC26addPlayedCallbacksListeneryyyAA4MoveVSg_ACtYaKcF", - "mangledName": "$s14DouShouQiModel6PlayerC26addPlayedCallbacksListeneryyyAA4MoveVSg_ACtYaKcF", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "funcSelfKind": "NonMutating" - }, - { - "kind": "Function", - "name": "notifyPlayed", - "printedName": "notifyPlayed(withMove:andPlayer:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - }, - { - "kind": "TypeNominal", - "name": "Optional", - "printedName": "DouShouQiModel.Move?", - "children": [ - { - "kind": "TypeNominal", - "name": "Move", - "printedName": "DouShouQiModel.Move", - "usr": "s:14DouShouQiModel4MoveV" - } - ], - "usr": "s:Sq" - }, - { - "kind": "TypeNominal", - "name": "Player", - "printedName": "DouShouQiModel.Player", - "usr": "s:14DouShouQiModel6PlayerC" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel6PlayerC12notifyPlayed8withMove03andE0yAA0I0VSg_ACtYaKF", - "mangledName": "$s14DouShouQiModel6PlayerC12notifyPlayed8withMove03andE0yAA0I0VSg_ACtYaKF", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "throwing": true, - "funcSelfKind": "NonMutating" - } - ], - "declKind": "Class", - "usr": "s:14DouShouQiModel6PlayerC", - "mangledName": "$s14DouShouQiModel6PlayerC", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ] - }, - { - "kind": "Import", - "name": "Foundation", - "printedName": "Foundation", - "declKind": "Import", - "moduleName": "DouShouQiModel" - }, - { - "kind": "TypeDecl", - "name": "GameError", - "printedName": "GameError", - "children": [ - { - "kind": "Var", - "name": "invalidMove", - "printedName": "invalidMove", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.GameError.Type) -> DouShouQiModel.GameError", - "children": [ - { - "kind": "TypeNominal", - "name": "GameError", - "printedName": "DouShouQiModel.GameError", - "usr": "s:14DouShouQiModel9GameErrorO" - }, - { - "kind": "TypeNominal", - "name": "Metatype", - "printedName": "DouShouQiModel.GameError.Type", - "children": [ - { - "kind": "TypeNominal", - "name": "GameError", - "printedName": "DouShouQiModel.GameError", - "usr": "s:14DouShouQiModel9GameErrorO" - } - ] - } - ] - } - ], - "declKind": "EnumElement", - "usr": "s:14DouShouQiModel9GameErrorO11invalidMoveyA2CmF", - "mangledName": "$s14DouShouQiModel9GameErrorO11invalidMoveyA2CmF", - "moduleName": "DouShouQiModel" - }, - { - "kind": "Var", - "name": "nextPlayerError", - "printedName": "nextPlayerError", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.GameError.Type) -> DouShouQiModel.GameError", - "children": [ - { - "kind": "TypeNominal", - "name": "GameError", - "printedName": "DouShouQiModel.GameError", - "usr": "s:14DouShouQiModel9GameErrorO" - }, - { - "kind": "TypeNominal", - "name": "Metatype", - "printedName": "DouShouQiModel.GameError.Type", - "children": [ - { - "kind": "TypeNominal", - "name": "GameError", - "printedName": "DouShouQiModel.GameError", - "usr": "s:14DouShouQiModel9GameErrorO" - } - ] - } - ] - } - ], - "declKind": "EnumElement", - "usr": "s:14DouShouQiModel9GameErrorO010nextPlayerF0yA2CmF", - "mangledName": "$s14DouShouQiModel9GameErrorO010nextPlayerF0yA2CmF", - "moduleName": "DouShouQiModel" - }, - { - "kind": "Var", - "name": "badPlayerId", - "printedName": "badPlayerId", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.GameError.Type) -> (Swift.String) -> DouShouQiModel.GameError", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(Swift.String) -> DouShouQiModel.GameError", - "children": [ - { - "kind": "TypeNominal", - "name": "GameError", - "printedName": "DouShouQiModel.GameError", - "usr": "s:14DouShouQiModel9GameErrorO" - }, - { - "kind": "TypeNominal", - "name": "Tuple", - "printedName": "(message: Swift.String)", - "children": [ - { - "kind": "TypeNominal", - "name": "String", - "printedName": "Swift.String", - "usr": "s:SS" - } - ] - } - ] - }, - { - "kind": "TypeNominal", - "name": "Metatype", - "printedName": "DouShouQiModel.GameError.Type", - "children": [ - { - "kind": "TypeNominal", - "name": "GameError", - "printedName": "DouShouQiModel.GameError", - "usr": "s:14DouShouQiModel9GameErrorO" - } - ] - } - ] - } - ], - "declKind": "EnumElement", - "usr": "s:14DouShouQiModel9GameErrorO11badPlayerIdyACSS_tcACmF", - "mangledName": "$s14DouShouQiModel9GameErrorO11badPlayerIdyACSS_tcACmF", - "moduleName": "DouShouQiModel" - }, - { - "kind": "Var", - "name": "invalidRules", - "printedName": "invalidRules", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.GameError.Type) -> DouShouQiModel.GameError", - "children": [ - { - "kind": "TypeNominal", - "name": "GameError", - "printedName": "DouShouQiModel.GameError", - "usr": "s:14DouShouQiModel9GameErrorO" - }, - { - "kind": "TypeNominal", - "name": "Metatype", - "printedName": "DouShouQiModel.GameError.Type", - "children": [ - { - "kind": "TypeNominal", - "name": "GameError", - "printedName": "DouShouQiModel.GameError", - "usr": "s:14DouShouQiModel9GameErrorO" - } - ] - } - ] - } - ], - "declKind": "EnumElement", - "usr": "s:14DouShouQiModel9GameErrorO12invalidRulesyA2CmF", - "mangledName": "$s14DouShouQiModel9GameErrorO12invalidRulesyA2CmF", - "moduleName": "DouShouQiModel" - }, - { - "kind": "Var", - "name": "invalidPlayer", - "printedName": "invalidPlayer", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.GameError.Type) -> DouShouQiModel.GameError", - "children": [ - { - "kind": "TypeNominal", - "name": "GameError", - "printedName": "DouShouQiModel.GameError", - "usr": "s:14DouShouQiModel9GameErrorO" - }, - { - "kind": "TypeNominal", - "name": "Metatype", - "printedName": "DouShouQiModel.GameError.Type", - "children": [ - { - "kind": "TypeNominal", - "name": "GameError", - "printedName": "DouShouQiModel.GameError", - "usr": "s:14DouShouQiModel9GameErrorO" - } - ] - } - ] - } - ], - "declKind": "EnumElement", - "usr": "s:14DouShouQiModel9GameErrorO13invalidPlayeryA2CmF", - "mangledName": "$s14DouShouQiModel9GameErrorO13invalidPlayeryA2CmF", - "moduleName": "DouShouQiModel" - }, - { - "kind": "Var", - "name": "invalidGame", - "printedName": "invalidGame", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.GameError.Type) -> DouShouQiModel.GameError", - "children": [ - { - "kind": "TypeNominal", - "name": "GameError", - "printedName": "DouShouQiModel.GameError", - "usr": "s:14DouShouQiModel9GameErrorO" - }, - { - "kind": "TypeNominal", - "name": "Metatype", - "printedName": "DouShouQiModel.GameError.Type", - "children": [ - { - "kind": "TypeNominal", - "name": "GameError", - "printedName": "DouShouQiModel.GameError", - "usr": "s:14DouShouQiModel9GameErrorO" - } - ] - } - ] - } - ], - "declKind": "EnumElement", - "usr": "s:14DouShouQiModel9GameErrorO07invalidE0yA2CmF", - "mangledName": "$s14DouShouQiModel9GameErrorO07invalidE0yA2CmF", - "moduleName": "DouShouQiModel" - }, - { - "kind": "Var", - "name": "invalidBoard", - "printedName": "invalidBoard", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.GameError.Type) -> DouShouQiModel.GameError", - "children": [ - { - "kind": "TypeNominal", - "name": "GameError", - "printedName": "DouShouQiModel.GameError", - "usr": "s:14DouShouQiModel9GameErrorO" - }, - { - "kind": "TypeNominal", - "name": "Metatype", - "printedName": "DouShouQiModel.GameError.Type", - "children": [ - { - "kind": "TypeNominal", - "name": "GameError", - "printedName": "DouShouQiModel.GameError", - "usr": "s:14DouShouQiModel9GameErrorO" - } - ] - } - ] - } - ], - "declKind": "EnumElement", - "usr": "s:14DouShouQiModel9GameErrorO12invalidBoardyA2CmF", - "mangledName": "$s14DouShouQiModel9GameErrorO12invalidBoardyA2CmF", - "moduleName": "DouShouQiModel" - } - ], - "declKind": "Enum", - "usr": "s:14DouShouQiModel9GameErrorO", - "mangledName": "$s14DouShouQiModel9GameErrorO", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "conformances": [ - { - "kind": "Conformance", - "name": "Error", - "printedName": "Error", - "usr": "s:s5ErrorP", - "mangledName": "$ss5ErrorP" - }, - { - "kind": "Conformance", - "name": "Sendable", - "printedName": "Sendable", - "usr": "s:s8SendableP", - "mangledName": "$ss8SendableP" - } - ] - }, - { - "kind": "Import", - "name": "Foundation", - "printedName": "Foundation", - "declKind": "Import", - "moduleName": "DouShouQiModel" - }, - { - "kind": "TypeDecl", - "name": "RandomPlayer", - "printedName": "RandomPlayer", - "children": [ - { - "kind": "Function", - "name": "chooseMove", - "printedName": "chooseMove(in:with:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - }, - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - }, - { - "kind": "TypeNominal", - "name": "Rules", - "printedName": "DouShouQiModel.Rules", - "usr": "s:14DouShouQiModel5RulesP" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel12RandomPlayerC10chooseMove2in4withyAA5BoardV_AA5Rules_ptYaKF", - "mangledName": "$s14DouShouQiModel12RandomPlayerC10chooseMove2in4withyAA5BoardV_AA5Rules_ptYaKF", - "moduleName": "DouShouQiModel", - "overriding": true, - "declAttributes": [ - "Override", - "AccessControl" - ], - "throwing": true, - "funcSelfKind": "NonMutating" - }, - { - "kind": "Constructor", - "name": "init", - "printedName": "init(withName:andId:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Optional", - "printedName": "DouShouQiModel.RandomPlayer?", - "children": [ - { - "kind": "TypeNominal", - "name": "RandomPlayer", - "printedName": "DouShouQiModel.RandomPlayer", - "usr": "s:14DouShouQiModel12RandomPlayerC" - } - ], - "usr": "s:Sq" - }, - { - "kind": "TypeNominal", - "name": "String", - "printedName": "Swift.String", - "usr": "s:SS" - }, - { - "kind": "TypeNominal", - "name": "Owner", - "printedName": "DouShouQiModel.Owner", - "usr": "s:14DouShouQiModel5OwnerO" - } - ], - "declKind": "Constructor", - "usr": "s:14DouShouQiModel12RandomPlayerC8withName5andIdACSgSS_AA5OwnerOtcfc", - "mangledName": "$s14DouShouQiModel12RandomPlayerC8withName5andIdACSgSS_AA5OwnerOtcfc", - "moduleName": "DouShouQiModel", - "overriding": true, - "implicit": true, - "declAttributes": [ - "Override" - ], - "init_kind": "Designated" - } - ], - "declKind": "Class", - "usr": "s:14DouShouQiModel12RandomPlayerC", - "mangledName": "$s14DouShouQiModel12RandomPlayerC", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "superclassUsr": "s:14DouShouQiModel8IAPlayerC", - "inheritsConvenienceInitializers": true, - "superclassNames": [ - "DouShouQiModel.IAPlayer", - "DouShouQiModel.Player" - ] - }, - { - "kind": "Import", - "name": "Foundation", - "printedName": "Foundation", - "declKind": "Import", - "moduleName": "DouShouQiModel" - }, - { - "kind": "TypeDecl", - "name": "CellType", - "printedName": "CellType", - "children": [ - { - "kind": "Var", - "name": "unknown", - "printedName": "unknown", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.CellType.Type) -> DouShouQiModel.CellType", - "children": [ - { - "kind": "TypeNominal", - "name": "CellType", - "printedName": "DouShouQiModel.CellType", - "usr": "s:14DouShouQiModel8CellTypeO" - }, - { - "kind": "TypeNominal", - "name": "Metatype", - "printedName": "DouShouQiModel.CellType.Type", - "children": [ - { - "kind": "TypeNominal", - "name": "CellType", - "printedName": "DouShouQiModel.CellType", - "usr": "s:14DouShouQiModel8CellTypeO" - } - ] - } - ] - } - ], - "declKind": "EnumElement", - "usr": "s:14DouShouQiModel8CellTypeO7unknownyA2CmF", - "mangledName": "$s14DouShouQiModel8CellTypeO7unknownyA2CmF", - "moduleName": "DouShouQiModel" - }, - { - "kind": "Var", - "name": "jungle", - "printedName": "jungle", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.CellType.Type) -> DouShouQiModel.CellType", - "children": [ - { - "kind": "TypeNominal", - "name": "CellType", - "printedName": "DouShouQiModel.CellType", - "usr": "s:14DouShouQiModel8CellTypeO" - }, - { - "kind": "TypeNominal", - "name": "Metatype", - "printedName": "DouShouQiModel.CellType.Type", - "children": [ - { - "kind": "TypeNominal", - "name": "CellType", - "printedName": "DouShouQiModel.CellType", - "usr": "s:14DouShouQiModel8CellTypeO" - } - ] - } - ] - } - ], - "declKind": "EnumElement", - "usr": "s:14DouShouQiModel8CellTypeO6jungleyA2CmF", - "mangledName": "$s14DouShouQiModel8CellTypeO6jungleyA2CmF", - "moduleName": "DouShouQiModel" - }, - { - "kind": "Var", - "name": "water", - "printedName": "water", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.CellType.Type) -> DouShouQiModel.CellType", - "children": [ - { - "kind": "TypeNominal", - "name": "CellType", - "printedName": "DouShouQiModel.CellType", - "usr": "s:14DouShouQiModel8CellTypeO" - }, - { - "kind": "TypeNominal", - "name": "Metatype", - "printedName": "DouShouQiModel.CellType.Type", - "children": [ - { - "kind": "TypeNominal", - "name": "CellType", - "printedName": "DouShouQiModel.CellType", - "usr": "s:14DouShouQiModel8CellTypeO" - } - ] - } - ] - } - ], - "declKind": "EnumElement", - "usr": "s:14DouShouQiModel8CellTypeO5wateryA2CmF", - "mangledName": "$s14DouShouQiModel8CellTypeO5wateryA2CmF", - "moduleName": "DouShouQiModel" - }, - { - "kind": "Var", - "name": "trap", - "printedName": "trap", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.CellType.Type) -> DouShouQiModel.CellType", - "children": [ - { - "kind": "TypeNominal", - "name": "CellType", - "printedName": "DouShouQiModel.CellType", - "usr": "s:14DouShouQiModel8CellTypeO" - }, - { - "kind": "TypeNominal", - "name": "Metatype", - "printedName": "DouShouQiModel.CellType.Type", - "children": [ - { - "kind": "TypeNominal", - "name": "CellType", - "printedName": "DouShouQiModel.CellType", - "usr": "s:14DouShouQiModel8CellTypeO" - } - ] - } - ] - } - ], - "declKind": "EnumElement", - "usr": "s:14DouShouQiModel8CellTypeO4trapyA2CmF", - "mangledName": "$s14DouShouQiModel8CellTypeO4trapyA2CmF", - "moduleName": "DouShouQiModel" - }, - { - "kind": "Var", - "name": "den", - "printedName": "den", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.CellType.Type) -> DouShouQiModel.CellType", - "children": [ - { - "kind": "TypeNominal", - "name": "CellType", - "printedName": "DouShouQiModel.CellType", - "usr": "s:14DouShouQiModel8CellTypeO" - }, - { - "kind": "TypeNominal", - "name": "Metatype", - "printedName": "DouShouQiModel.CellType.Type", - "children": [ - { - "kind": "TypeNominal", - "name": "CellType", - "printedName": "DouShouQiModel.CellType", - "usr": "s:14DouShouQiModel8CellTypeO" - } - ] - } - ] - } - ], - "declKind": "EnumElement", - "usr": "s:14DouShouQiModel8CellTypeO3denyA2CmF", - "mangledName": "$s14DouShouQiModel8CellTypeO3denyA2CmF", - "moduleName": "DouShouQiModel" - }, - { - "kind": "Var", - "name": "allCases", - "printedName": "allCases", - "children": [ - { - "kind": "TypeNominal", - "name": "Array", - "printedName": "[DouShouQiModel.CellType]", - "children": [ - { - "kind": "TypeNominal", - "name": "CellType", - "printedName": "DouShouQiModel.CellType", - "usr": "s:14DouShouQiModel8CellTypeO" - } - ], - "usr": "s:Sa" - } - ], - "declKind": "Var", - "usr": "s:14DouShouQiModel8CellTypeO8allCasesSayACGvpZ", - "mangledName": "$s14DouShouQiModel8CellTypeO8allCasesSayACGvpZ", - "moduleName": "DouShouQiModel", - "static": true, - "implicit": true, - "accessors": [ - { - "kind": "Accessor", - "name": "Get", - "printedName": "Get()", - "children": [ - { - "kind": "TypeNominal", - "name": "Array", - "printedName": "[DouShouQiModel.CellType]", - "children": [ - { - "kind": "TypeNominal", - "name": "CellType", - "printedName": "DouShouQiModel.CellType", - "usr": "s:14DouShouQiModel8CellTypeO" - } - ], - "usr": "s:Sa" - } - ], - "declKind": "Accessor", - "usr": "s:14DouShouQiModel8CellTypeO8allCasesSayACGvgZ", - "mangledName": "$s14DouShouQiModel8CellTypeO8allCasesSayACGvgZ", - "moduleName": "DouShouQiModel", - "static": true, - "implicit": true, - "accessorKind": "get" - } - ] - }, - { - "kind": "Function", - "name": "==", - "printedName": "==(_:_:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Bool", - "printedName": "Swift.Bool", - "usr": "s:Sb" - }, - { - "kind": "TypeNominal", - "name": "CellType", - "printedName": "DouShouQiModel.CellType", - "usr": "s:14DouShouQiModel8CellTypeO" - }, - { - "kind": "TypeNominal", - "name": "CellType", - "printedName": "DouShouQiModel.CellType", - "usr": "s:14DouShouQiModel8CellTypeO" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel8CellTypeO2eeoiySbAC_ACtFZ", - "mangledName": "$s14DouShouQiModel8CellTypeO2eeoiySbAC_ACtFZ", - "moduleName": "DouShouQiModel", - "static": true, - "implicit": true, - "funcSelfKind": "NonMutating" - }, - { - "kind": "Var", - "name": "hashValue", - "printedName": "hashValue", - "children": [ - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ], - "declKind": "Var", - "usr": "s:14DouShouQiModel8CellTypeO9hashValueSivp", - "mangledName": "$s14DouShouQiModel8CellTypeO9hashValueSivp", - "moduleName": "DouShouQiModel", - "implicit": true, - "accessors": [ - { - "kind": "Accessor", - "name": "Get", - "printedName": "Get()", - "children": [ - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ], - "declKind": "Accessor", - "usr": "s:14DouShouQiModel8CellTypeO9hashValueSivg", - "mangledName": "$s14DouShouQiModel8CellTypeO9hashValueSivg", - "moduleName": "DouShouQiModel", - "implicit": true, - "accessorKind": "get" - } - ] - }, - { - "kind": "Function", - "name": "hash", - "printedName": "hash(into:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - }, - { - "kind": "TypeNominal", - "name": "Hasher", - "printedName": "Swift.Hasher", - "paramValueOwnership": "InOut", - "usr": "s:s6HasherV" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel8CellTypeO4hash4intoys6HasherVz_tF", - "mangledName": "$s14DouShouQiModel8CellTypeO4hash4intoys6HasherVz_tF", - "moduleName": "DouShouQiModel", - "implicit": true, - "funcSelfKind": "NonMutating" - } - ], - "declKind": "Enum", - "usr": "s:14DouShouQiModel8CellTypeO", - "mangledName": "$s14DouShouQiModel8CellTypeO", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "conformances": [ - { - "kind": "Conformance", - "name": "Equatable", - "printedName": "Equatable", - "usr": "s:SQ", - "mangledName": "$sSQ" - }, - { - "kind": "Conformance", - "name": "Hashable", - "printedName": "Hashable", - "usr": "s:SH", - "mangledName": "$sSH" - }, - { - "kind": "Conformance", - "name": "CaseIterable", - "printedName": "CaseIterable", - "children": [ - { - "kind": "TypeWitness", - "name": "AllCases", - "printedName": "AllCases", - "children": [ - { - "kind": "TypeNominal", - "name": "Array", - "printedName": "[DouShouQiModel.CellType]", - "children": [ - { - "kind": "TypeNominal", - "name": "CellType", - "printedName": "DouShouQiModel.CellType", - "usr": "s:14DouShouQiModel8CellTypeO" - } - ], - "usr": "s:Sa" - } - ] - } - ], - "usr": "s:s12CaseIterableP", - "mangledName": "$ss12CaseIterableP" - } - ] - }, - { - "kind": "Import", - "name": "Foundation", - "printedName": "Foundation", - "declKind": "Import", - "moduleName": "DouShouQiModel" - }, - { - "kind": "TypeDecl", - "name": "Board", - "printedName": "Board", - "children": [ - { - "kind": "Function", - "name": "hash", - "printedName": "hash(into:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - }, - { - "kind": "TypeNominal", - "name": "Hasher", - "printedName": "Swift.Hasher", - "paramValueOwnership": "InOut", - "usr": "s:s6HasherV" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel5BoardV4hash4intoys6HasherVz_tF", - "mangledName": "$s14DouShouQiModel5BoardV4hash4intoys6HasherVz_tF", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "funcSelfKind": "NonMutating" - }, - { - "kind": "Var", - "name": "nbRows", - "printedName": "nbRows", - "children": [ - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ], - "declKind": "Var", - "usr": "s:14DouShouQiModel5BoardV6nbRowsSivp", - "mangledName": "$s14DouShouQiModel5BoardV6nbRowsSivp", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "HasStorage", - "AccessControl", - "RawDocComment" - ], - "isLet": true, - "hasStorage": true, - "accessors": [ - { - "kind": "Accessor", - "name": "Get", - "printedName": "Get()", - "children": [ - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ], - "declKind": "Accessor", - "usr": "s:14DouShouQiModel5BoardV6nbRowsSivg", - "mangledName": "$s14DouShouQiModel5BoardV6nbRowsSivg", - "moduleName": "DouShouQiModel", - "implicit": true, - "accessorKind": "get" - } - ] - }, - { - "kind": "Var", - "name": "nbColumns", - "printedName": "nbColumns", - "children": [ - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ], - "declKind": "Var", - "usr": "s:14DouShouQiModel5BoardV9nbColumnsSivp", - "mangledName": "$s14DouShouQiModel5BoardV9nbColumnsSivp", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "HasStorage", - "AccessControl", - "RawDocComment" - ], - "isLet": true, - "hasStorage": true, - "accessors": [ - { - "kind": "Accessor", - "name": "Get", - "printedName": "Get()", - "children": [ - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ], - "declKind": "Accessor", - "usr": "s:14DouShouQiModel5BoardV9nbColumnsSivg", - "mangledName": "$s14DouShouQiModel5BoardV9nbColumnsSivg", - "moduleName": "DouShouQiModel", - "implicit": true, - "accessorKind": "get" - } - ] - }, - { - "kind": "Var", - "name": "grid", - "printedName": "grid", - "children": [ - { - "kind": "TypeNominal", - "name": "Array", - "printedName": "[[DouShouQiModel.Cell]]", - "children": [ - { - "kind": "TypeNominal", - "name": "Array", - "printedName": "[DouShouQiModel.Cell]", - "children": [ - { - "kind": "TypeNominal", - "name": "Cell", - "printedName": "DouShouQiModel.Cell", - "usr": "s:14DouShouQiModel4CellV" - } - ], - "usr": "s:Sa" - } - ], - "usr": "s:Sa" - } - ], - "declKind": "Var", - "usr": "s:14DouShouQiModel5BoardV4gridSaySayAA4CellVGGvp", - "mangledName": "$s14DouShouQiModel5BoardV4gridSaySayAA4CellVGGvp", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "HasStorage", - "SetterAccess", - "AccessControl" - ], - "hasStorage": true, - "accessors": [ - { - "kind": "Accessor", - "name": "Get", - "printedName": "Get()", - "children": [ - { - "kind": "TypeNominal", - "name": "Array", - "printedName": "[[DouShouQiModel.Cell]]", - "children": [ - { - "kind": "TypeNominal", - "name": "Array", - "printedName": "[DouShouQiModel.Cell]", - "children": [ - { - "kind": "TypeNominal", - "name": "Cell", - "printedName": "DouShouQiModel.Cell", - "usr": "s:14DouShouQiModel4CellV" - } - ], - "usr": "s:Sa" - } - ], - "usr": "s:Sa" - } - ], - "declKind": "Accessor", - "usr": "s:14DouShouQiModel5BoardV4gridSaySayAA4CellVGGvg", - "mangledName": "$s14DouShouQiModel5BoardV4gridSaySayAA4CellVGGvg", - "moduleName": "DouShouQiModel", - "implicit": true, - "accessorKind": "get" - } - ] - }, - { - "kind": "Constructor", - "name": "init", - "printedName": "init(withGrid:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Optional", - "printedName": "DouShouQiModel.Board?", - "children": [ - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - } - ], - "usr": "s:Sq" - }, - { - "kind": "TypeNominal", - "name": "Array", - "printedName": "[[DouShouQiModel.Cell]]", - "children": [ - { - "kind": "TypeNominal", - "name": "Array", - "printedName": "[DouShouQiModel.Cell]", - "children": [ - { - "kind": "TypeNominal", - "name": "Cell", - "printedName": "DouShouQiModel.Cell", - "usr": "s:14DouShouQiModel4CellV" - } - ], - "usr": "s:Sa" - } - ], - "usr": "s:Sa" - } - ], - "declKind": "Constructor", - "usr": "s:14DouShouQiModel5BoardV8withGridACSgSaySayAA4CellVGG_tcfc", - "mangledName": "$s14DouShouQiModel5BoardV8withGridACSgSaySayAA4CellVGG_tcfc", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "init_kind": "Designated" - }, - { - "kind": "Function", - "name": "countPieces", - "printedName": "countPieces(of:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - }, - { - "kind": "TypeNominal", - "name": "Owner", - "printedName": "DouShouQiModel.Owner", - "usr": "s:14DouShouQiModel5OwnerO" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel5BoardV11countPieces2ofSiAA5OwnerO_tF", - "mangledName": "$s14DouShouQiModel5BoardV11countPieces2ofSiAA5OwnerO_tF", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "funcSelfKind": "NonMutating" - }, - { - "kind": "Function", - "name": "countPieces", - "printedName": "countPieces()", - "children": [ - { - "kind": "TypeNominal", - "name": "Tuple", - "printedName": "(nbOfPiecesOfPlayer1: Swift.Int, nbOfPiecesOfPlayer2: Swift.Int)", - "children": [ - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ] - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel5BoardV11countPiecesSi04nbOfgI7Player1_Si0higI7Player2tyF", - "mangledName": "$s14DouShouQiModel5BoardV11countPiecesSi04nbOfgI7Player1_Si0higI7Player2tyF", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "funcSelfKind": "NonMutating" - }, - { - "kind": "Function", - "name": "insert", - "printedName": "insert(piece:atRow:andColumn:)", - "children": [ - { - "kind": "TypeNominal", - "name": "BoardResult", - "printedName": "DouShouQiModel.BoardResult", - "usr": "s:14DouShouQiModel11BoardResultO" - }, - { - "kind": "TypeNominal", - "name": "Piece", - "printedName": "DouShouQiModel.Piece", - "usr": "s:14DouShouQiModel5PieceV" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel5BoardV6insert5piece5atRow9andColumnAA0E6ResultOAA5PieceV_S2itF", - "mangledName": "$s14DouShouQiModel5BoardV6insert5piece5atRow9andColumnAA0E6ResultOAA5PieceV_S2itF", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "Mutating", - "AccessControl" - ], - "funcSelfKind": "Mutating" - }, - { - "kind": "Function", - "name": "removePiece", - "printedName": "removePiece(atRow:andColumn:)", - "children": [ - { - "kind": "TypeNominal", - "name": "BoardResult", - "printedName": "DouShouQiModel.BoardResult", - "usr": "s:14DouShouQiModel11BoardResultO" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel5BoardV11removePiece5atRow9andColumnAA0E6ResultOSi_SitF", - "mangledName": "$s14DouShouQiModel5BoardV11removePiece5atRow9andColumnAA0E6ResultOSi_SitF", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "Mutating", - "AccessControl" - ], - "funcSelfKind": "Mutating" - }, - { - "kind": "Var", - "name": "hashValue", - "printedName": "hashValue", - "children": [ - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ], - "declKind": "Var", - "usr": "s:14DouShouQiModel5BoardV9hashValueSivp", - "mangledName": "$s14DouShouQiModel5BoardV9hashValueSivp", - "moduleName": "DouShouQiModel", - "implicit": true, - "accessors": [ - { - "kind": "Accessor", - "name": "Get", - "printedName": "Get()", - "children": [ - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ], - "declKind": "Accessor", - "usr": "s:14DouShouQiModel5BoardV9hashValueSivg", - "mangledName": "$s14DouShouQiModel5BoardV9hashValueSivg", - "moduleName": "DouShouQiModel", - "implicit": true, - "accessorKind": "get" - } - ] - }, - { - "kind": "Function", - "name": "==", - "printedName": "==(_:_:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Bool", - "printedName": "Swift.Bool", - "usr": "s:Sb" - }, - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - }, - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel5BoardV2eeoiySbAC_ACtFZ", - "mangledName": "$s14DouShouQiModel5BoardV2eeoiySbAC_ACtFZ", - "moduleName": "DouShouQiModel", - "static": true, - "implicit": true, - "funcSelfKind": "NonMutating" - } - ], - "declKind": "Struct", - "usr": "s:14DouShouQiModel5BoardV", - "mangledName": "$s14DouShouQiModel5BoardV", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "conformances": [ - { - "kind": "Conformance", - "name": "Hashable", - "printedName": "Hashable", - "usr": "s:SH", - "mangledName": "$sSH" - }, - { - "kind": "Conformance", - "name": "Equatable", - "printedName": "Equatable", - "usr": "s:SQ", - "mangledName": "$sSQ" - } - ] - }, - { - "kind": "Import", - "name": "Foundation", - "printedName": "Foundation", - "declKind": "Import", - "moduleName": "DouShouQiModel" - }, - { - "kind": "TypeDecl", - "name": "Piece", - "printedName": "Piece", - "children": [ - { - "kind": "Var", - "name": "description", - "printedName": "description", - "children": [ - { - "kind": "TypeNominal", - "name": "String", - "printedName": "Swift.String", - "usr": "s:SS" - } - ], - "declKind": "Var", - "usr": "s:14DouShouQiModel5PieceV11descriptionSSvp", - "mangledName": "$s14DouShouQiModel5PieceV11descriptionSSvp", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "accessors": [ - { - "kind": "Accessor", - "name": "Get", - "printedName": "Get()", - "children": [ - { - "kind": "TypeNominal", - "name": "String", - "printedName": "Swift.String", - "usr": "s:SS" - } - ], - "declKind": "Accessor", - "usr": "s:14DouShouQiModel5PieceV11descriptionSSvg", - "mangledName": "$s14DouShouQiModel5PieceV11descriptionSSvg", - "moduleName": "DouShouQiModel", - "accessorKind": "get" - } - ] - }, - { - "kind": "Var", - "name": "owner", - "printedName": "owner", - "children": [ - { - "kind": "TypeNominal", - "name": "Owner", - "printedName": "DouShouQiModel.Owner", - "usr": "s:14DouShouQiModel5OwnerO" - } - ], - "declKind": "Var", - "usr": "s:14DouShouQiModel5PieceV5ownerAA5OwnerOvp", - "mangledName": "$s14DouShouQiModel5PieceV5ownerAA5OwnerOvp", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "HasStorage", - "AccessControl" - ], - "isLet": true, - "hasStorage": true, - "accessors": [ - { - "kind": "Accessor", - "name": "Get", - "printedName": "Get()", - "children": [ - { - "kind": "TypeNominal", - "name": "Owner", - "printedName": "DouShouQiModel.Owner", - "usr": "s:14DouShouQiModel5OwnerO" - } - ], - "declKind": "Accessor", - "usr": "s:14DouShouQiModel5PieceV5ownerAA5OwnerOvg", - "mangledName": "$s14DouShouQiModel5PieceV5ownerAA5OwnerOvg", - "moduleName": "DouShouQiModel", - "implicit": true, - "accessorKind": "get" - } - ] - }, - { - "kind": "Var", - "name": "animal", - "printedName": "animal", - "children": [ - { - "kind": "TypeNominal", - "name": "Animal", - "printedName": "DouShouQiModel.Animal", - "usr": "s:14DouShouQiModel6AnimalO" - } - ], - "declKind": "Var", - "usr": "s:14DouShouQiModel5PieceV6animalAA6AnimalOvp", - "mangledName": "$s14DouShouQiModel5PieceV6animalAA6AnimalOvp", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "HasStorage", - "AccessControl" - ], - "isLet": true, - "hasStorage": true, - "accessors": [ - { - "kind": "Accessor", - "name": "Get", - "printedName": "Get()", - "children": [ - { - "kind": "TypeNominal", - "name": "Animal", - "printedName": "DouShouQiModel.Animal", - "usr": "s:14DouShouQiModel6AnimalO" - } - ], - "declKind": "Accessor", - "usr": "s:14DouShouQiModel5PieceV6animalAA6AnimalOvg", - "mangledName": "$s14DouShouQiModel5PieceV6animalAA6AnimalOvg", - "moduleName": "DouShouQiModel", - "implicit": true, - "accessorKind": "get" - } - ] - }, - { - "kind": "Constructor", - "name": "init", - "printedName": "init(withOwner:andAnimal:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Piece", - "printedName": "DouShouQiModel.Piece", - "usr": "s:14DouShouQiModel5PieceV" - }, - { - "kind": "TypeNominal", - "name": "Owner", - "printedName": "DouShouQiModel.Owner", - "usr": "s:14DouShouQiModel5OwnerO" - }, - { - "kind": "TypeNominal", - "name": "Animal", - "printedName": "DouShouQiModel.Animal", - "usr": "s:14DouShouQiModel6AnimalO" - } - ], - "declKind": "Constructor", - "usr": "s:14DouShouQiModel5PieceV9withOwner9andAnimalAcA0G0O_AA0I0Otcfc", - "mangledName": "$s14DouShouQiModel5PieceV9withOwner9andAnimalAcA0G0O_AA0I0Otcfc", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "init_kind": "Designated" - }, - { - "kind": "Var", - "name": "hashValue", - "printedName": "hashValue", - "children": [ - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ], - "declKind": "Var", - "usr": "s:14DouShouQiModel5PieceV9hashValueSivp", - "mangledName": "$s14DouShouQiModel5PieceV9hashValueSivp", - "moduleName": "DouShouQiModel", - "implicit": true, - "accessors": [ - { - "kind": "Accessor", - "name": "Get", - "printedName": "Get()", - "children": [ - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ], - "declKind": "Accessor", - "usr": "s:14DouShouQiModel5PieceV9hashValueSivg", - "mangledName": "$s14DouShouQiModel5PieceV9hashValueSivg", - "moduleName": "DouShouQiModel", - "implicit": true, - "accessorKind": "get" - } - ] - }, - { - "kind": "Function", - "name": "hash", - "printedName": "hash(into:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - }, - { - "kind": "TypeNominal", - "name": "Hasher", - "printedName": "Swift.Hasher", - "paramValueOwnership": "InOut", - "usr": "s:s6HasherV" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel5PieceV4hash4intoys6HasherVz_tF", - "mangledName": "$s14DouShouQiModel5PieceV4hash4intoys6HasherVz_tF", - "moduleName": "DouShouQiModel", - "implicit": true, - "funcSelfKind": "NonMutating" - }, - { - "kind": "Function", - "name": "==", - "printedName": "==(_:_:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Bool", - "printedName": "Swift.Bool", - "usr": "s:Sb" - }, - { - "kind": "TypeNominal", - "name": "Piece", - "printedName": "DouShouQiModel.Piece", - "usr": "s:14DouShouQiModel5PieceV" - }, - { - "kind": "TypeNominal", - "name": "Piece", - "printedName": "DouShouQiModel.Piece", - "usr": "s:14DouShouQiModel5PieceV" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel5PieceV2eeoiySbAC_ACtFZ", - "mangledName": "$s14DouShouQiModel5PieceV2eeoiySbAC_ACtFZ", - "moduleName": "DouShouQiModel", - "static": true, - "implicit": true, - "funcSelfKind": "NonMutating" - } - ], - "declKind": "Struct", - "usr": "s:14DouShouQiModel5PieceV", - "mangledName": "$s14DouShouQiModel5PieceV", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "conformances": [ - { - "kind": "Conformance", - "name": "CustomStringConvertible", - "printedName": "CustomStringConvertible", - "usr": "s:s23CustomStringConvertibleP", - "mangledName": "$ss23CustomStringConvertibleP" - }, - { - "kind": "Conformance", - "name": "Hashable", - "printedName": "Hashable", - "usr": "s:SH", - "mangledName": "$sSH" - }, - { - "kind": "Conformance", - "name": "Equatable", - "printedName": "Equatable", - "usr": "s:SQ", - "mangledName": "$sSQ" - } - ] - }, - { - "kind": "Import", - "name": "Foundation", - "printedName": "Foundation", - "declKind": "Import", - "moduleName": "DouShouQiModel" - }, - { - "kind": "TypeDecl", - "name": "InvalidBoardError", - "printedName": "InvalidBoardError", - "children": [ - { - "kind": "Var", - "name": "unknownError", - "printedName": "unknownError", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.InvalidBoardError.Type) -> DouShouQiModel.InvalidBoardError", - "children": [ - { - "kind": "TypeNominal", - "name": "InvalidBoardError", - "printedName": "DouShouQiModel.InvalidBoardError", - "usr": "s:14DouShouQiModel17InvalidBoardErrorO" - }, - { - "kind": "TypeNominal", - "name": "Metatype", - "printedName": "DouShouQiModel.InvalidBoardError.Type", - "children": [ - { - "kind": "TypeNominal", - "name": "InvalidBoardError", - "printedName": "DouShouQiModel.InvalidBoardError", - "usr": "s:14DouShouQiModel17InvalidBoardErrorO" - } - ] - } - ] - } - ], - "declKind": "EnumElement", - "usr": "s:14DouShouQiModel17InvalidBoardErrorO07unknownG0yA2CmF", - "mangledName": "$s14DouShouQiModel17InvalidBoardErrorO07unknownG0yA2CmF", - "moduleName": "DouShouQiModel" - }, - { - "kind": "Var", - "name": "badDimensions", - "printedName": "badDimensions", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.InvalidBoardError.Type) -> (Swift.Int, Swift.Int) -> DouShouQiModel.InvalidBoardError", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(Swift.Int, Swift.Int) -> DouShouQiModel.InvalidBoardError", - "children": [ - { - "kind": "TypeNominal", - "name": "InvalidBoardError", - "printedName": "DouShouQiModel.InvalidBoardError", - "usr": "s:14DouShouQiModel17InvalidBoardErrorO" - }, - { - "kind": "TypeNominal", - "name": "Tuple", - "printedName": "(nbRows: Swift.Int, nbColumns: Swift.Int)", - "children": [ - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ] - } - ] - }, - { - "kind": "TypeNominal", - "name": "Metatype", - "printedName": "DouShouQiModel.InvalidBoardError.Type", - "children": [ - { - "kind": "TypeNominal", - "name": "InvalidBoardError", - "printedName": "DouShouQiModel.InvalidBoardError", - "usr": "s:14DouShouQiModel17InvalidBoardErrorO" - } - ] - } - ] - } - ], - "declKind": "EnumElement", - "usr": "s:14DouShouQiModel17InvalidBoardErrorO13badDimensionsyACSi_SitcACmF", - "mangledName": "$s14DouShouQiModel17InvalidBoardErrorO13badDimensionsyACSi_SitcACmF", - "moduleName": "DouShouQiModel" - }, - { - "kind": "Var", - "name": "badCellType", - "printedName": "badCellType", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.InvalidBoardError.Type) -> (DouShouQiModel.CellType, Swift.Int, Swift.Int) -> DouShouQiModel.InvalidBoardError", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.CellType, Swift.Int, Swift.Int) -> DouShouQiModel.InvalidBoardError", - "children": [ - { - "kind": "TypeNominal", - "name": "InvalidBoardError", - "printedName": "DouShouQiModel.InvalidBoardError", - "usr": "s:14DouShouQiModel17InvalidBoardErrorO" - }, - { - "kind": "TypeNominal", - "name": "Tuple", - "printedName": "(cellType: DouShouQiModel.CellType, row: Swift.Int, column: Swift.Int)", - "children": [ - { - "kind": "TypeNominal", - "name": "CellType", - "printedName": "DouShouQiModel.CellType", - "usr": "s:14DouShouQiModel8CellTypeO" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ] - } - ] - }, - { - "kind": "TypeNominal", - "name": "Metatype", - "printedName": "DouShouQiModel.InvalidBoardError.Type", - "children": [ - { - "kind": "TypeNominal", - "name": "InvalidBoardError", - "printedName": "DouShouQiModel.InvalidBoardError", - "usr": "s:14DouShouQiModel17InvalidBoardErrorO" - } - ] - } - ] - } - ], - "declKind": "EnumElement", - "usr": "s:14DouShouQiModel17InvalidBoardErrorO11badCellTypeyAcA0iJ0O_S2itcACmF", - "mangledName": "$s14DouShouQiModel17InvalidBoardErrorO11badCellTypeyAcA0iJ0O_S2itcACmF", - "moduleName": "DouShouQiModel" - }, - { - "kind": "Var", - "name": "multipleOccurenceOfSamePiece", - "printedName": "multipleOccurenceOfSamePiece", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.InvalidBoardError.Type) -> (DouShouQiModel.Piece) -> DouShouQiModel.InvalidBoardError", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.Piece) -> DouShouQiModel.InvalidBoardError", - "children": [ - { - "kind": "TypeNominal", - "name": "InvalidBoardError", - "printedName": "DouShouQiModel.InvalidBoardError", - "usr": "s:14DouShouQiModel17InvalidBoardErrorO" - }, - { - "kind": "TypeNominal", - "name": "Tuple", - "printedName": "(piece: DouShouQiModel.Piece)", - "children": [ - { - "kind": "TypeNominal", - "name": "Piece", - "printedName": "DouShouQiModel.Piece", - "usr": "s:14DouShouQiModel5PieceV" - } - ] - } - ] - }, - { - "kind": "TypeNominal", - "name": "Metatype", - "printedName": "DouShouQiModel.InvalidBoardError.Type", - "children": [ - { - "kind": "TypeNominal", - "name": "InvalidBoardError", - "printedName": "DouShouQiModel.InvalidBoardError", - "usr": "s:14DouShouQiModel17InvalidBoardErrorO" - } - ] - } - ] - } - ], - "declKind": "EnumElement", - "usr": "s:14DouShouQiModel17InvalidBoardErrorO28multipleOccurenceOfSamePieceyAcA0L0V_tcACmF", - "mangledName": "$s14DouShouQiModel17InvalidBoardErrorO28multipleOccurenceOfSamePieceyAcA0L0V_tcACmF", - "moduleName": "DouShouQiModel" - }, - { - "kind": "Var", - "name": "pieceWithNoOwner", - "printedName": "pieceWithNoOwner", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.InvalidBoardError.Type) -> (DouShouQiModel.Piece) -> DouShouQiModel.InvalidBoardError", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.Piece) -> DouShouQiModel.InvalidBoardError", - "children": [ - { - "kind": "TypeNominal", - "name": "InvalidBoardError", - "printedName": "DouShouQiModel.InvalidBoardError", - "usr": "s:14DouShouQiModel17InvalidBoardErrorO" - }, - { - "kind": "TypeNominal", - "name": "Tuple", - "printedName": "(piece: DouShouQiModel.Piece)", - "children": [ - { - "kind": "TypeNominal", - "name": "Piece", - "printedName": "DouShouQiModel.Piece", - "usr": "s:14DouShouQiModel5PieceV" - } - ] - } - ] - }, - { - "kind": "TypeNominal", - "name": "Metatype", - "printedName": "DouShouQiModel.InvalidBoardError.Type", - "children": [ - { - "kind": "TypeNominal", - "name": "InvalidBoardError", - "printedName": "DouShouQiModel.InvalidBoardError", - "usr": "s:14DouShouQiModel17InvalidBoardErrorO" - } - ] - } - ] - } - ], - "declKind": "EnumElement", - "usr": "s:14DouShouQiModel17InvalidBoardErrorO16pieceWithNoOwneryAcA5PieceV_tcACmF", - "mangledName": "$s14DouShouQiModel17InvalidBoardErrorO16pieceWithNoOwneryAcA5PieceV_tcACmF", - "moduleName": "DouShouQiModel" - }, - { - "kind": "Var", - "name": "pieceNotAllowedOnThisCell", - "printedName": "pieceNotAllowedOnThisCell", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.InvalidBoardError.Type) -> (DouShouQiModel.Piece, DouShouQiModel.Cell) -> DouShouQiModel.InvalidBoardError", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.Piece, DouShouQiModel.Cell) -> DouShouQiModel.InvalidBoardError", - "children": [ - { - "kind": "TypeNominal", - "name": "InvalidBoardError", - "printedName": "DouShouQiModel.InvalidBoardError", - "usr": "s:14DouShouQiModel17InvalidBoardErrorO" - }, - { - "kind": "TypeNominal", - "name": "Tuple", - "printedName": "(piece: DouShouQiModel.Piece, cell: DouShouQiModel.Cell)", - "children": [ - { - "kind": "TypeNominal", - "name": "Piece", - "printedName": "DouShouQiModel.Piece", - "usr": "s:14DouShouQiModel5PieceV" - }, - { - "kind": "TypeNominal", - "name": "Cell", - "printedName": "DouShouQiModel.Cell", - "usr": "s:14DouShouQiModel4CellV" - } - ] - } - ] - }, - { - "kind": "TypeNominal", - "name": "Metatype", - "printedName": "DouShouQiModel.InvalidBoardError.Type", - "children": [ - { - "kind": "TypeNominal", - "name": "InvalidBoardError", - "printedName": "DouShouQiModel.InvalidBoardError", - "usr": "s:14DouShouQiModel17InvalidBoardErrorO" - } - ] - } - ] - } - ], - "declKind": "EnumElement", - "usr": "s:14DouShouQiModel17InvalidBoardErrorO25pieceNotAllowedOnThisCellyAcA5PieceV_AA0M0VtcACmF", - "mangledName": "$s14DouShouQiModel17InvalidBoardErrorO25pieceNotAllowedOnThisCellyAcA5PieceV_AA0M0VtcACmF", - "moduleName": "DouShouQiModel" - }, - { - "kind": "Function", - "name": "==", - "printedName": "==(_:_:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Bool", - "printedName": "Swift.Bool", - "usr": "s:Sb" - }, - { - "kind": "TypeNominal", - "name": "InvalidBoardError", - "printedName": "DouShouQiModel.InvalidBoardError", - "usr": "s:14DouShouQiModel17InvalidBoardErrorO" - }, - { - "kind": "TypeNominal", - "name": "InvalidBoardError", - "printedName": "DouShouQiModel.InvalidBoardError", - "usr": "s:14DouShouQiModel17InvalidBoardErrorO" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel17InvalidBoardErrorO2eeoiySbAC_ACtFZ", - "mangledName": "$s14DouShouQiModel17InvalidBoardErrorO2eeoiySbAC_ACtFZ", - "moduleName": "DouShouQiModel", - "static": true, - "implicit": true, - "funcSelfKind": "NonMutating" - } - ], - "declKind": "Enum", - "usr": "s:14DouShouQiModel17InvalidBoardErrorO", - "mangledName": "$s14DouShouQiModel17InvalidBoardErrorO", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "conformances": [ - { - "kind": "Conformance", - "name": "Error", - "printedName": "Error", - "usr": "s:s5ErrorP", - "mangledName": "$ss5ErrorP" - }, - { - "kind": "Conformance", - "name": "Equatable", - "printedName": "Equatable", - "usr": "s:SQ", - "mangledName": "$sSQ" - }, - { - "kind": "Conformance", - "name": "Sendable", - "printedName": "Sendable", - "usr": "s:s8SendableP", - "mangledName": "$ss8SendableP" - } - ] - }, - { - "kind": "Import", - "name": "Foundation", - "printedName": "Foundation", - "declKind": "Import", - "moduleName": "DouShouQiModel" - }, - { - "kind": "TypeDecl", - "name": "Owner", - "printedName": "Owner", - "children": [ - { - "kind": "Var", - "name": "noOne", - "printedName": "noOne", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.Owner.Type) -> DouShouQiModel.Owner", - "children": [ - { - "kind": "TypeNominal", - "name": "Owner", - "printedName": "DouShouQiModel.Owner", - "usr": "s:14DouShouQiModel5OwnerO" - }, - { - "kind": "TypeNominal", - "name": "Metatype", - "printedName": "DouShouQiModel.Owner.Type", - "children": [ - { - "kind": "TypeNominal", - "name": "Owner", - "printedName": "DouShouQiModel.Owner", - "usr": "s:14DouShouQiModel5OwnerO" - } - ] - } - ] - } - ], - "declKind": "EnumElement", - "usr": "s:14DouShouQiModel5OwnerO5noOneyA2CmF", - "mangledName": "$s14DouShouQiModel5OwnerO5noOneyA2CmF", - "moduleName": "DouShouQiModel" - }, - { - "kind": "Var", - "name": "player1", - "printedName": "player1", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.Owner.Type) -> DouShouQiModel.Owner", - "children": [ - { - "kind": "TypeNominal", - "name": "Owner", - "printedName": "DouShouQiModel.Owner", - "usr": "s:14DouShouQiModel5OwnerO" - }, - { - "kind": "TypeNominal", - "name": "Metatype", - "printedName": "DouShouQiModel.Owner.Type", - "children": [ - { - "kind": "TypeNominal", - "name": "Owner", - "printedName": "DouShouQiModel.Owner", - "usr": "s:14DouShouQiModel5OwnerO" - } - ] - } - ] - } - ], - "declKind": "EnumElement", - "usr": "s:14DouShouQiModel5OwnerO7player1yA2CmF", - "mangledName": "$s14DouShouQiModel5OwnerO7player1yA2CmF", - "moduleName": "DouShouQiModel" - }, - { - "kind": "Var", - "name": "player2", - "printedName": "player2", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.Owner.Type) -> DouShouQiModel.Owner", - "children": [ - { - "kind": "TypeNominal", - "name": "Owner", - "printedName": "DouShouQiModel.Owner", - "usr": "s:14DouShouQiModel5OwnerO" - }, - { - "kind": "TypeNominal", - "name": "Metatype", - "printedName": "DouShouQiModel.Owner.Type", - "children": [ - { - "kind": "TypeNominal", - "name": "Owner", - "printedName": "DouShouQiModel.Owner", - "usr": "s:14DouShouQiModel5OwnerO" - } - ] - } - ] - } - ], - "declKind": "EnumElement", - "usr": "s:14DouShouQiModel5OwnerO7player2yA2CmF", - "mangledName": "$s14DouShouQiModel5OwnerO7player2yA2CmF", - "moduleName": "DouShouQiModel" - }, - { - "kind": "Var", - "name": "simpleDescription", - "printedName": "simpleDescription", - "children": [ - { - "kind": "TypeNominal", - "name": "String", - "printedName": "Swift.String", - "usr": "s:SS" - } - ], - "declKind": "Var", - "usr": "s:14DouShouQiModel5OwnerO17simpleDescriptionSSvp", - "mangledName": "$s14DouShouQiModel5OwnerO17simpleDescriptionSSvp", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "accessors": [ - { - "kind": "Accessor", - "name": "Get", - "printedName": "Get()", - "children": [ - { - "kind": "TypeNominal", - "name": "String", - "printedName": "Swift.String", - "usr": "s:SS" - } - ], - "declKind": "Accessor", - "usr": "s:14DouShouQiModel5OwnerO17simpleDescriptionSSvg", - "mangledName": "$s14DouShouQiModel5OwnerO17simpleDescriptionSSvg", - "moduleName": "DouShouQiModel", - "accessorKind": "get" - } - ] - }, - { - "kind": "Function", - "name": "==", - "printedName": "==(_:_:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Bool", - "printedName": "Swift.Bool", - "usr": "s:Sb" - }, - { - "kind": "TypeNominal", - "name": "Owner", - "printedName": "DouShouQiModel.Owner", - "usr": "s:14DouShouQiModel5OwnerO" - }, - { - "kind": "TypeNominal", - "name": "Owner", - "printedName": "DouShouQiModel.Owner", - "usr": "s:14DouShouQiModel5OwnerO" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel5OwnerO2eeoiySbAC_ACtFZ", - "mangledName": "$s14DouShouQiModel5OwnerO2eeoiySbAC_ACtFZ", - "moduleName": "DouShouQiModel", - "static": true, - "implicit": true, - "funcSelfKind": "NonMutating" - }, - { - "kind": "Var", - "name": "hashValue", - "printedName": "hashValue", - "children": [ - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ], - "declKind": "Var", - "usr": "s:14DouShouQiModel5OwnerO9hashValueSivp", - "mangledName": "$s14DouShouQiModel5OwnerO9hashValueSivp", - "moduleName": "DouShouQiModel", - "implicit": true, - "accessors": [ - { - "kind": "Accessor", - "name": "Get", - "printedName": "Get()", - "children": [ - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ], - "declKind": "Accessor", - "usr": "s:14DouShouQiModel5OwnerO9hashValueSivg", - "mangledName": "$s14DouShouQiModel5OwnerO9hashValueSivg", - "moduleName": "DouShouQiModel", - "implicit": true, - "accessorKind": "get" - } - ] - }, - { - "kind": "Function", - "name": "hash", - "printedName": "hash(into:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - }, - { - "kind": "TypeNominal", - "name": "Hasher", - "printedName": "Swift.Hasher", - "paramValueOwnership": "InOut", - "usr": "s:s6HasherV" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel5OwnerO4hash4intoys6HasherVz_tF", - "mangledName": "$s14DouShouQiModel5OwnerO4hash4intoys6HasherVz_tF", - "moduleName": "DouShouQiModel", - "implicit": true, - "funcSelfKind": "NonMutating" - } - ], - "declKind": "Enum", - "usr": "s:14DouShouQiModel5OwnerO", - "mangledName": "$s14DouShouQiModel5OwnerO", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "conformances": [ - { - "kind": "Conformance", - "name": "Equatable", - "printedName": "Equatable", - "usr": "s:SQ", - "mangledName": "$sSQ" - }, - { - "kind": "Conformance", - "name": "Hashable", - "printedName": "Hashable", - "usr": "s:SH", - "mangledName": "$sSH" - } - ] - }, - { - "kind": "Import", - "name": "Foundation", - "printedName": "Foundation", - "declKind": "Import", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "RawDocComment" - ] - }, - { - "kind": "TypeDecl", - "name": "IAPlayer", - "printedName": "IAPlayer", - "children": [ - { - "kind": "Constructor", - "name": "init", - "printedName": "init(withName:andId:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Optional", - "printedName": "DouShouQiModel.IAPlayer?", - "children": [ - { - "kind": "TypeNominal", - "name": "IAPlayer", - "printedName": "DouShouQiModel.IAPlayer", - "usr": "s:14DouShouQiModel8IAPlayerC" - } - ], - "usr": "s:Sq" - }, - { - "kind": "TypeNominal", - "name": "String", - "printedName": "Swift.String", - "usr": "s:SS" - }, - { - "kind": "TypeNominal", - "name": "Owner", - "printedName": "DouShouQiModel.Owner", - "usr": "s:14DouShouQiModel5OwnerO" - } - ], - "declKind": "Constructor", - "usr": "s:14DouShouQiModel8IAPlayerC8withName5andIdACSgSS_AA5OwnerOtcfc", - "mangledName": "$s14DouShouQiModel8IAPlayerC8withName5andIdACSgSS_AA5OwnerOtcfc", - "moduleName": "DouShouQiModel", - "overriding": true, - "implicit": true, - "declAttributes": [ - "Override" - ], - "init_kind": "Designated" - } - ], - "declKind": "Class", - "usr": "s:14DouShouQiModel8IAPlayerC", - "mangledName": "$s14DouShouQiModel8IAPlayerC", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "superclassUsr": "s:14DouShouQiModel6PlayerC", - "inheritsConvenienceInitializers": true, - "superclassNames": [ - "DouShouQiModel.Player" - ] - }, - { - "kind": "Import", - "name": "Foundation", - "printedName": "Foundation", - "declKind": "Import", - "moduleName": "DouShouQiModel" - }, - { - "kind": "TypeDecl", - "name": "Move", - "printedName": "Move", - "children": [ - { - "kind": "Var", - "name": "owner", - "printedName": "owner", - "children": [ - { - "kind": "TypeNominal", - "name": "Owner", - "printedName": "DouShouQiModel.Owner", - "usr": "s:14DouShouQiModel5OwnerO" - } - ], - "declKind": "Var", - "usr": "s:14DouShouQiModel4MoveV5ownerAA5OwnerOvp", - "mangledName": "$s14DouShouQiModel4MoveV5ownerAA5OwnerOvp", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "HasStorage", - "AccessControl" - ], - "isLet": true, - "hasStorage": true, - "accessors": [ - { - "kind": "Accessor", - "name": "Get", - "printedName": "Get()", - "children": [ - { - "kind": "TypeNominal", - "name": "Owner", - "printedName": "DouShouQiModel.Owner", - "usr": "s:14DouShouQiModel5OwnerO" - } - ], - "declKind": "Accessor", - "usr": "s:14DouShouQiModel4MoveV5ownerAA5OwnerOvg", - "mangledName": "$s14DouShouQiModel4MoveV5ownerAA5OwnerOvg", - "moduleName": "DouShouQiModel", - "implicit": true, - "accessorKind": "get" - } - ] - }, - { - "kind": "Var", - "name": "rowOrigin", - "printedName": "rowOrigin", - "children": [ - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ], - "declKind": "Var", - "usr": "s:14DouShouQiModel4MoveV9rowOriginSivp", - "mangledName": "$s14DouShouQiModel4MoveV9rowOriginSivp", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "HasStorage", - "AccessControl" - ], - "isLet": true, - "hasStorage": true, - "accessors": [ - { - "kind": "Accessor", - "name": "Get", - "printedName": "Get()", - "children": [ - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ], - "declKind": "Accessor", - "usr": "s:14DouShouQiModel4MoveV9rowOriginSivg", - "mangledName": "$s14DouShouQiModel4MoveV9rowOriginSivg", - "moduleName": "DouShouQiModel", - "implicit": true, - "accessorKind": "get" - } - ] - }, - { - "kind": "Var", - "name": "columnOrigin", - "printedName": "columnOrigin", - "children": [ - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ], - "declKind": "Var", - "usr": "s:14DouShouQiModel4MoveV12columnOriginSivp", - "mangledName": "$s14DouShouQiModel4MoveV12columnOriginSivp", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "HasStorage", - "AccessControl" - ], - "isLet": true, - "hasStorage": true, - "accessors": [ - { - "kind": "Accessor", - "name": "Get", - "printedName": "Get()", - "children": [ - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ], - "declKind": "Accessor", - "usr": "s:14DouShouQiModel4MoveV12columnOriginSivg", - "mangledName": "$s14DouShouQiModel4MoveV12columnOriginSivg", - "moduleName": "DouShouQiModel", - "implicit": true, - "accessorKind": "get" - } - ] - }, - { - "kind": "Var", - "name": "rowDestination", - "printedName": "rowDestination", - "children": [ - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ], - "declKind": "Var", - "usr": "s:14DouShouQiModel4MoveV14rowDestinationSivp", - "mangledName": "$s14DouShouQiModel4MoveV14rowDestinationSivp", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "HasStorage", - "AccessControl" - ], - "isLet": true, - "hasStorage": true, - "accessors": [ - { - "kind": "Accessor", - "name": "Get", - "printedName": "Get()", - "children": [ - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ], - "declKind": "Accessor", - "usr": "s:14DouShouQiModel4MoveV14rowDestinationSivg", - "mangledName": "$s14DouShouQiModel4MoveV14rowDestinationSivg", - "moduleName": "DouShouQiModel", - "implicit": true, - "accessorKind": "get" - } - ] - }, - { - "kind": "Var", - "name": "columnDestination", - "printedName": "columnDestination", - "children": [ - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ], - "declKind": "Var", - "usr": "s:14DouShouQiModel4MoveV17columnDestinationSivp", - "mangledName": "$s14DouShouQiModel4MoveV17columnDestinationSivp", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "HasStorage", - "AccessControl" - ], - "isLet": true, - "hasStorage": true, - "accessors": [ - { - "kind": "Accessor", - "name": "Get", - "printedName": "Get()", - "children": [ - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ], - "declKind": "Accessor", - "usr": "s:14DouShouQiModel4MoveV17columnDestinationSivg", - "mangledName": "$s14DouShouQiModel4MoveV17columnDestinationSivg", - "moduleName": "DouShouQiModel", - "implicit": true, - "accessorKind": "get" - } - ] - }, - { - "kind": "Constructor", - "name": "init", - "printedName": "init(of:fromRow:andFromColumn:toRow:andToColumn:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Move", - "printedName": "DouShouQiModel.Move", - "usr": "s:14DouShouQiModel4MoveV" - }, - { - "kind": "TypeNominal", - "name": "Owner", - "printedName": "DouShouQiModel.Owner", - "usr": "s:14DouShouQiModel5OwnerO" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ], - "declKind": "Constructor", - "usr": "s:14DouShouQiModel4MoveV2of7fromRow13andFromColumn02toH00i2ToK0AcA5OwnerO_S4itcfc", - "mangledName": "$s14DouShouQiModel4MoveV2of7fromRow13andFromColumn02toH00i2ToK0AcA5OwnerO_S4itcfc", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "init_kind": "Designated" - }, - { - "kind": "Var", - "name": "description", - "printedName": "description", - "children": [ - { - "kind": "TypeNominal", - "name": "String", - "printedName": "Swift.String", - "usr": "s:SS" - } - ], - "declKind": "Var", - "usr": "s:14DouShouQiModel4MoveV11descriptionSSvp", - "mangledName": "$s14DouShouQiModel4MoveV11descriptionSSvp", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "accessors": [ - { - "kind": "Accessor", - "name": "Get", - "printedName": "Get()", - "children": [ - { - "kind": "TypeNominal", - "name": "String", - "printedName": "Swift.String", - "usr": "s:SS" - } - ], - "declKind": "Accessor", - "usr": "s:14DouShouQiModel4MoveV11descriptionSSvg", - "mangledName": "$s14DouShouQiModel4MoveV11descriptionSSvg", - "moduleName": "DouShouQiModel", - "accessorKind": "get" - } - ] - }, - { - "kind": "Function", - "name": "==", - "printedName": "==(_:_:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Bool", - "printedName": "Swift.Bool", - "usr": "s:Sb" - }, - { - "kind": "TypeNominal", - "name": "Move", - "printedName": "DouShouQiModel.Move", - "usr": "s:14DouShouQiModel4MoveV" - }, - { - "kind": "TypeNominal", - "name": "Move", - "printedName": "DouShouQiModel.Move", - "usr": "s:14DouShouQiModel4MoveV" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel4MoveV2eeoiySbAC_ACtFZ", - "mangledName": "$s14DouShouQiModel4MoveV2eeoiySbAC_ACtFZ", - "moduleName": "DouShouQiModel", - "static": true, - "implicit": true, - "funcSelfKind": "NonMutating" - } - ], - "declKind": "Struct", - "usr": "s:14DouShouQiModel4MoveV", - "mangledName": "$s14DouShouQiModel4MoveV", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "conformances": [ - { - "kind": "Conformance", - "name": "CustomStringConvertible", - "printedName": "CustomStringConvertible", - "usr": "s:s23CustomStringConvertibleP", - "mangledName": "$ss23CustomStringConvertibleP" - }, - { - "kind": "Conformance", - "name": "Equatable", - "printedName": "Equatable", - "usr": "s:SQ", - "mangledName": "$sSQ" - } - ] - }, - { - "kind": "Import", - "name": "Foundation", - "printedName": "Foundation", - "declKind": "Import", - "moduleName": "DouShouQiModel" - }, - { - "kind": "TypeDecl", - "name": "Animal", - "printedName": "Animal", - "children": [ - { - "kind": "Var", - "name": "rat", - "printedName": "rat", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.Animal.Type) -> DouShouQiModel.Animal", - "children": [ - { - "kind": "TypeNominal", - "name": "Animal", - "printedName": "DouShouQiModel.Animal", - "usr": "s:14DouShouQiModel6AnimalO" - }, - { - "kind": "TypeNominal", - "name": "Metatype", - "printedName": "DouShouQiModel.Animal.Type", - "children": [ - { - "kind": "TypeNominal", - "name": "Animal", - "printedName": "DouShouQiModel.Animal", - "usr": "s:14DouShouQiModel6AnimalO" - } - ] - } - ] - } - ], - "declKind": "EnumElement", - "usr": "s:14DouShouQiModel6AnimalO3ratyA2CmF", - "mangledName": "$s14DouShouQiModel6AnimalO3ratyA2CmF", - "moduleName": "DouShouQiModel" - }, - { - "kind": "Var", - "name": "cat", - "printedName": "cat", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.Animal.Type) -> DouShouQiModel.Animal", - "children": [ - { - "kind": "TypeNominal", - "name": "Animal", - "printedName": "DouShouQiModel.Animal", - "usr": "s:14DouShouQiModel6AnimalO" - }, - { - "kind": "TypeNominal", - "name": "Metatype", - "printedName": "DouShouQiModel.Animal.Type", - "children": [ - { - "kind": "TypeNominal", - "name": "Animal", - "printedName": "DouShouQiModel.Animal", - "usr": "s:14DouShouQiModel6AnimalO" - } - ] - } - ] - } - ], - "declKind": "EnumElement", - "usr": "s:14DouShouQiModel6AnimalO3catyA2CmF", - "mangledName": "$s14DouShouQiModel6AnimalO3catyA2CmF", - "moduleName": "DouShouQiModel" - }, - { - "kind": "Var", - "name": "dog", - "printedName": "dog", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.Animal.Type) -> DouShouQiModel.Animal", - "children": [ - { - "kind": "TypeNominal", - "name": "Animal", - "printedName": "DouShouQiModel.Animal", - "usr": "s:14DouShouQiModel6AnimalO" - }, - { - "kind": "TypeNominal", - "name": "Metatype", - "printedName": "DouShouQiModel.Animal.Type", - "children": [ - { - "kind": "TypeNominal", - "name": "Animal", - "printedName": "DouShouQiModel.Animal", - "usr": "s:14DouShouQiModel6AnimalO" - } - ] - } - ] - } - ], - "declKind": "EnumElement", - "usr": "s:14DouShouQiModel6AnimalO3dogyA2CmF", - "mangledName": "$s14DouShouQiModel6AnimalO3dogyA2CmF", - "moduleName": "DouShouQiModel" - }, - { - "kind": "Var", - "name": "wolf", - "printedName": "wolf", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.Animal.Type) -> DouShouQiModel.Animal", - "children": [ - { - "kind": "TypeNominal", - "name": "Animal", - "printedName": "DouShouQiModel.Animal", - "usr": "s:14DouShouQiModel6AnimalO" - }, - { - "kind": "TypeNominal", - "name": "Metatype", - "printedName": "DouShouQiModel.Animal.Type", - "children": [ - { - "kind": "TypeNominal", - "name": "Animal", - "printedName": "DouShouQiModel.Animal", - "usr": "s:14DouShouQiModel6AnimalO" - } - ] - } - ] - } - ], - "declKind": "EnumElement", - "usr": "s:14DouShouQiModel6AnimalO4wolfyA2CmF", - "mangledName": "$s14DouShouQiModel6AnimalO4wolfyA2CmF", - "moduleName": "DouShouQiModel" - }, - { - "kind": "Var", - "name": "leopard", - "printedName": "leopard", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.Animal.Type) -> DouShouQiModel.Animal", - "children": [ - { - "kind": "TypeNominal", - "name": "Animal", - "printedName": "DouShouQiModel.Animal", - "usr": "s:14DouShouQiModel6AnimalO" - }, - { - "kind": "TypeNominal", - "name": "Metatype", - "printedName": "DouShouQiModel.Animal.Type", - "children": [ - { - "kind": "TypeNominal", - "name": "Animal", - "printedName": "DouShouQiModel.Animal", - "usr": "s:14DouShouQiModel6AnimalO" - } - ] - } - ] - } - ], - "declKind": "EnumElement", - "usr": "s:14DouShouQiModel6AnimalO7leopardyA2CmF", - "mangledName": "$s14DouShouQiModel6AnimalO7leopardyA2CmF", - "moduleName": "DouShouQiModel" - }, - { - "kind": "Var", - "name": "tiger", - "printedName": "tiger", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.Animal.Type) -> DouShouQiModel.Animal", - "children": [ - { - "kind": "TypeNominal", - "name": "Animal", - "printedName": "DouShouQiModel.Animal", - "usr": "s:14DouShouQiModel6AnimalO" - }, - { - "kind": "TypeNominal", - "name": "Metatype", - "printedName": "DouShouQiModel.Animal.Type", - "children": [ - { - "kind": "TypeNominal", - "name": "Animal", - "printedName": "DouShouQiModel.Animal", - "usr": "s:14DouShouQiModel6AnimalO" - } - ] - } - ] - } - ], - "declKind": "EnumElement", - "usr": "s:14DouShouQiModel6AnimalO5tigeryA2CmF", - "mangledName": "$s14DouShouQiModel6AnimalO5tigeryA2CmF", - "moduleName": "DouShouQiModel" - }, - { - "kind": "Var", - "name": "lion", - "printedName": "lion", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.Animal.Type) -> DouShouQiModel.Animal", - "children": [ - { - "kind": "TypeNominal", - "name": "Animal", - "printedName": "DouShouQiModel.Animal", - "usr": "s:14DouShouQiModel6AnimalO" - }, - { - "kind": "TypeNominal", - "name": "Metatype", - "printedName": "DouShouQiModel.Animal.Type", - "children": [ - { - "kind": "TypeNominal", - "name": "Animal", - "printedName": "DouShouQiModel.Animal", - "usr": "s:14DouShouQiModel6AnimalO" - } - ] - } - ] - } - ], - "declKind": "EnumElement", - "usr": "s:14DouShouQiModel6AnimalO4lionyA2CmF", - "mangledName": "$s14DouShouQiModel6AnimalO4lionyA2CmF", - "moduleName": "DouShouQiModel" - }, - { - "kind": "Var", - "name": "elephant", - "printedName": "elephant", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.Animal.Type) -> DouShouQiModel.Animal", - "children": [ - { - "kind": "TypeNominal", - "name": "Animal", - "printedName": "DouShouQiModel.Animal", - "usr": "s:14DouShouQiModel6AnimalO" - }, - { - "kind": "TypeNominal", - "name": "Metatype", - "printedName": "DouShouQiModel.Animal.Type", - "children": [ - { - "kind": "TypeNominal", - "name": "Animal", - "printedName": "DouShouQiModel.Animal", - "usr": "s:14DouShouQiModel6AnimalO" - } - ] - } - ] - } - ], - "declKind": "EnumElement", - "usr": "s:14DouShouQiModel6AnimalO8elephantyA2CmF", - "mangledName": "$s14DouShouQiModel6AnimalO8elephantyA2CmF", - "moduleName": "DouShouQiModel" - }, - { - "kind": "Var", - "name": "rawValue", - "printedName": "rawValue", - "children": [ - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ], - "declKind": "Var", - "usr": "s:14DouShouQiModel6AnimalO8rawValueSivp", - "mangledName": "$s14DouShouQiModel6AnimalO8rawValueSivp", - "moduleName": "DouShouQiModel", - "implicit": true, - "accessors": [ - { - "kind": "Accessor", - "name": "Get", - "printedName": "Get()", - "children": [ - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ], - "declKind": "Accessor", - "usr": "s:14DouShouQiModel6AnimalO8rawValueSivg", - "mangledName": "$s14DouShouQiModel6AnimalO8rawValueSivg", - "moduleName": "DouShouQiModel", - "implicit": true, - "accessorKind": "get" - } - ] - }, - { - "kind": "Constructor", - "name": "init", - "printedName": "init(rawValue:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Optional", - "printedName": "DouShouQiModel.Animal?", - "children": [ - { - "kind": "TypeNominal", - "name": "Animal", - "printedName": "DouShouQiModel.Animal", - "usr": "s:14DouShouQiModel6AnimalO" - } - ], - "usr": "s:Sq" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ], - "declKind": "Constructor", - "usr": "s:14DouShouQiModel6AnimalO8rawValueACSgSi_tcfc", - "mangledName": "$s14DouShouQiModel6AnimalO8rawValueACSgSi_tcfc", - "moduleName": "DouShouQiModel", - "implicit": true, - "init_kind": "Designated" - } - ], - "declKind": "Enum", - "usr": "s:14DouShouQiModel6AnimalO", - "mangledName": "$s14DouShouQiModel6AnimalO", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "enumRawTypeName": "Int", - "conformances": [ - { - "kind": "Conformance", - "name": "Equatable", - "printedName": "Equatable", - "usr": "s:SQ", - "mangledName": "$sSQ" - }, - { - "kind": "Conformance", - "name": "Hashable", - "printedName": "Hashable", - "usr": "s:SH", - "mangledName": "$sSH" - }, - { - "kind": "Conformance", - "name": "RawRepresentable", - "printedName": "RawRepresentable", - "children": [ - { - "kind": "TypeWitness", - "name": "RawValue", - "printedName": "RawValue", - "children": [ - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ] - } - ], - "usr": "s:SY", - "mangledName": "$sSY" - } - ] - }, - { - "kind": "Import", - "name": "Foundation", - "printedName": "Foundation", - "declKind": "Import", - "moduleName": "DouShouQiModel" - }, - { - "kind": "TypeDecl", - "name": "Game", - "printedName": "Game", - "children": [ - { - "kind": "Var", - "name": "board", - "printedName": "board", - "children": [ - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - } - ], - "declKind": "Var", - "usr": "s:14DouShouQiModel4GameC5boardAA5BoardVvp", - "mangledName": "$s14DouShouQiModel4GameC5boardAA5BoardVvp", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "HasStorage", - "SetterAccess", - "AccessControl" - ], - "hasStorage": true, - "accessors": [ - { - "kind": "Accessor", - "name": "Get", - "printedName": "Get()", - "children": [ - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - } - ], - "declKind": "Accessor", - "usr": "s:14DouShouQiModel4GameC5boardAA5BoardVvg", - "mangledName": "$s14DouShouQiModel4GameC5boardAA5BoardVvg", - "moduleName": "DouShouQiModel", - "implicit": true, - "accessorKind": "get" - } - ] - }, - { - "kind": "Var", - "name": "rules", - "printedName": "rules", - "children": [ - { - "kind": "TypeNominal", - "name": "Rules", - "printedName": "DouShouQiModel.Rules", - "usr": "s:14DouShouQiModel5RulesP" - } - ], - "declKind": "Var", - "usr": "s:14DouShouQiModel4GameC5rulesAA5Rules_pvp", - "mangledName": "$s14DouShouQiModel4GameC5rulesAA5Rules_pvp", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "HasStorage", - "SetterAccess", - "AccessControl" - ], - "hasStorage": true, - "accessors": [ - { - "kind": "Accessor", - "name": "Get", - "printedName": "Get()", - "children": [ - { - "kind": "TypeNominal", - "name": "Rules", - "printedName": "DouShouQiModel.Rules", - "usr": "s:14DouShouQiModel5RulesP" - } - ], - "declKind": "Accessor", - "usr": "s:14DouShouQiModel4GameC5rulesAA5Rules_pvg", - "mangledName": "$s14DouShouQiModel4GameC5rulesAA5Rules_pvg", - "moduleName": "DouShouQiModel", - "implicit": true, - "accessorKind": "get" - } - ] - }, - { - "kind": "Var", - "name": "players", - "printedName": "players", - "children": [ - { - "kind": "TypeNominal", - "name": "Dictionary", - "printedName": "[DouShouQiModel.Owner : DouShouQiModel.Player]", - "children": [ - { - "kind": "TypeNominal", - "name": "Owner", - "printedName": "DouShouQiModel.Owner", - "usr": "s:14DouShouQiModel5OwnerO" - }, - { - "kind": "TypeNominal", - "name": "Player", - "printedName": "DouShouQiModel.Player", - "usr": "s:14DouShouQiModel6PlayerC" - } - ], - "usr": "s:SD" - } - ], - "declKind": "Var", - "usr": "s:14DouShouQiModel4GameC7playersSDyAA5OwnerOAA6PlayerCGvp", - "mangledName": "$s14DouShouQiModel4GameC7playersSDyAA5OwnerOAA6PlayerCGvp", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "Final", - "HasStorage", - "AccessControl" - ], - "isLet": true, - "hasStorage": true, - "accessors": [ - { - "kind": "Accessor", - "name": "Get", - "printedName": "Get()", - "children": [ - { - "kind": "TypeNominal", - "name": "Dictionary", - "printedName": "[DouShouQiModel.Owner : DouShouQiModel.Player]", - "children": [ - { - "kind": "TypeNominal", - "name": "Owner", - "printedName": "DouShouQiModel.Owner", - "usr": "s:14DouShouQiModel5OwnerO" - }, - { - "kind": "TypeNominal", - "name": "Player", - "printedName": "DouShouQiModel.Player", - "usr": "s:14DouShouQiModel6PlayerC" - } - ], - "usr": "s:SD" - } - ], - "declKind": "Accessor", - "usr": "s:14DouShouQiModel4GameC7playersSDyAA5OwnerOAA6PlayerCGvg", - "mangledName": "$s14DouShouQiModel4GameC7playersSDyAA5OwnerOAA6PlayerCGvg", - "moduleName": "DouShouQiModel", - "implicit": true, - "declAttributes": [ - "Final" - ], - "accessorKind": "get" - } - ] - }, - { - "kind": "Constructor", - "name": "init", - "printedName": "init(withRules:andPlayer1:andPlayer2:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Game", - "printedName": "DouShouQiModel.Game", - "usr": "s:14DouShouQiModel4GameC" - }, - { - "kind": "TypeNominal", - "name": "Rules", - "printedName": "DouShouQiModel.Rules", - "usr": "s:14DouShouQiModel5RulesP" - }, - { - "kind": "TypeNominal", - "name": "Player", - "printedName": "DouShouQiModel.Player", - "usr": "s:14DouShouQiModel6PlayerC" - }, - { - "kind": "TypeNominal", - "name": "Player", - "printedName": "DouShouQiModel.Player", - "usr": "s:14DouShouQiModel6PlayerC" - } - ], - "declKind": "Constructor", - "usr": "s:14DouShouQiModel4GameC9withRules10andPlayer10H7Player2AcA0G0_p_AA6PlayerCAItKcfc", - "mangledName": "$s14DouShouQiModel4GameC9withRules10andPlayer10H7Player2AcA0G0_p_AA6PlayerCAItKcfc", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "throwing": true, - "init_kind": "Designated" - }, - { - "kind": "Constructor", - "name": "init", - "printedName": "init(withBoard:andRules:andPlayer1:andPlayer2:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Game", - "printedName": "DouShouQiModel.Game", - "usr": "s:14DouShouQiModel4GameC" - }, - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - }, - { - "kind": "TypeNominal", - "name": "Rules", - "printedName": "DouShouQiModel.Rules", - "usr": "s:14DouShouQiModel5RulesP" - }, - { - "kind": "TypeNominal", - "name": "Player", - "printedName": "DouShouQiModel.Player", - "usr": "s:14DouShouQiModel6PlayerC" - }, - { - "kind": "TypeNominal", - "name": "Player", - "printedName": "DouShouQiModel.Player", - "usr": "s:14DouShouQiModel6PlayerC" - } - ], - "declKind": "Constructor", - "usr": "s:14DouShouQiModel4GameC9withBoard8andRules0H7Player10H7Player2AcA0G0V_AA0I0_pAA6PlayerCALtKcfc", - "mangledName": "$s14DouShouQiModel4GameC9withBoard8andRules0H7Player10H7Player2AcA0G0V_AA0I0_pAA6PlayerCALtKcfc", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl", - "RawDocComment" - ], - "throwing": true, - "init_kind": "Designated" - }, - { - "kind": "Function", - "name": "addGameStartedListener", - "printedName": "addGameStartedListener(_:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - }, - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.Board) -> ()", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - }, - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - } - ] - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel4GameC03addE15StartedListeneryyyAA5BoardVcF", - "mangledName": "$s14DouShouQiModel4GameC03addE15StartedListeneryyyAA5BoardVcF", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "funcSelfKind": "NonMutating" - }, - { - "kind": "Function", - "name": "addPlayerNotifiedListener", - "printedName": "addPlayerNotifiedListener(_:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - }, - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.Board, DouShouQiModel.Player) async throws -> ()", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - }, - { - "kind": "TypeNominal", - "name": "Tuple", - "printedName": "(DouShouQiModel.Board, DouShouQiModel.Player)", - "children": [ - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - }, - { - "kind": "TypeNominal", - "name": "Player", - "printedName": "DouShouQiModel.Player", - "usr": "s:14DouShouQiModel6PlayerC" - } - ] - } - ] - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel4GameC25addPlayerNotifiedListeneryyyAA5BoardV_AA0G0CtYaKcF", - "mangledName": "$s14DouShouQiModel4GameC25addPlayerNotifiedListeneryyyAA5BoardV_AA0G0CtYaKcF", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "funcSelfKind": "NonMutating" - }, - { - "kind": "Function", - "name": "addGameChangedListener", - "printedName": "addGameChangedListener(_:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - }, - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.Game) async -> ()", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - }, - { - "kind": "TypeNominal", - "name": "Game", - "printedName": "DouShouQiModel.Game", - "usr": "s:14DouShouQiModel4GameC" - } - ] - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel4GameC03addE15ChangedListeneryyyACYacF", - "mangledName": "$s14DouShouQiModel4GameC03addE15ChangedListeneryyyACYacF", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "funcSelfKind": "NonMutating" - }, - { - "kind": "Function", - "name": "addGameOverListener", - "printedName": "addGameOverListener(_:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - }, - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.Board, DouShouQiModel.Result, DouShouQiModel.Player?) -> ()", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - }, - { - "kind": "TypeNominal", - "name": "Tuple", - "printedName": "(DouShouQiModel.Board, DouShouQiModel.Result, DouShouQiModel.Player?)", - "children": [ - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - }, - { - "kind": "TypeNominal", - "name": "Result", - "printedName": "DouShouQiModel.Result", - "usr": "s:14DouShouQiModel6ResultO" - }, - { - "kind": "TypeNominal", - "name": "Optional", - "printedName": "DouShouQiModel.Player?", - "children": [ - { - "kind": "TypeNominal", - "name": "Player", - "printedName": "DouShouQiModel.Player", - "usr": "s:14DouShouQiModel6PlayerC" - } - ], - "usr": "s:Sq" - } - ] - } - ] - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel4GameC03addE12OverListeneryyyAA5BoardV_AA6ResultOAA6PlayerCSgtcF", - "mangledName": "$s14DouShouQiModel4GameC03addE12OverListeneryyyAA5BoardV_AA6ResultOAA6PlayerCSgtcF", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "funcSelfKind": "NonMutating" - }, - { - "kind": "Function", - "name": "addMoveChosenCallbacksListener", - "printedName": "addMoveChosenCallbacksListener(_:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - }, - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.Board, DouShouQiModel.Move, DouShouQiModel.Player) -> ()", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - }, - { - "kind": "TypeNominal", - "name": "Tuple", - "printedName": "(DouShouQiModel.Board, DouShouQiModel.Move, DouShouQiModel.Player)", - "children": [ - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - }, - { - "kind": "TypeNominal", - "name": "Move", - "printedName": "DouShouQiModel.Move", - "usr": "s:14DouShouQiModel4MoveV" - }, - { - "kind": "TypeNominal", - "name": "Player", - "printedName": "DouShouQiModel.Player", - "usr": "s:14DouShouQiModel6PlayerC" - } - ] - } - ] - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel4GameC30addMoveChosenCallbacksListeneryyyAA5BoardV_AA0G0VAA6PlayerCtcF", - "mangledName": "$s14DouShouQiModel4GameC30addMoveChosenCallbacksListeneryyyAA5BoardV_AA0G0VAA6PlayerCtcF", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "funcSelfKind": "NonMutating" - }, - { - "kind": "Function", - "name": "addInvalidMoveCallbacksListener", - "printedName": "addInvalidMoveCallbacksListener(_:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - }, - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.Board, DouShouQiModel.Move, DouShouQiModel.Player, Swift.Bool) -> ()", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - }, - { - "kind": "TypeNominal", - "name": "Tuple", - "printedName": "(DouShouQiModel.Board, DouShouQiModel.Move, DouShouQiModel.Player, Swift.Bool)", - "children": [ - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - }, - { - "kind": "TypeNominal", - "name": "Move", - "printedName": "DouShouQiModel.Move", - "usr": "s:14DouShouQiModel4MoveV" - }, - { - "kind": "TypeNominal", - "name": "Player", - "printedName": "DouShouQiModel.Player", - "usr": "s:14DouShouQiModel6PlayerC" - }, - { - "kind": "TypeNominal", - "name": "Bool", - "printedName": "Swift.Bool", - "usr": "s:Sb" - } - ] - } - ] - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel4GameC31addInvalidMoveCallbacksListeneryyyAA5BoardV_AA0H0VAA6PlayerCSbtcF", - "mangledName": "$s14DouShouQiModel4GameC31addInvalidMoveCallbacksListeneryyyAA5BoardV_AA0H0VAA6PlayerCSbtcF", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "funcSelfKind": "NonMutating" - }, - { - "kind": "Function", - "name": "addBoardChangedListener", - "printedName": "addBoardChangedListener(_:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - }, - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.Board) -> ()", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - }, - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - } - ] - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel4GameC23addBoardChangedListeneryyyAA0G0VcF", - "mangledName": "$s14DouShouQiModel4GameC23addBoardChangedListeneryyyAA0G0VcF", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "funcSelfKind": "NonMutating" - }, - { - "kind": "Function", - "name": "addPieceRemovedListener", - "printedName": "addPieceRemovedListener(_:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - }, - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(Swift.Int, Swift.Int, DouShouQiModel.Piece) -> ()", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - }, - { - "kind": "TypeNominal", - "name": "Tuple", - "printedName": "(Swift.Int, Swift.Int, DouShouQiModel.Piece)", - "children": [ - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - }, - { - "kind": "TypeNominal", - "name": "Piece", - "printedName": "DouShouQiModel.Piece", - "usr": "s:14DouShouQiModel5PieceV" - } - ] - } - ] - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel4GameC23addPieceRemovedListeneryyySi_SiAA0G0VtcF", - "mangledName": "$s14DouShouQiModel4GameC23addPieceRemovedListeneryyySi_SiAA0G0VtcF", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "funcSelfKind": "NonMutating" - }, - { - "kind": "Function", - "name": "onPlayed", - "printedName": "onPlayed(with:from:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - }, - { - "kind": "TypeNominal", - "name": "Optional", - "printedName": "DouShouQiModel.Move?", - "children": [ - { - "kind": "TypeNominal", - "name": "Move", - "printedName": "DouShouQiModel.Move", - "usr": "s:14DouShouQiModel4MoveV" - } - ], - "usr": "s:Sq" - }, - { - "kind": "TypeNominal", - "name": "Player", - "printedName": "DouShouQiModel.Player", - "usr": "s:14DouShouQiModel6PlayerC" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel4GameC8onPlayed4with4fromyAA4MoveVSg_AA6PlayerCtYaKF", - "mangledName": "$s14DouShouQiModel4GameC8onPlayed4with4fromyAA4MoveVSg_AA6PlayerCtYaKF", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "throwing": true, - "funcSelfKind": "NonMutating" - }, - { - "kind": "Var", - "name": "isOver", - "printedName": "isOver", - "children": [ - { - "kind": "TypeNominal", - "name": "Bool", - "printedName": "Swift.Bool", - "usr": "s:Sb" - } - ], - "declKind": "Var", - "usr": "s:14DouShouQiModel4GameC6isOverSbvp", - "mangledName": "$s14DouShouQiModel4GameC6isOverSbvp", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "HasInitialValue", - "HasStorage", - "SetterAccess", - "AccessControl" - ], - "hasStorage": true, - "accessors": [ - { - "kind": "Accessor", - "name": "Get", - "printedName": "Get()", - "children": [ - { - "kind": "TypeNominal", - "name": "Bool", - "printedName": "Swift.Bool", - "usr": "s:Sb" - } - ], - "declKind": "Accessor", - "usr": "s:14DouShouQiModel4GameC6isOverSbvg", - "mangledName": "$s14DouShouQiModel4GameC6isOverSbvg", - "moduleName": "DouShouQiModel", - "implicit": true, - "accessorKind": "get" - } - ] - }, - { - "kind": "Function", - "name": "start", - "printedName": "start()", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel4GameC5startyyYaKF", - "mangledName": "$s14DouShouQiModel4GameC5startyyYaKF", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "throwing": true, - "funcSelfKind": "NonMutating" - } - ], - "declKind": "Class", - "usr": "s:14DouShouQiModel4GameC", - "mangledName": "$s14DouShouQiModel4GameC", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl", - "RawDocComment" - ] - } - ], - "json_format_version": 8 - }, - "ConstValues": [ - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", - "kind": "IntegerLiteral", - "offset": 81, - "length": 1, - "value": "9" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", - "kind": "IntegerLiteral", - "offset": 111, - "length": 1, - "value": "7" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", - "kind": "IntegerLiteral", - "offset": 148, - "length": 1, - "value": "3" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", - "kind": "IntegerLiteral", - "offset": 3048, - "length": 1, - "value": "0" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", - "kind": "IntegerLiteral", - "offset": 3088, - "length": 1, - "value": "0" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", - "kind": "Array", - "offset": 3941, - "length": 2, - "value": "[]" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", - "kind": "Dictionary", - "offset": 4285, - "length": 3, - "value": "[]" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", - "kind": "Array", - "offset": 4475, - "length": 2, - "value": "[]" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", - "kind": "IntegerLiteral", - "offset": 4517, - "length": 1, - "value": "0" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", - "kind": "IntegerLiteral", - "offset": 4565, - "length": 1, - "value": "0" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", - "kind": "BooleanLiteral", - "offset": 4967, - "length": 5, - "value": "false" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", - "kind": "Array", - "offset": 6169, - "length": 2, - "value": "[]" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", - "kind": "IntegerLiteral", - "offset": 6189, - "length": 1, - "value": "0" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", - "kind": "IntegerLiteral", - "offset": 6229, - "length": 1, - "value": "0" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", - "kind": "IntegerLiteral", - "offset": 9685, - "length": 1, - "value": "0" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", - "kind": "IntegerLiteral", - "offset": 10586, - "length": 1, - "value": "0" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", - "kind": "IntegerLiteral", - "offset": 10906, - "length": 1, - "value": "0" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", - "kind": "IntegerLiteral", - "offset": 11013, - "length": 1, - "value": "0" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", - "kind": "Array", - "offset": 11170, - "length": 2, - "value": "[]" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", - "kind": "IntegerLiteral", - "offset": 11188, - "length": 1, - "value": "0" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", - "kind": "IntegerLiteral", - "offset": 11280, - "length": 1, - "value": "1" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", - "kind": "IntegerLiteral", - "offset": 11325, - "length": 1, - "value": "0" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", - "kind": "IntegerLiteral", - "offset": 11433, - "length": 1, - "value": "1" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", - "kind": "IntegerLiteral", - "offset": 11477, - "length": 1, - "value": "1" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", - "kind": "IntegerLiteral", - "offset": 11569, - "length": 1, - "value": "1" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", - "kind": "IntegerLiteral", - "offset": 11632, - "length": 1, - "value": "1" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", - "kind": "IntegerLiteral", - "offset": 11740, - "length": 1, - "value": "1" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", - "kind": "Array", - "offset": 12266, - "length": 2, - "value": "[]" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", - "kind": "IntegerLiteral", - "offset": 12307, - "length": 1, - "value": "1" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", - "kind": "IntegerLiteral", - "offset": 12319, - "length": 1, - "value": "0" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", - "kind": "IntegerLiteral", - "offset": 12326, - "length": 2, - "value": "-1" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", - "kind": "IntegerLiteral", - "offset": 12703, - "length": 1, - "value": "1" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", - "kind": "IntegerLiteral", - "offset": 12714, - "length": 1, - "value": "0" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", - "kind": "IntegerLiteral", - "offset": 12721, - "length": 2, - "value": "-1" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", - "kind": "IntegerLiteral", - "offset": 13086, - "length": 1, - "value": "1" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", - "kind": "IntegerLiteral", - "offset": 13464, - "length": 1, - "value": "1" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", - "kind": "BooleanLiteral", - "offset": 15597, - "length": 4, - "value": "true" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", - "kind": "IntegerLiteral", - "offset": 15704, - "length": 1, - "value": "0" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", - "kind": "BooleanLiteral", - "offset": 15728, - "length": 4, - "value": "true" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", - "kind": "IntegerLiteral", - "offset": 15845, - "length": 1, - "value": "0" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", - "kind": "BooleanLiteral", - "offset": 15869, - "length": 4, - "value": "true" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", - "kind": "BooleanLiteral", - "offset": 16049, - "length": 4, - "value": "true" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", - "kind": "BooleanLiteral", - "offset": 16149, - "length": 5, - "value": "false" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", - "kind": "IntegerLiteral", - "offset": 16579, - "length": 1, - "value": "0" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", - "kind": "IntegerLiteral", - "offset": 16584, - "length": 1, - "value": "1" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", - "kind": "Dictionary", - "offset": 16948, - "length": 3, - "value": "[]" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", - "kind": "Array", - "offset": 17004, - "length": 2, - "value": "[]" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Cell.swift", - "kind": "StringLiteral", - "offset": 122, - "length": 81, - "value": "\"\"" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Cell.swift", - "kind": "StringLiteral", - "offset": 147, - "length": 4, - "value": "\"ø\"" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Cell.swift", - "kind": "StringLiteral", - "offset": 152, - "length": 2, - "value": "\" on \"" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Cell.swift", - "kind": "StringLiteral", - "offset": 167, - "length": 1, - "value": "\", \"" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Cell.swift", - "kind": "StringLiteral", - "offset": 202, - "length": 1, - "value": "\"\"" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", - "kind": "IntegerLiteral", - "offset": 89, - "length": 1, - "value": "5" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", - "kind": "IntegerLiteral", - "offset": 119, - "length": 1, - "value": "5" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", - "kind": "IntegerLiteral", - "offset": 2067, - "length": 1, - "value": "0" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", - "kind": "IntegerLiteral", - "offset": 2107, - "length": 1, - "value": "0" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", - "kind": "IntegerLiteral", - "offset": 2267, - "length": 1, - "value": "0" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", - "kind": "IntegerLiteral", - "offset": 2277, - "length": 1, - "value": "2" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", - "kind": "IntegerLiteral", - "offset": 2419, - "length": 1, - "value": "4" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", - "kind": "IntegerLiteral", - "offset": 2429, - "length": 1, - "value": "2" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", - "kind": "IntegerLiteral", - "offset": 2964, - "length": 1, - "value": "0" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", - "kind": "IntegerLiteral", - "offset": 3004, - "length": 1, - "value": "0" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", - "kind": "Array", - "offset": 3773, - "length": 2, - "value": "[]" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", - "kind": "IntegerLiteral", - "offset": 3793, - "length": 1, - "value": "0" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", - "kind": "IntegerLiteral", - "offset": 3833, - "length": 1, - "value": "0" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", - "kind": "BooleanLiteral", - "offset": 4182, - "length": 4, - "value": "true" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", - "kind": "BooleanLiteral", - "offset": 4292, - "length": 5, - "value": "false" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", - "kind": "Array", - "offset": 4531, - "length": 2, - "value": "[]" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", - "kind": "Array", - "offset": 4639, - "length": 2, - "value": "[]" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", - "kind": "IntegerLiteral", - "offset": 4773, - "length": 1, - "value": "1" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", - "kind": "IntegerLiteral", - "offset": 4782, - "length": 1, - "value": "1" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", - "kind": "IntegerLiteral", - "offset": 4800, - "length": 1, - "value": "1" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", - "kind": "IntegerLiteral", - "offset": 4809, - "length": 1, - "value": "1" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", - "kind": "IntegerLiteral", - "offset": 4925, - "length": 1, - "value": "0" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", - "kind": "IntegerLiteral", - "offset": 5013, - "length": 1, - "value": "0" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", - "kind": "BooleanLiteral", - "offset": 6962, - "length": 4, - "value": "true" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", - "kind": "IntegerLiteral", - "offset": 7077, - "length": 1, - "value": "0" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", - "kind": "BooleanLiteral", - "offset": 7105, - "length": 4, - "value": "true" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", - "kind": "IntegerLiteral", - "offset": 7230, - "length": 1, - "value": "0" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", - "kind": "BooleanLiteral", - "offset": 7258, - "length": 4, - "value": "true" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", - "kind": "BooleanLiteral", - "offset": 7350, - "length": 5, - "value": "false" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", - "kind": "Dictionary", - "offset": 8072, - "length": 3, - "value": "[]" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", - "kind": "Array", - "offset": 8128, - "length": 2, - "value": "[]" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Player.swift", - "kind": "Array", - "offset": 418, - "length": 2, - "value": "[]" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Board.swift", - "kind": "BooleanLiteral", - "offset": 475, - "length": 5, - "value": "false" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Board.swift", - "kind": "IntegerLiteral", - "offset": 570, - "length": 1, - "value": "0" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Board.swift", - "kind": "IntegerLiteral", - "offset": 694, - "length": 1, - "value": "0" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Board.swift", - "kind": "IntegerLiteral", - "offset": 981, - "length": 1, - "value": "0" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Board.swift", - "kind": "IntegerLiteral", - "offset": 996, - "length": 1, - "value": "0" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Board.swift", - "kind": "IntegerLiteral", - "offset": 1015, - "length": 1, - "value": "0" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Board.swift", - "kind": "IntegerLiteral", - "offset": 1049, - "length": 1, - "value": "0" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Board.swift", - "kind": "IntegerLiteral", - "offset": 1212, - "length": 1, - "value": "1" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Board.swift", - "kind": "IntegerLiteral", - "offset": 1278, - "length": 1, - "value": "1" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Board.swift", - "kind": "IntegerLiteral", - "offset": 1548, - "length": 1, - "value": "0" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Board.swift", - "kind": "IntegerLiteral", - "offset": 1579, - "length": 1, - "value": "0" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Board.swift", - "kind": "IntegerLiteral", - "offset": 1979, - "length": 1, - "value": "0" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Board.swift", - "kind": "IntegerLiteral", - "offset": 2010, - "length": 1, - "value": "0" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Piece.swift", - "kind": "StringLiteral", - "offset": 122, - "length": 40, - "value": "\"[\"" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Piece.swift", - "kind": "StringLiteral", - "offset": 150, - "length": 1, - "value": "\":\"" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Piece.swift", - "kind": "StringLiteral", - "offset": 160, - "length": 1, - "value": "\"]\"" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Owner.swift", - "kind": "StringLiteral", - "offset": 183, - "length": 3, - "value": "\"x\"" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Owner.swift", - "kind": "StringLiteral", - "offset": 229, - "length": 3, - "value": "\"1\"" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Owner.swift", - "kind": "StringLiteral", - "offset": 275, - "length": 3, - "value": "\"2\"" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Move.swift", - "kind": "StringLiteral", - "offset": 616, - "length": 87, - "value": "\"\"" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Move.swift", - "kind": "StringLiteral", - "offset": 625, - "length": 1, - "value": "\": [\"" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Move.swift", - "kind": "StringLiteral", - "offset": 640, - "length": 1, - "value": "\",\"" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Move.swift", - "kind": "StringLiteral", - "offset": 656, - "length": 1, - "value": "\"] -> [\"" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Move.swift", - "kind": "StringLiteral", - "offset": 679, - "length": 1, - "value": "\", \"" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Move.swift", - "kind": "StringLiteral", - "offset": 701, - "length": 1, - "value": "\"]\"" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", - "kind": "IntegerLiteral", - "offset": 60, - "length": 1, - "value": "1" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", - "kind": "IntegerLiteral", - "offset": 63, - "length": 3, - "value": "2" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", - "kind": "IntegerLiteral", - "offset": 68, - "length": 3, - "value": "3" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", - "kind": "IntegerLiteral", - "offset": 73, - "length": 4, - "value": "4" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", - "kind": "IntegerLiteral", - "offset": 79, - "length": 7, - "value": "5" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", - "kind": "IntegerLiteral", - "offset": 88, - "length": 5, - "value": "6" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", - "kind": "IntegerLiteral", - "offset": 95, - "length": 4, - "value": "7" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", - "kind": "IntegerLiteral", - "offset": 101, - "length": 8, - "value": "8" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", - "kind": "IntegerLiteral", - "offset": 60, - "length": 1, - "value": "1" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", - "kind": "IntegerLiteral", - "offset": 63, - "length": 3, - "value": "2" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", - "kind": "IntegerLiteral", - "offset": 68, - "length": 3, - "value": "3" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", - "kind": "IntegerLiteral", - "offset": 73, - "length": 4, - "value": "4" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", - "kind": "IntegerLiteral", - "offset": 79, - "length": 7, - "value": "5" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", - "kind": "IntegerLiteral", - "offset": 88, - "length": 5, - "value": "6" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", - "kind": "IntegerLiteral", - "offset": 95, - "length": 4, - "value": "7" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", - "kind": "IntegerLiteral", - "offset": 101, - "length": 8, - "value": "8" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", - "kind": "IntegerLiteral", - "offset": 60, - "length": 1, - "value": "1" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", - "kind": "IntegerLiteral", - "offset": 63, - "length": 3, - "value": "2" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", - "kind": "IntegerLiteral", - "offset": 68, - "length": 3, - "value": "3" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", - "kind": "IntegerLiteral", - "offset": 73, - "length": 4, - "value": "4" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", - "kind": "IntegerLiteral", - "offset": 79, - "length": 7, - "value": "5" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", - "kind": "IntegerLiteral", - "offset": 88, - "length": 5, - "value": "6" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", - "kind": "IntegerLiteral", - "offset": 95, - "length": 4, - "value": "7" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", - "kind": "IntegerLiteral", - "offset": 101, - "length": 8, - "value": "8" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Game.swift", - "kind": "StringLiteral", - "offset": 513, - "length": 55, - "value": "\"The ids of players are not .player1 and then .player2\"" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Game.swift", - "kind": "StringLiteral", - "offset": 1483, - "length": 55, - "value": "\"The ids of players are not .player1 and then .player2\"" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Game.swift", - "kind": "Array", - "offset": 1754, - "length": 2, - "value": "[]" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Game.swift", - "kind": "Array", - "offset": 2090, - "length": 2, - "value": "[]" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Game.swift", - "kind": "Array", - "offset": 2582, - "length": 2, - "value": "[]" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Game.swift", - "kind": "Array", - "offset": 3012, - "length": 2, - "value": "[]" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Game.swift", - "kind": "Array", - "offset": 3416, - "length": 2, - "value": "[]" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Game.swift", - "kind": "Array", - "offset": 3827, - "length": 2, - "value": "[]" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Game.swift", - "kind": "Array", - "offset": 4261, - "length": 2, - "value": "[]" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Game.swift", - "kind": "Array", - "offset": 4580, - "length": 2, - "value": "[]" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Game.swift", - "kind": "BooleanLiteral", - "offset": 6361, - "length": 4, - "value": "true" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Game.swift", - "kind": "BooleanLiteral", - "offset": 7044, - "length": 5, - "value": "false" - } - ] -} \ No newline at end of file diff --git a/DouShouQi_App/DSQ.xcframework/ios-arm64/DouShouQiModel.framework/Modules/DouShouQiModel.swiftmodule/arm64-apple-ios.private.swiftinterface b/DouShouQi_App/DSQ.xcframework/ios-arm64/DouShouQiModel.framework/Modules/DouShouQiModel.swiftmodule/arm64-apple-ios.private.swiftinterface deleted file mode 100644 index a95eaf4..0000000 --- a/DouShouQi_App/DSQ.xcframework/ios-arm64/DouShouQiModel.framework/Modules/DouShouQiModel.swiftmodule/arm64-apple-ios.private.swiftinterface +++ /dev/null @@ -1,266 +0,0 @@ -// swift-interface-format-version: 1.0 -// swift-compiler-version: Apple Swift version 5.9.2 (swiftlang-5.9.2.2.56 clang-1500.1.0.2.5) -// swift-module-flags: -target arm64-apple-ios16.0 -enable-objc-interop -enable-library-evolution -swift-version 5 -enforce-exclusivity=checked -O -module-name DouShouQiModel -// swift-module-flags-ignorable: -enable-bare-slash-regex -@_exported import DouShouQiModel -import Foundation -import Swift -import _Concurrency -import _StringProcessing -import _SwiftConcurrencyShims -public enum Result : Swift.Equatable { - case notFinished - case even - case winner(winner: DouShouQiModel.Owner, reason: DouShouQiModel.WinningReason) - public static func == (a: DouShouQiModel.Result, b: DouShouQiModel.Result) -> Swift.Bool -} -public enum WinningReason { - case denReached, noMorePieces, tooManyOccurences, noMovesLeft - public static func == (a: DouShouQiModel.WinningReason, b: DouShouQiModel.WinningReason) -> Swift.Bool - public func hash(into hasher: inout Swift.Hasher) - public var hashValue: Swift.Int { - get - } -} -public enum BoardResult : Swift.Equatable { - case unknown - case ok(piece: DouShouQiModel.Piece?) - case failed(reason: DouShouQiModel.BoardFailingReason) - public static func == (a: DouShouQiModel.BoardResult, b: DouShouQiModel.BoardResult) -> Swift.Bool -} -public enum BoardFailingReason { - case unknown, outOfBounds, cellNotEmpty, cellEmpty - public static func == (a: DouShouQiModel.BoardFailingReason, b: DouShouQiModel.BoardFailingReason) -> Swift.Bool - public func hash(into hasher: inout Swift.Hasher) - public var hashValue: Swift.Int { - get - } -} -@_inheritsConvenienceInitializers public class HumanPlayer : DouShouQiModel.Player { - public init?(withName name: Swift.String, andId id: DouShouQiModel.Owner, andInputMethod input: @escaping (_ hp: DouShouQiModel.HumanPlayer) -> DouShouQiModel.Move?) - override public init?(withName name: Swift.String, andId id: DouShouQiModel.Owner) - #if compiler(>=5.3) && $AsyncAwait - override public func chooseMove(in board: DouShouQiModel.Board, with rules: any DouShouQiModel.Rules) async throws - #endif - public func changeInput(input: @escaping (_ hp: DouShouQiModel.HumanPlayer) -> DouShouQiModel.Move?) - #if compiler(>=5.3) && $AsyncAwait - public func chooseMove(_ move: DouShouQiModel.Move?) async throws - #endif - @objc deinit -} -public struct ClassicRules : DouShouQiModel.Rules { - public static func createBoard() -> DouShouQiModel.Board - public static func checkBoard(_ board: DouShouQiModel.Board) throws - public init() - public init(occurences: [DouShouQiModel.Board : Swift.Int], historic: [DouShouQiModel.Move]) - public func getMoves(in board: DouShouQiModel.Board, of owner: DouShouQiModel.Owner) -> [DouShouQiModel.Move] - public func getMoves(in board: DouShouQiModel.Board, of owner: DouShouQiModel.Owner, fromRow row: Swift.Int, andColumn col: Swift.Int) -> [DouShouQiModel.Move] - public func isMoveValid(onBoard board: DouShouQiModel.Board, fromRow originRow: Swift.Int, andFromColumn originColumn: Swift.Int, toRow destinationRow: Swift.Int, andToColumn destinationColumn: Swift.Int) -> Swift.Bool - public func isMoveValid(onBoard board: DouShouQiModel.Board, withMove move: DouShouQiModel.Move) -> Swift.Bool - public func isGameOver(withBoard board: DouShouQiModel.Board, andLastRowPlayed lastRow: Swift.Int, andLastColumnPlayer lastColumn: Swift.Int) -> (Swift.Bool, DouShouQiModel.Result) - public mutating func playedMove(_ move: DouShouQiModel.Move, onStartingBoard board: DouShouQiModel.Board, andResultingBoard resultingBoard: DouShouQiModel.Board) throws - public func getNextPlayer() -> DouShouQiModel.Owner - public var occurences: [DouShouQiModel.Board : Swift.Int] { - get - } - public var historic: [DouShouQiModel.Move] { - get - } -} -public struct Cell : Swift.CustomStringConvertible, Swift.Equatable { - public var description: Swift.String { - get - } - public let cellType: DouShouQiModel.CellType - public let initialOwner: DouShouQiModel.Owner - public var piece: DouShouQiModel.Piece? - public init(ofType cellType: DouShouQiModel.CellType, ownedBy initialOwner: DouShouQiModel.Owner = .noOne, withPiece piece: DouShouQiModel.Piece? = nil) - public static func == (a: DouShouQiModel.Cell, b: DouShouQiModel.Cell) -> Swift.Bool -} -public struct VerySimpleRules : DouShouQiModel.Rules { - public static func createBoard() -> DouShouQiModel.Board - public static func checkBoard(_ board: DouShouQiModel.Board) throws - public init() - public init(occurences: [DouShouQiModel.Board : Swift.Int], historic: [DouShouQiModel.Move]) - public func getMoves(in board: DouShouQiModel.Board, of owner: DouShouQiModel.Owner) -> [DouShouQiModel.Move] - public func getMoves(in board: DouShouQiModel.Board, of owner: DouShouQiModel.Owner, fromRow row: Swift.Int, andColumn col: Swift.Int) -> [DouShouQiModel.Move] - public func isMoveValid(onBoard board: DouShouQiModel.Board, fromRow originRow: Swift.Int, andFromColumn originColumn: Swift.Int, toRow destinationRow: Swift.Int, andToColumn destinationColumn: Swift.Int) -> Swift.Bool - public func isMoveValid(onBoard board: DouShouQiModel.Board, withMove move: DouShouQiModel.Move) -> Swift.Bool - public func isGameOver(withBoard board: DouShouQiModel.Board, andLastRowPlayed lastRow: Swift.Int, andLastColumnPlayer lastColumn: Swift.Int) -> (Swift.Bool, DouShouQiModel.Result) - public mutating func playedMove(_ move: DouShouQiModel.Move, onStartingBoard board: DouShouQiModel.Board, andResultingBoard resultingBoard: DouShouQiModel.Board) throws - public func getNextPlayer() -> DouShouQiModel.Owner - public var occurences: [DouShouQiModel.Board : Swift.Int] { - get - } - public var historic: [DouShouQiModel.Move] { - get - } -} -public protocol Rules { - static func createBoard() -> DouShouQiModel.Board - static func checkBoard(_ board: DouShouQiModel.Board) throws - func getNextPlayer() -> DouShouQiModel.Owner - func getMoves(in board: DouShouQiModel.Board, of: DouShouQiModel.Owner) -> [DouShouQiModel.Move] - func getMoves(in board: DouShouQiModel.Board, of: DouShouQiModel.Owner, fromRow row: Swift.Int, andColumn col: Swift.Int) -> [DouShouQiModel.Move] - func isMoveValid(onBoard: DouShouQiModel.Board, fromRow: Swift.Int, andFromColumn: Swift.Int, toRow: Swift.Int, andToColumn: Swift.Int) -> Swift.Bool - func isMoveValid(onBoard: DouShouQiModel.Board, withMove move: DouShouQiModel.Move) -> Swift.Bool - func isGameOver(withBoard: DouShouQiModel.Board, andLastRowPlayed: Swift.Int, andLastColumnPlayer: Swift.Int) -> (Swift.Bool, DouShouQiModel.Result) - mutating func playedMove(_ move: DouShouQiModel.Move, onStartingBoard board: DouShouQiModel.Board, andResultingBoard resultingBoard: DouShouQiModel.Board) throws - var occurences: [DouShouQiModel.Board : Swift.Int] { get } - var historic: [DouShouQiModel.Move] { get } -} -public class Player { - final public let name: Swift.String - final public let id: DouShouQiModel.Owner - public init?(withName name: Swift.String, andId id: DouShouQiModel.Owner) - #if compiler(>=5.3) && $AsyncAwait - public func chooseMove(in board: DouShouQiModel.Board, with rules: any DouShouQiModel.Rules) async throws - #endif - #if compiler(>=5.3) && $AsyncAwait - public func addPlayedCallbacksListener(_ listener: @escaping (DouShouQiModel.Move?, DouShouQiModel.Player) async throws -> Swift.Void) - #endif - #if compiler(>=5.3) && $AsyncAwait - public func notifyPlayed(withMove move: DouShouQiModel.Move?, andPlayer player: DouShouQiModel.Player) async throws - #endif - @objc deinit -} -public enum GameError : Swift.Error { - case invalidMove, nextPlayerError, badPlayerId(message: Swift.String), invalidRules, invalidPlayer, invalidGame, invalidBoard -} -@_inheritsConvenienceInitializers public class RandomPlayer : DouShouQiModel.IAPlayer { - #if compiler(>=5.3) && $AsyncAwait - override public func chooseMove(in board: DouShouQiModel.Board, with rules: any DouShouQiModel.Rules) async throws - #endif - override public init?(withName name: Swift.String, andId id: DouShouQiModel.Owner) - @objc deinit -} -public enum CellType : Swift.CaseIterable { - case unknown, jungle, water, trap, den - public static func == (a: DouShouQiModel.CellType, b: DouShouQiModel.CellType) -> Swift.Bool - public func hash(into hasher: inout Swift.Hasher) - public typealias AllCases = [DouShouQiModel.CellType] - public static var allCases: [DouShouQiModel.CellType] { - get - } - public var hashValue: Swift.Int { - get - } -} -public struct Board : Swift.Hashable { - public func hash(into hasher: inout Swift.Hasher) - public let nbRows: Swift.Int - public let nbColumns: Swift.Int - public var grid: [[DouShouQiModel.Cell]] { - get - } - public init?(withGrid grid: [[DouShouQiModel.Cell]]) - public func countPieces(of owner: DouShouQiModel.Owner) -> Swift.Int - public func countPieces() -> (nbOfPiecesOfPlayer1: Swift.Int, nbOfPiecesOfPlayer2: Swift.Int) - public mutating func insert(piece: DouShouQiModel.Piece, atRow row: Swift.Int, andColumn column: Swift.Int) -> DouShouQiModel.BoardResult - public mutating func removePiece(atRow row: Swift.Int, andColumn column: Swift.Int) -> DouShouQiModel.BoardResult - public static func == (a: DouShouQiModel.Board, b: DouShouQiModel.Board) -> Swift.Bool - public var hashValue: Swift.Int { - get - } -} -public struct Piece : Swift.CustomStringConvertible, Swift.Hashable { - public var description: Swift.String { - get - } - public let owner: DouShouQiModel.Owner - public let animal: DouShouQiModel.Animal - public init(withOwner owner: DouShouQiModel.Owner, andAnimal animal: DouShouQiModel.Animal) - public func hash(into hasher: inout Swift.Hasher) - public static func == (a: DouShouQiModel.Piece, b: DouShouQiModel.Piece) -> Swift.Bool - public var hashValue: Swift.Int { - get - } -} -public enum InvalidBoardError : Swift.Error, Swift.Equatable { - case unknownError - case badDimensions(nbRows: Swift.Int, nbColumns: Swift.Int) - case badCellType(cellType: DouShouQiModel.CellType, row: Swift.Int, column: Swift.Int) - case multipleOccurenceOfSamePiece(piece: DouShouQiModel.Piece) - case pieceWithNoOwner(piece: DouShouQiModel.Piece) - case pieceNotAllowedOnThisCell(piece: DouShouQiModel.Piece, cell: DouShouQiModel.Cell) - public static func == (a: DouShouQiModel.InvalidBoardError, b: DouShouQiModel.InvalidBoardError) -> Swift.Bool -} -public enum Owner { - case noOne, player1, player2 - public var simpleDescription: Swift.String { - get - } - public static func == (a: DouShouQiModel.Owner, b: DouShouQiModel.Owner) -> Swift.Bool - public func hash(into hasher: inout Swift.Hasher) - public var hashValue: Swift.Int { - get - } -} -@_inheritsConvenienceInitializers public class IAPlayer : DouShouQiModel.Player { - override public init?(withName name: Swift.String, andId id: DouShouQiModel.Owner) - @objc deinit -} -public struct Move : Swift.CustomStringConvertible, Swift.Equatable { - public let owner: DouShouQiModel.Owner - public let rowOrigin: Swift.Int - public let columnOrigin: Swift.Int - public let rowDestination: Swift.Int - public let columnDestination: Swift.Int - public init(of owner: DouShouQiModel.Owner, fromRow rowOrigin: Swift.Int, andFromColumn colOrigin: Swift.Int, toRow rowDest: Swift.Int, andToColumn colDest: Swift.Int) - public var description: Swift.String { - get - } - public static func == (a: DouShouQiModel.Move, b: DouShouQiModel.Move) -> Swift.Bool -} -public enum Animal : Swift.Int { - case rat, cat, dog, wolf, leopard, tiger, lion, elephant - public init?(rawValue: Swift.Int) - public typealias RawValue = Swift.Int - public var rawValue: Swift.Int { - get - } -} -public class Game { - public var board: DouShouQiModel.Board { - get - } - public var rules: any DouShouQiModel.Rules { - get - } - final public let players: [DouShouQiModel.Owner : DouShouQiModel.Player] - public init(withRules rules: any DouShouQiModel.Rules, andPlayer1 player1: DouShouQiModel.Player, andPlayer2 player2: DouShouQiModel.Player) throws - public init(withBoard board: DouShouQiModel.Board, andRules rules: any DouShouQiModel.Rules, andPlayer1 player1: DouShouQiModel.Player, andPlayer2 player2: DouShouQiModel.Player) throws - public func addGameStartedListener(_ listener: @escaping (DouShouQiModel.Board) -> Swift.Void) - #if compiler(>=5.3) && $AsyncAwait - public func addPlayerNotifiedListener(_ listener: @escaping (DouShouQiModel.Board, DouShouQiModel.Player) async throws -> Swift.Void) - #endif - #if compiler(>=5.3) && $AsyncAwait - public func addGameChangedListener(_ listener: @escaping (DouShouQiModel.Game) async -> Swift.Void) - #endif - public func addGameOverListener(_ listener: @escaping (DouShouQiModel.Board, DouShouQiModel.Result, DouShouQiModel.Player?) -> Swift.Void) - public func addMoveChosenCallbacksListener(_ listener: @escaping (DouShouQiModel.Board, DouShouQiModel.Move, DouShouQiModel.Player) -> Swift.Void) - public func addInvalidMoveCallbacksListener(_ listener: @escaping (DouShouQiModel.Board, DouShouQiModel.Move, DouShouQiModel.Player, Swift.Bool) -> Swift.Void) - public func addBoardChangedListener(_ listener: @escaping (DouShouQiModel.Board) -> Swift.Void) - public func addPieceRemovedListener(_ listener: @escaping (Swift.Int, Swift.Int, DouShouQiModel.Piece) -> Swift.Void) - #if compiler(>=5.3) && $AsyncAwait - public func onPlayed(with move: DouShouQiModel.Move?, from player: DouShouQiModel.Player) async throws - #endif - public var isOver: Swift.Bool { - get - } - #if compiler(>=5.3) && $AsyncAwait - public func start() async throws - #endif - @objc deinit -} -extension DouShouQiModel.WinningReason : Swift.Equatable {} -extension DouShouQiModel.WinningReason : Swift.Hashable {} -extension DouShouQiModel.BoardFailingReason : Swift.Equatable {} -extension DouShouQiModel.BoardFailingReason : Swift.Hashable {} -extension DouShouQiModel.CellType : Swift.Equatable {} -extension DouShouQiModel.CellType : Swift.Hashable {} -extension DouShouQiModel.Owner : Swift.Equatable {} -extension DouShouQiModel.Owner : Swift.Hashable {} -extension DouShouQiModel.Animal : Swift.Equatable {} -extension DouShouQiModel.Animal : Swift.Hashable {} -extension DouShouQiModel.Animal : Swift.RawRepresentable {} diff --git a/DouShouQi_App/DSQ.xcframework/ios-arm64/DouShouQiModel.framework/Modules/DouShouQiModel.swiftmodule/arm64-apple-ios.swiftdoc b/DouShouQi_App/DSQ.xcframework/ios-arm64/DouShouQiModel.framework/Modules/DouShouQiModel.swiftmodule/arm64-apple-ios.swiftdoc deleted file mode 100644 index b732cc2..0000000 Binary files a/DouShouQi_App/DSQ.xcframework/ios-arm64/DouShouQiModel.framework/Modules/DouShouQiModel.swiftmodule/arm64-apple-ios.swiftdoc and /dev/null differ diff --git a/DouShouQi_App/DSQ.xcframework/ios-arm64/DouShouQiModel.framework/Modules/DouShouQiModel.swiftmodule/arm64-apple-ios.swiftinterface b/DouShouQi_App/DSQ.xcframework/ios-arm64/DouShouQiModel.framework/Modules/DouShouQiModel.swiftmodule/arm64-apple-ios.swiftinterface deleted file mode 100644 index a95eaf4..0000000 --- a/DouShouQi_App/DSQ.xcframework/ios-arm64/DouShouQiModel.framework/Modules/DouShouQiModel.swiftmodule/arm64-apple-ios.swiftinterface +++ /dev/null @@ -1,266 +0,0 @@ -// swift-interface-format-version: 1.0 -// swift-compiler-version: Apple Swift version 5.9.2 (swiftlang-5.9.2.2.56 clang-1500.1.0.2.5) -// swift-module-flags: -target arm64-apple-ios16.0 -enable-objc-interop -enable-library-evolution -swift-version 5 -enforce-exclusivity=checked -O -module-name DouShouQiModel -// swift-module-flags-ignorable: -enable-bare-slash-regex -@_exported import DouShouQiModel -import Foundation -import Swift -import _Concurrency -import _StringProcessing -import _SwiftConcurrencyShims -public enum Result : Swift.Equatable { - case notFinished - case even - case winner(winner: DouShouQiModel.Owner, reason: DouShouQiModel.WinningReason) - public static func == (a: DouShouQiModel.Result, b: DouShouQiModel.Result) -> Swift.Bool -} -public enum WinningReason { - case denReached, noMorePieces, tooManyOccurences, noMovesLeft - public static func == (a: DouShouQiModel.WinningReason, b: DouShouQiModel.WinningReason) -> Swift.Bool - public func hash(into hasher: inout Swift.Hasher) - public var hashValue: Swift.Int { - get - } -} -public enum BoardResult : Swift.Equatable { - case unknown - case ok(piece: DouShouQiModel.Piece?) - case failed(reason: DouShouQiModel.BoardFailingReason) - public static func == (a: DouShouQiModel.BoardResult, b: DouShouQiModel.BoardResult) -> Swift.Bool -} -public enum BoardFailingReason { - case unknown, outOfBounds, cellNotEmpty, cellEmpty - public static func == (a: DouShouQiModel.BoardFailingReason, b: DouShouQiModel.BoardFailingReason) -> Swift.Bool - public func hash(into hasher: inout Swift.Hasher) - public var hashValue: Swift.Int { - get - } -} -@_inheritsConvenienceInitializers public class HumanPlayer : DouShouQiModel.Player { - public init?(withName name: Swift.String, andId id: DouShouQiModel.Owner, andInputMethod input: @escaping (_ hp: DouShouQiModel.HumanPlayer) -> DouShouQiModel.Move?) - override public init?(withName name: Swift.String, andId id: DouShouQiModel.Owner) - #if compiler(>=5.3) && $AsyncAwait - override public func chooseMove(in board: DouShouQiModel.Board, with rules: any DouShouQiModel.Rules) async throws - #endif - public func changeInput(input: @escaping (_ hp: DouShouQiModel.HumanPlayer) -> DouShouQiModel.Move?) - #if compiler(>=5.3) && $AsyncAwait - public func chooseMove(_ move: DouShouQiModel.Move?) async throws - #endif - @objc deinit -} -public struct ClassicRules : DouShouQiModel.Rules { - public static func createBoard() -> DouShouQiModel.Board - public static func checkBoard(_ board: DouShouQiModel.Board) throws - public init() - public init(occurences: [DouShouQiModel.Board : Swift.Int], historic: [DouShouQiModel.Move]) - public func getMoves(in board: DouShouQiModel.Board, of owner: DouShouQiModel.Owner) -> [DouShouQiModel.Move] - public func getMoves(in board: DouShouQiModel.Board, of owner: DouShouQiModel.Owner, fromRow row: Swift.Int, andColumn col: Swift.Int) -> [DouShouQiModel.Move] - public func isMoveValid(onBoard board: DouShouQiModel.Board, fromRow originRow: Swift.Int, andFromColumn originColumn: Swift.Int, toRow destinationRow: Swift.Int, andToColumn destinationColumn: Swift.Int) -> Swift.Bool - public func isMoveValid(onBoard board: DouShouQiModel.Board, withMove move: DouShouQiModel.Move) -> Swift.Bool - public func isGameOver(withBoard board: DouShouQiModel.Board, andLastRowPlayed lastRow: Swift.Int, andLastColumnPlayer lastColumn: Swift.Int) -> (Swift.Bool, DouShouQiModel.Result) - public mutating func playedMove(_ move: DouShouQiModel.Move, onStartingBoard board: DouShouQiModel.Board, andResultingBoard resultingBoard: DouShouQiModel.Board) throws - public func getNextPlayer() -> DouShouQiModel.Owner - public var occurences: [DouShouQiModel.Board : Swift.Int] { - get - } - public var historic: [DouShouQiModel.Move] { - get - } -} -public struct Cell : Swift.CustomStringConvertible, Swift.Equatable { - public var description: Swift.String { - get - } - public let cellType: DouShouQiModel.CellType - public let initialOwner: DouShouQiModel.Owner - public var piece: DouShouQiModel.Piece? - public init(ofType cellType: DouShouQiModel.CellType, ownedBy initialOwner: DouShouQiModel.Owner = .noOne, withPiece piece: DouShouQiModel.Piece? = nil) - public static func == (a: DouShouQiModel.Cell, b: DouShouQiModel.Cell) -> Swift.Bool -} -public struct VerySimpleRules : DouShouQiModel.Rules { - public static func createBoard() -> DouShouQiModel.Board - public static func checkBoard(_ board: DouShouQiModel.Board) throws - public init() - public init(occurences: [DouShouQiModel.Board : Swift.Int], historic: [DouShouQiModel.Move]) - public func getMoves(in board: DouShouQiModel.Board, of owner: DouShouQiModel.Owner) -> [DouShouQiModel.Move] - public func getMoves(in board: DouShouQiModel.Board, of owner: DouShouQiModel.Owner, fromRow row: Swift.Int, andColumn col: Swift.Int) -> [DouShouQiModel.Move] - public func isMoveValid(onBoard board: DouShouQiModel.Board, fromRow originRow: Swift.Int, andFromColumn originColumn: Swift.Int, toRow destinationRow: Swift.Int, andToColumn destinationColumn: Swift.Int) -> Swift.Bool - public func isMoveValid(onBoard board: DouShouQiModel.Board, withMove move: DouShouQiModel.Move) -> Swift.Bool - public func isGameOver(withBoard board: DouShouQiModel.Board, andLastRowPlayed lastRow: Swift.Int, andLastColumnPlayer lastColumn: Swift.Int) -> (Swift.Bool, DouShouQiModel.Result) - public mutating func playedMove(_ move: DouShouQiModel.Move, onStartingBoard board: DouShouQiModel.Board, andResultingBoard resultingBoard: DouShouQiModel.Board) throws - public func getNextPlayer() -> DouShouQiModel.Owner - public var occurences: [DouShouQiModel.Board : Swift.Int] { - get - } - public var historic: [DouShouQiModel.Move] { - get - } -} -public protocol Rules { - static func createBoard() -> DouShouQiModel.Board - static func checkBoard(_ board: DouShouQiModel.Board) throws - func getNextPlayer() -> DouShouQiModel.Owner - func getMoves(in board: DouShouQiModel.Board, of: DouShouQiModel.Owner) -> [DouShouQiModel.Move] - func getMoves(in board: DouShouQiModel.Board, of: DouShouQiModel.Owner, fromRow row: Swift.Int, andColumn col: Swift.Int) -> [DouShouQiModel.Move] - func isMoveValid(onBoard: DouShouQiModel.Board, fromRow: Swift.Int, andFromColumn: Swift.Int, toRow: Swift.Int, andToColumn: Swift.Int) -> Swift.Bool - func isMoveValid(onBoard: DouShouQiModel.Board, withMove move: DouShouQiModel.Move) -> Swift.Bool - func isGameOver(withBoard: DouShouQiModel.Board, andLastRowPlayed: Swift.Int, andLastColumnPlayer: Swift.Int) -> (Swift.Bool, DouShouQiModel.Result) - mutating func playedMove(_ move: DouShouQiModel.Move, onStartingBoard board: DouShouQiModel.Board, andResultingBoard resultingBoard: DouShouQiModel.Board) throws - var occurences: [DouShouQiModel.Board : Swift.Int] { get } - var historic: [DouShouQiModel.Move] { get } -} -public class Player { - final public let name: Swift.String - final public let id: DouShouQiModel.Owner - public init?(withName name: Swift.String, andId id: DouShouQiModel.Owner) - #if compiler(>=5.3) && $AsyncAwait - public func chooseMove(in board: DouShouQiModel.Board, with rules: any DouShouQiModel.Rules) async throws - #endif - #if compiler(>=5.3) && $AsyncAwait - public func addPlayedCallbacksListener(_ listener: @escaping (DouShouQiModel.Move?, DouShouQiModel.Player) async throws -> Swift.Void) - #endif - #if compiler(>=5.3) && $AsyncAwait - public func notifyPlayed(withMove move: DouShouQiModel.Move?, andPlayer player: DouShouQiModel.Player) async throws - #endif - @objc deinit -} -public enum GameError : Swift.Error { - case invalidMove, nextPlayerError, badPlayerId(message: Swift.String), invalidRules, invalidPlayer, invalidGame, invalidBoard -} -@_inheritsConvenienceInitializers public class RandomPlayer : DouShouQiModel.IAPlayer { - #if compiler(>=5.3) && $AsyncAwait - override public func chooseMove(in board: DouShouQiModel.Board, with rules: any DouShouQiModel.Rules) async throws - #endif - override public init?(withName name: Swift.String, andId id: DouShouQiModel.Owner) - @objc deinit -} -public enum CellType : Swift.CaseIterable { - case unknown, jungle, water, trap, den - public static func == (a: DouShouQiModel.CellType, b: DouShouQiModel.CellType) -> Swift.Bool - public func hash(into hasher: inout Swift.Hasher) - public typealias AllCases = [DouShouQiModel.CellType] - public static var allCases: [DouShouQiModel.CellType] { - get - } - public var hashValue: Swift.Int { - get - } -} -public struct Board : Swift.Hashable { - public func hash(into hasher: inout Swift.Hasher) - public let nbRows: Swift.Int - public let nbColumns: Swift.Int - public var grid: [[DouShouQiModel.Cell]] { - get - } - public init?(withGrid grid: [[DouShouQiModel.Cell]]) - public func countPieces(of owner: DouShouQiModel.Owner) -> Swift.Int - public func countPieces() -> (nbOfPiecesOfPlayer1: Swift.Int, nbOfPiecesOfPlayer2: Swift.Int) - public mutating func insert(piece: DouShouQiModel.Piece, atRow row: Swift.Int, andColumn column: Swift.Int) -> DouShouQiModel.BoardResult - public mutating func removePiece(atRow row: Swift.Int, andColumn column: Swift.Int) -> DouShouQiModel.BoardResult - public static func == (a: DouShouQiModel.Board, b: DouShouQiModel.Board) -> Swift.Bool - public var hashValue: Swift.Int { - get - } -} -public struct Piece : Swift.CustomStringConvertible, Swift.Hashable { - public var description: Swift.String { - get - } - public let owner: DouShouQiModel.Owner - public let animal: DouShouQiModel.Animal - public init(withOwner owner: DouShouQiModel.Owner, andAnimal animal: DouShouQiModel.Animal) - public func hash(into hasher: inout Swift.Hasher) - public static func == (a: DouShouQiModel.Piece, b: DouShouQiModel.Piece) -> Swift.Bool - public var hashValue: Swift.Int { - get - } -} -public enum InvalidBoardError : Swift.Error, Swift.Equatable { - case unknownError - case badDimensions(nbRows: Swift.Int, nbColumns: Swift.Int) - case badCellType(cellType: DouShouQiModel.CellType, row: Swift.Int, column: Swift.Int) - case multipleOccurenceOfSamePiece(piece: DouShouQiModel.Piece) - case pieceWithNoOwner(piece: DouShouQiModel.Piece) - case pieceNotAllowedOnThisCell(piece: DouShouQiModel.Piece, cell: DouShouQiModel.Cell) - public static func == (a: DouShouQiModel.InvalidBoardError, b: DouShouQiModel.InvalidBoardError) -> Swift.Bool -} -public enum Owner { - case noOne, player1, player2 - public var simpleDescription: Swift.String { - get - } - public static func == (a: DouShouQiModel.Owner, b: DouShouQiModel.Owner) -> Swift.Bool - public func hash(into hasher: inout Swift.Hasher) - public var hashValue: Swift.Int { - get - } -} -@_inheritsConvenienceInitializers public class IAPlayer : DouShouQiModel.Player { - override public init?(withName name: Swift.String, andId id: DouShouQiModel.Owner) - @objc deinit -} -public struct Move : Swift.CustomStringConvertible, Swift.Equatable { - public let owner: DouShouQiModel.Owner - public let rowOrigin: Swift.Int - public let columnOrigin: Swift.Int - public let rowDestination: Swift.Int - public let columnDestination: Swift.Int - public init(of owner: DouShouQiModel.Owner, fromRow rowOrigin: Swift.Int, andFromColumn colOrigin: Swift.Int, toRow rowDest: Swift.Int, andToColumn colDest: Swift.Int) - public var description: Swift.String { - get - } - public static func == (a: DouShouQiModel.Move, b: DouShouQiModel.Move) -> Swift.Bool -} -public enum Animal : Swift.Int { - case rat, cat, dog, wolf, leopard, tiger, lion, elephant - public init?(rawValue: Swift.Int) - public typealias RawValue = Swift.Int - public var rawValue: Swift.Int { - get - } -} -public class Game { - public var board: DouShouQiModel.Board { - get - } - public var rules: any DouShouQiModel.Rules { - get - } - final public let players: [DouShouQiModel.Owner : DouShouQiModel.Player] - public init(withRules rules: any DouShouQiModel.Rules, andPlayer1 player1: DouShouQiModel.Player, andPlayer2 player2: DouShouQiModel.Player) throws - public init(withBoard board: DouShouQiModel.Board, andRules rules: any DouShouQiModel.Rules, andPlayer1 player1: DouShouQiModel.Player, andPlayer2 player2: DouShouQiModel.Player) throws - public func addGameStartedListener(_ listener: @escaping (DouShouQiModel.Board) -> Swift.Void) - #if compiler(>=5.3) && $AsyncAwait - public func addPlayerNotifiedListener(_ listener: @escaping (DouShouQiModel.Board, DouShouQiModel.Player) async throws -> Swift.Void) - #endif - #if compiler(>=5.3) && $AsyncAwait - public func addGameChangedListener(_ listener: @escaping (DouShouQiModel.Game) async -> Swift.Void) - #endif - public func addGameOverListener(_ listener: @escaping (DouShouQiModel.Board, DouShouQiModel.Result, DouShouQiModel.Player?) -> Swift.Void) - public func addMoveChosenCallbacksListener(_ listener: @escaping (DouShouQiModel.Board, DouShouQiModel.Move, DouShouQiModel.Player) -> Swift.Void) - public func addInvalidMoveCallbacksListener(_ listener: @escaping (DouShouQiModel.Board, DouShouQiModel.Move, DouShouQiModel.Player, Swift.Bool) -> Swift.Void) - public func addBoardChangedListener(_ listener: @escaping (DouShouQiModel.Board) -> Swift.Void) - public func addPieceRemovedListener(_ listener: @escaping (Swift.Int, Swift.Int, DouShouQiModel.Piece) -> Swift.Void) - #if compiler(>=5.3) && $AsyncAwait - public func onPlayed(with move: DouShouQiModel.Move?, from player: DouShouQiModel.Player) async throws - #endif - public var isOver: Swift.Bool { - get - } - #if compiler(>=5.3) && $AsyncAwait - public func start() async throws - #endif - @objc deinit -} -extension DouShouQiModel.WinningReason : Swift.Equatable {} -extension DouShouQiModel.WinningReason : Swift.Hashable {} -extension DouShouQiModel.BoardFailingReason : Swift.Equatable {} -extension DouShouQiModel.BoardFailingReason : Swift.Hashable {} -extension DouShouQiModel.CellType : Swift.Equatable {} -extension DouShouQiModel.CellType : Swift.Hashable {} -extension DouShouQiModel.Owner : Swift.Equatable {} -extension DouShouQiModel.Owner : Swift.Hashable {} -extension DouShouQiModel.Animal : Swift.Equatable {} -extension DouShouQiModel.Animal : Swift.Hashable {} -extension DouShouQiModel.Animal : Swift.RawRepresentable {} diff --git a/DouShouQi_App/DSQ.xcframework/ios-arm64/DouShouQiModel.framework/Modules/module.modulemap b/DouShouQi_App/DSQ.xcframework/ios-arm64/DouShouQiModel.framework/Modules/module.modulemap deleted file mode 100644 index e7aa10a..0000000 --- a/DouShouQi_App/DSQ.xcframework/ios-arm64/DouShouQiModel.framework/Modules/module.modulemap +++ /dev/null @@ -1,11 +0,0 @@ -framework module DouShouQiModel { - umbrella header "DouShouQiModel.h" - export * - - module * { export * } -} - -module DouShouQiModel.Swift { - header "DouShouQiModel-Swift.h" - requires objc -} diff --git a/DouShouQi_App/DSQ.xcframework/ios-arm64_x86_64-simulator/DouShouQiModel.framework/DouShouQiModel b/DouShouQi_App/DSQ.xcframework/ios-arm64_x86_64-simulator/DouShouQiModel.framework/DouShouQiModel deleted file mode 100755 index 25b6b09..0000000 Binary files a/DouShouQi_App/DSQ.xcframework/ios-arm64_x86_64-simulator/DouShouQiModel.framework/DouShouQiModel and /dev/null differ diff --git a/DouShouQi_App/DSQ.xcframework/ios-arm64_x86_64-simulator/DouShouQiModel.framework/Headers/DouShouQiModel-Swift.h b/DouShouQi_App/DSQ.xcframework/ios-arm64_x86_64-simulator/DouShouQiModel.framework/Headers/DouShouQiModel-Swift.h deleted file mode 100644 index 5e14e79..0000000 --- a/DouShouQi_App/DSQ.xcframework/ios-arm64_x86_64-simulator/DouShouQiModel.framework/Headers/DouShouQiModel-Swift.h +++ /dev/null @@ -1,618 +0,0 @@ -#if 0 -#elif defined(__arm64__) && __arm64__ -// Generated by Apple Swift version 5.9.2 (swiftlang-5.9.2.2.56 clang-1500.1.0.2.5) -#ifndef DOUSHOUQIMODEL_SWIFT_H -#define DOUSHOUQIMODEL_SWIFT_H -#pragma clang diagnostic push -#pragma clang diagnostic ignored "-Wgcc-compat" - -#if !defined(__has_include) -# define __has_include(x) 0 -#endif -#if !defined(__has_attribute) -# define __has_attribute(x) 0 -#endif -#if !defined(__has_feature) -# define __has_feature(x) 0 -#endif -#if !defined(__has_warning) -# define __has_warning(x) 0 -#endif - -#if __has_include() -# include -#endif - -#pragma clang diagnostic ignored "-Wauto-import" -#if defined(__OBJC__) -#include -#endif -#if defined(__cplusplus) -#include -#include -#include -#include -#include -#include -#include -#else -#include -#include -#include -#include -#endif -#if defined(__cplusplus) -#if defined(__arm64e__) && __has_include() -# include -#else -#pragma clang diagnostic push -#pragma clang diagnostic ignored "-Wreserved-macro-identifier" -# ifndef __ptrauth_swift_value_witness_function_pointer -# define __ptrauth_swift_value_witness_function_pointer(x) -# endif -# ifndef __ptrauth_swift_class_method_pointer -# define __ptrauth_swift_class_method_pointer(x) -# endif -#pragma clang diagnostic pop -#endif -#endif - -#if !defined(SWIFT_TYPEDEFS) -# define SWIFT_TYPEDEFS 1 -# if __has_include() -# include -# elif !defined(__cplusplus) -typedef uint_least16_t char16_t; -typedef uint_least32_t char32_t; -# endif -typedef float swift_float2 __attribute__((__ext_vector_type__(2))); -typedef float swift_float3 __attribute__((__ext_vector_type__(3))); -typedef float swift_float4 __attribute__((__ext_vector_type__(4))); -typedef double swift_double2 __attribute__((__ext_vector_type__(2))); -typedef double swift_double3 __attribute__((__ext_vector_type__(3))); -typedef double swift_double4 __attribute__((__ext_vector_type__(4))); -typedef int swift_int2 __attribute__((__ext_vector_type__(2))); -typedef int swift_int3 __attribute__((__ext_vector_type__(3))); -typedef int swift_int4 __attribute__((__ext_vector_type__(4))); -typedef unsigned int swift_uint2 __attribute__((__ext_vector_type__(2))); -typedef unsigned int swift_uint3 __attribute__((__ext_vector_type__(3))); -typedef unsigned int swift_uint4 __attribute__((__ext_vector_type__(4))); -#endif - -#if !defined(SWIFT_PASTE) -# define SWIFT_PASTE_HELPER(x, y) x##y -# define SWIFT_PASTE(x, y) SWIFT_PASTE_HELPER(x, y) -#endif -#if !defined(SWIFT_METATYPE) -# define SWIFT_METATYPE(X) Class -#endif -#if !defined(SWIFT_CLASS_PROPERTY) -# if __has_feature(objc_class_property) -# define SWIFT_CLASS_PROPERTY(...) __VA_ARGS__ -# else -# define SWIFT_CLASS_PROPERTY(...) -# endif -#endif -#if !defined(SWIFT_RUNTIME_NAME) -# if __has_attribute(objc_runtime_name) -# define SWIFT_RUNTIME_NAME(X) __attribute__((objc_runtime_name(X))) -# else -# define SWIFT_RUNTIME_NAME(X) -# endif -#endif -#if !defined(SWIFT_COMPILE_NAME) -# if __has_attribute(swift_name) -# define SWIFT_COMPILE_NAME(X) __attribute__((swift_name(X))) -# else -# define SWIFT_COMPILE_NAME(X) -# endif -#endif -#if !defined(SWIFT_METHOD_FAMILY) -# if __has_attribute(objc_method_family) -# define SWIFT_METHOD_FAMILY(X) __attribute__((objc_method_family(X))) -# else -# define SWIFT_METHOD_FAMILY(X) -# endif -#endif -#if !defined(SWIFT_NOESCAPE) -# if __has_attribute(noescape) -# define SWIFT_NOESCAPE __attribute__((noescape)) -# else -# define SWIFT_NOESCAPE -# endif -#endif -#if !defined(SWIFT_RELEASES_ARGUMENT) -# if __has_attribute(ns_consumed) -# define SWIFT_RELEASES_ARGUMENT __attribute__((ns_consumed)) -# else -# define SWIFT_RELEASES_ARGUMENT -# endif -#endif -#if !defined(SWIFT_WARN_UNUSED_RESULT) -# if __has_attribute(warn_unused_result) -# define SWIFT_WARN_UNUSED_RESULT __attribute__((warn_unused_result)) -# else -# define SWIFT_WARN_UNUSED_RESULT -# endif -#endif -#if !defined(SWIFT_NORETURN) -# if __has_attribute(noreturn) -# define SWIFT_NORETURN __attribute__((noreturn)) -# else -# define SWIFT_NORETURN -# endif -#endif -#if !defined(SWIFT_CLASS_EXTRA) -# define SWIFT_CLASS_EXTRA -#endif -#if !defined(SWIFT_PROTOCOL_EXTRA) -# define SWIFT_PROTOCOL_EXTRA -#endif -#if !defined(SWIFT_ENUM_EXTRA) -# define SWIFT_ENUM_EXTRA -#endif -#if !defined(SWIFT_CLASS) -# if __has_attribute(objc_subclassing_restricted) -# define SWIFT_CLASS(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) __attribute__((objc_subclassing_restricted)) SWIFT_CLASS_EXTRA -# define SWIFT_CLASS_NAMED(SWIFT_NAME) __attribute__((objc_subclassing_restricted)) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA -# else -# define SWIFT_CLASS(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA -# define SWIFT_CLASS_NAMED(SWIFT_NAME) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA -# endif -#endif -#if !defined(SWIFT_RESILIENT_CLASS) -# if __has_attribute(objc_class_stub) -# define SWIFT_RESILIENT_CLASS(SWIFT_NAME) SWIFT_CLASS(SWIFT_NAME) __attribute__((objc_class_stub)) -# define SWIFT_RESILIENT_CLASS_NAMED(SWIFT_NAME) __attribute__((objc_class_stub)) SWIFT_CLASS_NAMED(SWIFT_NAME) -# else -# define SWIFT_RESILIENT_CLASS(SWIFT_NAME) SWIFT_CLASS(SWIFT_NAME) -# define SWIFT_RESILIENT_CLASS_NAMED(SWIFT_NAME) SWIFT_CLASS_NAMED(SWIFT_NAME) -# endif -#endif -#if !defined(SWIFT_PROTOCOL) -# define SWIFT_PROTOCOL(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) SWIFT_PROTOCOL_EXTRA -# define SWIFT_PROTOCOL_NAMED(SWIFT_NAME) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_PROTOCOL_EXTRA -#endif -#if !defined(SWIFT_EXTENSION) -# define SWIFT_EXTENSION(M) SWIFT_PASTE(M##_Swift_, __LINE__) -#endif -#if !defined(OBJC_DESIGNATED_INITIALIZER) -# if __has_attribute(objc_designated_initializer) -# define OBJC_DESIGNATED_INITIALIZER __attribute__((objc_designated_initializer)) -# else -# define OBJC_DESIGNATED_INITIALIZER -# endif -#endif -#if !defined(SWIFT_ENUM_ATTR) -# if __has_attribute(enum_extensibility) -# define SWIFT_ENUM_ATTR(_extensibility) __attribute__((enum_extensibility(_extensibility))) -# else -# define SWIFT_ENUM_ATTR(_extensibility) -# endif -#endif -#if !defined(SWIFT_ENUM) -# define SWIFT_ENUM(_type, _name, _extensibility) enum _name : _type _name; enum SWIFT_ENUM_ATTR(_extensibility) SWIFT_ENUM_EXTRA _name : _type -# if __has_feature(generalized_swift_name) -# define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME, _extensibility) enum _name : _type _name SWIFT_COMPILE_NAME(SWIFT_NAME); enum SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_ENUM_ATTR(_extensibility) SWIFT_ENUM_EXTRA _name : _type -# else -# define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME, _extensibility) SWIFT_ENUM(_type, _name, _extensibility) -# endif -#endif -#if !defined(SWIFT_UNAVAILABLE) -# define SWIFT_UNAVAILABLE __attribute__((unavailable)) -#endif -#if !defined(SWIFT_UNAVAILABLE_MSG) -# define SWIFT_UNAVAILABLE_MSG(msg) __attribute__((unavailable(msg))) -#endif -#if !defined(SWIFT_AVAILABILITY) -# define SWIFT_AVAILABILITY(plat, ...) __attribute__((availability(plat, __VA_ARGS__))) -#endif -#if !defined(SWIFT_WEAK_IMPORT) -# define SWIFT_WEAK_IMPORT __attribute__((weak_import)) -#endif -#if !defined(SWIFT_DEPRECATED) -# define SWIFT_DEPRECATED __attribute__((deprecated)) -#endif -#if !defined(SWIFT_DEPRECATED_MSG) -# define SWIFT_DEPRECATED_MSG(...) __attribute__((deprecated(__VA_ARGS__))) -#endif -#if !defined(SWIFT_DEPRECATED_OBJC) -# if __has_feature(attribute_diagnose_if_objc) -# define SWIFT_DEPRECATED_OBJC(Msg) __attribute__((diagnose_if(1, Msg, "warning"))) -# else -# define SWIFT_DEPRECATED_OBJC(Msg) SWIFT_DEPRECATED_MSG(Msg) -# endif -#endif -#if defined(__OBJC__) -#if !defined(IBSegueAction) -# define IBSegueAction -#endif -#endif -#if !defined(SWIFT_EXTERN) -# if defined(__cplusplus) -# define SWIFT_EXTERN extern "C" -# else -# define SWIFT_EXTERN extern -# endif -#endif -#if !defined(SWIFT_CALL) -# define SWIFT_CALL __attribute__((swiftcall)) -#endif -#if !defined(SWIFT_INDIRECT_RESULT) -# define SWIFT_INDIRECT_RESULT __attribute__((swift_indirect_result)) -#endif -#if !defined(SWIFT_CONTEXT) -# define SWIFT_CONTEXT __attribute__((swift_context)) -#endif -#if !defined(SWIFT_ERROR_RESULT) -# define SWIFT_ERROR_RESULT __attribute__((swift_error_result)) -#endif -#if defined(__cplusplus) -# define SWIFT_NOEXCEPT noexcept -#else -# define SWIFT_NOEXCEPT -#endif -#if !defined(SWIFT_C_INLINE_THUNK) -# if __has_attribute(always_inline) -# if __has_attribute(nodebug) -# define SWIFT_C_INLINE_THUNK inline __attribute__((always_inline)) __attribute__((nodebug)) -# else -# define SWIFT_C_INLINE_THUNK inline __attribute__((always_inline)) -# endif -# else -# define SWIFT_C_INLINE_THUNK inline -# endif -#endif -#if defined(_WIN32) -#if !defined(SWIFT_IMPORT_STDLIB_SYMBOL) -# define SWIFT_IMPORT_STDLIB_SYMBOL __declspec(dllimport) -#endif -#else -#if !defined(SWIFT_IMPORT_STDLIB_SYMBOL) -# define SWIFT_IMPORT_STDLIB_SYMBOL -#endif -#endif -#if defined(__OBJC__) -#if __has_feature(objc_modules) -#if __has_warning("-Watimport-in-framework-header") -#pragma clang diagnostic ignored "-Watimport-in-framework-header" -#endif -#endif - -#endif -#pragma clang diagnostic ignored "-Wproperty-attribute-mismatch" -#pragma clang diagnostic ignored "-Wduplicate-method-arg" -#if __has_warning("-Wpragma-clang-attribute") -# pragma clang diagnostic ignored "-Wpragma-clang-attribute" -#endif -#pragma clang diagnostic ignored "-Wunknown-pragmas" -#pragma clang diagnostic ignored "-Wnullability" -#pragma clang diagnostic ignored "-Wdollar-in-identifier-extension" - -#if __has_attribute(external_source_symbol) -# pragma push_macro("any") -# undef any -# pragma clang attribute push(__attribute__((external_source_symbol(language="Swift", defined_in="DouShouQiModel",generated_declaration))), apply_to=any(function,enum,objc_interface,objc_category,objc_protocol)) -# pragma pop_macro("any") -#endif - -#if defined(__OBJC__) -#endif -#if __has_attribute(external_source_symbol) -# pragma clang attribute pop -#endif -#if defined(__cplusplus) -#endif -#pragma clang diagnostic pop -#endif - -#elif defined(__x86_64__) && __x86_64__ -// Generated by Apple Swift version 5.9.2 (swiftlang-5.9.2.2.56 clang-1500.1.0.2.5) -#ifndef DOUSHOUQIMODEL_SWIFT_H -#define DOUSHOUQIMODEL_SWIFT_H -#pragma clang diagnostic push -#pragma clang diagnostic ignored "-Wgcc-compat" - -#if !defined(__has_include) -# define __has_include(x) 0 -#endif -#if !defined(__has_attribute) -# define __has_attribute(x) 0 -#endif -#if !defined(__has_feature) -# define __has_feature(x) 0 -#endif -#if !defined(__has_warning) -# define __has_warning(x) 0 -#endif - -#if __has_include() -# include -#endif - -#pragma clang diagnostic ignored "-Wauto-import" -#if defined(__OBJC__) -#include -#endif -#if defined(__cplusplus) -#include -#include -#include -#include -#include -#include -#include -#else -#include -#include -#include -#include -#endif -#if defined(__cplusplus) -#if defined(__arm64e__) && __has_include() -# include -#else -#pragma clang diagnostic push -#pragma clang diagnostic ignored "-Wreserved-macro-identifier" -# ifndef __ptrauth_swift_value_witness_function_pointer -# define __ptrauth_swift_value_witness_function_pointer(x) -# endif -# ifndef __ptrauth_swift_class_method_pointer -# define __ptrauth_swift_class_method_pointer(x) -# endif -#pragma clang diagnostic pop -#endif -#endif - -#if !defined(SWIFT_TYPEDEFS) -# define SWIFT_TYPEDEFS 1 -# if __has_include() -# include -# elif !defined(__cplusplus) -typedef uint_least16_t char16_t; -typedef uint_least32_t char32_t; -# endif -typedef float swift_float2 __attribute__((__ext_vector_type__(2))); -typedef float swift_float3 __attribute__((__ext_vector_type__(3))); -typedef float swift_float4 __attribute__((__ext_vector_type__(4))); -typedef double swift_double2 __attribute__((__ext_vector_type__(2))); -typedef double swift_double3 __attribute__((__ext_vector_type__(3))); -typedef double swift_double4 __attribute__((__ext_vector_type__(4))); -typedef int swift_int2 __attribute__((__ext_vector_type__(2))); -typedef int swift_int3 __attribute__((__ext_vector_type__(3))); -typedef int swift_int4 __attribute__((__ext_vector_type__(4))); -typedef unsigned int swift_uint2 __attribute__((__ext_vector_type__(2))); -typedef unsigned int swift_uint3 __attribute__((__ext_vector_type__(3))); -typedef unsigned int swift_uint4 __attribute__((__ext_vector_type__(4))); -#endif - -#if !defined(SWIFT_PASTE) -# define SWIFT_PASTE_HELPER(x, y) x##y -# define SWIFT_PASTE(x, y) SWIFT_PASTE_HELPER(x, y) -#endif -#if !defined(SWIFT_METATYPE) -# define SWIFT_METATYPE(X) Class -#endif -#if !defined(SWIFT_CLASS_PROPERTY) -# if __has_feature(objc_class_property) -# define SWIFT_CLASS_PROPERTY(...) __VA_ARGS__ -# else -# define SWIFT_CLASS_PROPERTY(...) -# endif -#endif -#if !defined(SWIFT_RUNTIME_NAME) -# if __has_attribute(objc_runtime_name) -# define SWIFT_RUNTIME_NAME(X) __attribute__((objc_runtime_name(X))) -# else -# define SWIFT_RUNTIME_NAME(X) -# endif -#endif -#if !defined(SWIFT_COMPILE_NAME) -# if __has_attribute(swift_name) -# define SWIFT_COMPILE_NAME(X) __attribute__((swift_name(X))) -# else -# define SWIFT_COMPILE_NAME(X) -# endif -#endif -#if !defined(SWIFT_METHOD_FAMILY) -# if __has_attribute(objc_method_family) -# define SWIFT_METHOD_FAMILY(X) __attribute__((objc_method_family(X))) -# else -# define SWIFT_METHOD_FAMILY(X) -# endif -#endif -#if !defined(SWIFT_NOESCAPE) -# if __has_attribute(noescape) -# define SWIFT_NOESCAPE __attribute__((noescape)) -# else -# define SWIFT_NOESCAPE -# endif -#endif -#if !defined(SWIFT_RELEASES_ARGUMENT) -# if __has_attribute(ns_consumed) -# define SWIFT_RELEASES_ARGUMENT __attribute__((ns_consumed)) -# else -# define SWIFT_RELEASES_ARGUMENT -# endif -#endif -#if !defined(SWIFT_WARN_UNUSED_RESULT) -# if __has_attribute(warn_unused_result) -# define SWIFT_WARN_UNUSED_RESULT __attribute__((warn_unused_result)) -# else -# define SWIFT_WARN_UNUSED_RESULT -# endif -#endif -#if !defined(SWIFT_NORETURN) -# if __has_attribute(noreturn) -# define SWIFT_NORETURN __attribute__((noreturn)) -# else -# define SWIFT_NORETURN -# endif -#endif -#if !defined(SWIFT_CLASS_EXTRA) -# define SWIFT_CLASS_EXTRA -#endif -#if !defined(SWIFT_PROTOCOL_EXTRA) -# define SWIFT_PROTOCOL_EXTRA -#endif -#if !defined(SWIFT_ENUM_EXTRA) -# define SWIFT_ENUM_EXTRA -#endif -#if !defined(SWIFT_CLASS) -# if __has_attribute(objc_subclassing_restricted) -# define SWIFT_CLASS(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) __attribute__((objc_subclassing_restricted)) SWIFT_CLASS_EXTRA -# define SWIFT_CLASS_NAMED(SWIFT_NAME) __attribute__((objc_subclassing_restricted)) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA -# else -# define SWIFT_CLASS(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA -# define SWIFT_CLASS_NAMED(SWIFT_NAME) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA -# endif -#endif -#if !defined(SWIFT_RESILIENT_CLASS) -# if __has_attribute(objc_class_stub) -# define SWIFT_RESILIENT_CLASS(SWIFT_NAME) SWIFT_CLASS(SWIFT_NAME) __attribute__((objc_class_stub)) -# define SWIFT_RESILIENT_CLASS_NAMED(SWIFT_NAME) __attribute__((objc_class_stub)) SWIFT_CLASS_NAMED(SWIFT_NAME) -# else -# define SWIFT_RESILIENT_CLASS(SWIFT_NAME) SWIFT_CLASS(SWIFT_NAME) -# define SWIFT_RESILIENT_CLASS_NAMED(SWIFT_NAME) SWIFT_CLASS_NAMED(SWIFT_NAME) -# endif -#endif -#if !defined(SWIFT_PROTOCOL) -# define SWIFT_PROTOCOL(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) SWIFT_PROTOCOL_EXTRA -# define SWIFT_PROTOCOL_NAMED(SWIFT_NAME) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_PROTOCOL_EXTRA -#endif -#if !defined(SWIFT_EXTENSION) -# define SWIFT_EXTENSION(M) SWIFT_PASTE(M##_Swift_, __LINE__) -#endif -#if !defined(OBJC_DESIGNATED_INITIALIZER) -# if __has_attribute(objc_designated_initializer) -# define OBJC_DESIGNATED_INITIALIZER __attribute__((objc_designated_initializer)) -# else -# define OBJC_DESIGNATED_INITIALIZER -# endif -#endif -#if !defined(SWIFT_ENUM_ATTR) -# if __has_attribute(enum_extensibility) -# define SWIFT_ENUM_ATTR(_extensibility) __attribute__((enum_extensibility(_extensibility))) -# else -# define SWIFT_ENUM_ATTR(_extensibility) -# endif -#endif -#if !defined(SWIFT_ENUM) -# define SWIFT_ENUM(_type, _name, _extensibility) enum _name : _type _name; enum SWIFT_ENUM_ATTR(_extensibility) SWIFT_ENUM_EXTRA _name : _type -# if __has_feature(generalized_swift_name) -# define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME, _extensibility) enum _name : _type _name SWIFT_COMPILE_NAME(SWIFT_NAME); enum SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_ENUM_ATTR(_extensibility) SWIFT_ENUM_EXTRA _name : _type -# else -# define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME, _extensibility) SWIFT_ENUM(_type, _name, _extensibility) -# endif -#endif -#if !defined(SWIFT_UNAVAILABLE) -# define SWIFT_UNAVAILABLE __attribute__((unavailable)) -#endif -#if !defined(SWIFT_UNAVAILABLE_MSG) -# define SWIFT_UNAVAILABLE_MSG(msg) __attribute__((unavailable(msg))) -#endif -#if !defined(SWIFT_AVAILABILITY) -# define SWIFT_AVAILABILITY(plat, ...) __attribute__((availability(plat, __VA_ARGS__))) -#endif -#if !defined(SWIFT_WEAK_IMPORT) -# define SWIFT_WEAK_IMPORT __attribute__((weak_import)) -#endif -#if !defined(SWIFT_DEPRECATED) -# define SWIFT_DEPRECATED __attribute__((deprecated)) -#endif -#if !defined(SWIFT_DEPRECATED_MSG) -# define SWIFT_DEPRECATED_MSG(...) __attribute__((deprecated(__VA_ARGS__))) -#endif -#if !defined(SWIFT_DEPRECATED_OBJC) -# if __has_feature(attribute_diagnose_if_objc) -# define SWIFT_DEPRECATED_OBJC(Msg) __attribute__((diagnose_if(1, Msg, "warning"))) -# else -# define SWIFT_DEPRECATED_OBJC(Msg) SWIFT_DEPRECATED_MSG(Msg) -# endif -#endif -#if defined(__OBJC__) -#if !defined(IBSegueAction) -# define IBSegueAction -#endif -#endif -#if !defined(SWIFT_EXTERN) -# if defined(__cplusplus) -# define SWIFT_EXTERN extern "C" -# else -# define SWIFT_EXTERN extern -# endif -#endif -#if !defined(SWIFT_CALL) -# define SWIFT_CALL __attribute__((swiftcall)) -#endif -#if !defined(SWIFT_INDIRECT_RESULT) -# define SWIFT_INDIRECT_RESULT __attribute__((swift_indirect_result)) -#endif -#if !defined(SWIFT_CONTEXT) -# define SWIFT_CONTEXT __attribute__((swift_context)) -#endif -#if !defined(SWIFT_ERROR_RESULT) -# define SWIFT_ERROR_RESULT __attribute__((swift_error_result)) -#endif -#if defined(__cplusplus) -# define SWIFT_NOEXCEPT noexcept -#else -# define SWIFT_NOEXCEPT -#endif -#if !defined(SWIFT_C_INLINE_THUNK) -# if __has_attribute(always_inline) -# if __has_attribute(nodebug) -# define SWIFT_C_INLINE_THUNK inline __attribute__((always_inline)) __attribute__((nodebug)) -# else -# define SWIFT_C_INLINE_THUNK inline __attribute__((always_inline)) -# endif -# else -# define SWIFT_C_INLINE_THUNK inline -# endif -#endif -#if defined(_WIN32) -#if !defined(SWIFT_IMPORT_STDLIB_SYMBOL) -# define SWIFT_IMPORT_STDLIB_SYMBOL __declspec(dllimport) -#endif -#else -#if !defined(SWIFT_IMPORT_STDLIB_SYMBOL) -# define SWIFT_IMPORT_STDLIB_SYMBOL -#endif -#endif -#if defined(__OBJC__) -#if __has_feature(objc_modules) -#if __has_warning("-Watimport-in-framework-header") -#pragma clang diagnostic ignored "-Watimport-in-framework-header" -#endif -#endif - -#endif -#pragma clang diagnostic ignored "-Wproperty-attribute-mismatch" -#pragma clang diagnostic ignored "-Wduplicate-method-arg" -#if __has_warning("-Wpragma-clang-attribute") -# pragma clang diagnostic ignored "-Wpragma-clang-attribute" -#endif -#pragma clang diagnostic ignored "-Wunknown-pragmas" -#pragma clang diagnostic ignored "-Wnullability" -#pragma clang diagnostic ignored "-Wdollar-in-identifier-extension" - -#if __has_attribute(external_source_symbol) -# pragma push_macro("any") -# undef any -# pragma clang attribute push(__attribute__((external_source_symbol(language="Swift", defined_in="DouShouQiModel",generated_declaration))), apply_to=any(function,enum,objc_interface,objc_category,objc_protocol)) -# pragma pop_macro("any") -#endif - -#if defined(__OBJC__) -#endif -#if __has_attribute(external_source_symbol) -# pragma clang attribute pop -#endif -#if defined(__cplusplus) -#endif -#pragma clang diagnostic pop -#endif - -#else -#error unsupported Swift architecture -#endif diff --git a/DouShouQi_App/DSQ.xcframework/ios-arm64_x86_64-simulator/DouShouQiModel.framework/Headers/DouShouQiModel.h b/DouShouQi_App/DSQ.xcframework/ios-arm64_x86_64-simulator/DouShouQiModel.framework/Headers/DouShouQiModel.h deleted file mode 100644 index 5bbf06a..0000000 --- a/DouShouQi_App/DSQ.xcframework/ios-arm64_x86_64-simulator/DouShouQiModel.framework/Headers/DouShouQiModel.h +++ /dev/null @@ -1,18 +0,0 @@ -// -// DouShouQiModel.h -// DouShouQiModel -// -// Created by Marc Chevaldonné on 14/05/2024. -// - -#import - -//! Project version number for DouShouQiModel. -FOUNDATION_EXPORT double DouShouQiModelVersionNumber; - -//! Project version string for DouShouQiModel. -FOUNDATION_EXPORT const unsigned char DouShouQiModelVersionString[]; - -// In this header, you should import all the public headers of your framework using statements like #import - - diff --git a/DouShouQi_App/DSQ.xcframework/ios-arm64_x86_64-simulator/DouShouQiModel.framework/Info.plist b/DouShouQi_App/DSQ.xcframework/ios-arm64_x86_64-simulator/DouShouQiModel.framework/Info.plist deleted file mode 100644 index 33fe547..0000000 Binary files a/DouShouQi_App/DSQ.xcframework/ios-arm64_x86_64-simulator/DouShouQiModel.framework/Info.plist and /dev/null differ diff --git a/DouShouQi_App/DSQ.xcframework/ios-arm64_x86_64-simulator/DouShouQiModel.framework/Modules/DouShouQiModel.swiftmodule/arm64-apple-ios-simulator.abi.json b/DouShouQi_App/DSQ.xcframework/ios-arm64_x86_64-simulator/DouShouQiModel.framework/Modules/DouShouQiModel.swiftmodule/arm64-apple-ios-simulator.abi.json deleted file mode 100644 index c28e9fd..0000000 --- a/DouShouQi_App/DSQ.xcframework/ios-arm64_x86_64-simulator/DouShouQiModel.framework/Modules/DouShouQiModel.swiftmodule/arm64-apple-ios-simulator.abi.json +++ /dev/null @@ -1,8546 +0,0 @@ -{ - "ABIRoot": { - "kind": "Root", - "name": "TopLevel", - "printedName": "TopLevel", - "children": [ - { - "kind": "Import", - "name": "Foundation", - "printedName": "Foundation", - "declKind": "Import", - "moduleName": "DouShouQiModel" - }, - { - "kind": "TypeDecl", - "name": "Result", - "printedName": "Result", - "children": [ - { - "kind": "Var", - "name": "notFinished", - "printedName": "notFinished", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.Result.Type) -> DouShouQiModel.Result", - "children": [ - { - "kind": "TypeNominal", - "name": "Result", - "printedName": "DouShouQiModel.Result", - "usr": "s:14DouShouQiModel6ResultO" - }, - { - "kind": "TypeNominal", - "name": "Metatype", - "printedName": "DouShouQiModel.Result.Type", - "children": [ - { - "kind": "TypeNominal", - "name": "Result", - "printedName": "DouShouQiModel.Result", - "usr": "s:14DouShouQiModel6ResultO" - } - ] - } - ] - } - ], - "declKind": "EnumElement", - "usr": "s:14DouShouQiModel6ResultO11notFinishedyA2CmF", - "mangledName": "$s14DouShouQiModel6ResultO11notFinishedyA2CmF", - "moduleName": "DouShouQiModel" - }, - { - "kind": "Var", - "name": "even", - "printedName": "even", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.Result.Type) -> DouShouQiModel.Result", - "children": [ - { - "kind": "TypeNominal", - "name": "Result", - "printedName": "DouShouQiModel.Result", - "usr": "s:14DouShouQiModel6ResultO" - }, - { - "kind": "TypeNominal", - "name": "Metatype", - "printedName": "DouShouQiModel.Result.Type", - "children": [ - { - "kind": "TypeNominal", - "name": "Result", - "printedName": "DouShouQiModel.Result", - "usr": "s:14DouShouQiModel6ResultO" - } - ] - } - ] - } - ], - "declKind": "EnumElement", - "usr": "s:14DouShouQiModel6ResultO4evenyA2CmF", - "mangledName": "$s14DouShouQiModel6ResultO4evenyA2CmF", - "moduleName": "DouShouQiModel" - }, - { - "kind": "Var", - "name": "winner", - "printedName": "winner", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.Result.Type) -> (DouShouQiModel.Owner, DouShouQiModel.WinningReason) -> DouShouQiModel.Result", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.Owner, DouShouQiModel.WinningReason) -> DouShouQiModel.Result", - "children": [ - { - "kind": "TypeNominal", - "name": "Result", - "printedName": "DouShouQiModel.Result", - "usr": "s:14DouShouQiModel6ResultO" - }, - { - "kind": "TypeNominal", - "name": "Tuple", - "printedName": "(winner: DouShouQiModel.Owner, reason: DouShouQiModel.WinningReason)", - "children": [ - { - "kind": "TypeNominal", - "name": "Owner", - "printedName": "DouShouQiModel.Owner", - "usr": "s:14DouShouQiModel5OwnerO" - }, - { - "kind": "TypeNominal", - "name": "WinningReason", - "printedName": "DouShouQiModel.WinningReason", - "usr": "s:14DouShouQiModel13WinningReasonO" - } - ] - } - ] - }, - { - "kind": "TypeNominal", - "name": "Metatype", - "printedName": "DouShouQiModel.Result.Type", - "children": [ - { - "kind": "TypeNominal", - "name": "Result", - "printedName": "DouShouQiModel.Result", - "usr": "s:14DouShouQiModel6ResultO" - } - ] - } - ] - } - ], - "declKind": "EnumElement", - "usr": "s:14DouShouQiModel6ResultO6winneryAcA5OwnerO_AA13WinningReasonOtcACmF", - "mangledName": "$s14DouShouQiModel6ResultO6winneryAcA5OwnerO_AA13WinningReasonOtcACmF", - "moduleName": "DouShouQiModel" - }, - { - "kind": "Function", - "name": "==", - "printedName": "==(_:_:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Bool", - "printedName": "Swift.Bool", - "usr": "s:Sb" - }, - { - "kind": "TypeNominal", - "name": "Result", - "printedName": "DouShouQiModel.Result", - "usr": "s:14DouShouQiModel6ResultO" - }, - { - "kind": "TypeNominal", - "name": "Result", - "printedName": "DouShouQiModel.Result", - "usr": "s:14DouShouQiModel6ResultO" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel6ResultO2eeoiySbAC_ACtFZ", - "mangledName": "$s14DouShouQiModel6ResultO2eeoiySbAC_ACtFZ", - "moduleName": "DouShouQiModel", - "static": true, - "implicit": true, - "funcSelfKind": "NonMutating" - } - ], - "declKind": "Enum", - "usr": "s:14DouShouQiModel6ResultO", - "mangledName": "$s14DouShouQiModel6ResultO", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "conformances": [ - { - "kind": "Conformance", - "name": "Equatable", - "printedName": "Equatable", - "usr": "s:SQ", - "mangledName": "$sSQ" - } - ] - }, - { - "kind": "TypeDecl", - "name": "WinningReason", - "printedName": "WinningReason", - "children": [ - { - "kind": "Var", - "name": "denReached", - "printedName": "denReached", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.WinningReason.Type) -> DouShouQiModel.WinningReason", - "children": [ - { - "kind": "TypeNominal", - "name": "WinningReason", - "printedName": "DouShouQiModel.WinningReason", - "usr": "s:14DouShouQiModel13WinningReasonO" - }, - { - "kind": "TypeNominal", - "name": "Metatype", - "printedName": "DouShouQiModel.WinningReason.Type", - "children": [ - { - "kind": "TypeNominal", - "name": "WinningReason", - "printedName": "DouShouQiModel.WinningReason", - "usr": "s:14DouShouQiModel13WinningReasonO" - } - ] - } - ] - } - ], - "declKind": "EnumElement", - "usr": "s:14DouShouQiModel13WinningReasonO10denReachedyA2CmF", - "mangledName": "$s14DouShouQiModel13WinningReasonO10denReachedyA2CmF", - "moduleName": "DouShouQiModel" - }, - { - "kind": "Var", - "name": "noMorePieces", - "printedName": "noMorePieces", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.WinningReason.Type) -> DouShouQiModel.WinningReason", - "children": [ - { - "kind": "TypeNominal", - "name": "WinningReason", - "printedName": "DouShouQiModel.WinningReason", - "usr": "s:14DouShouQiModel13WinningReasonO" - }, - { - "kind": "TypeNominal", - "name": "Metatype", - "printedName": "DouShouQiModel.WinningReason.Type", - "children": [ - { - "kind": "TypeNominal", - "name": "WinningReason", - "printedName": "DouShouQiModel.WinningReason", - "usr": "s:14DouShouQiModel13WinningReasonO" - } - ] - } - ] - } - ], - "declKind": "EnumElement", - "usr": "s:14DouShouQiModel13WinningReasonO12noMorePiecesyA2CmF", - "mangledName": "$s14DouShouQiModel13WinningReasonO12noMorePiecesyA2CmF", - "moduleName": "DouShouQiModel" - }, - { - "kind": "Var", - "name": "tooManyOccurences", - "printedName": "tooManyOccurences", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.WinningReason.Type) -> DouShouQiModel.WinningReason", - "children": [ - { - "kind": "TypeNominal", - "name": "WinningReason", - "printedName": "DouShouQiModel.WinningReason", - "usr": "s:14DouShouQiModel13WinningReasonO" - }, - { - "kind": "TypeNominal", - "name": "Metatype", - "printedName": "DouShouQiModel.WinningReason.Type", - "children": [ - { - "kind": "TypeNominal", - "name": "WinningReason", - "printedName": "DouShouQiModel.WinningReason", - "usr": "s:14DouShouQiModel13WinningReasonO" - } - ] - } - ] - } - ], - "declKind": "EnumElement", - "usr": "s:14DouShouQiModel13WinningReasonO17tooManyOccurencesyA2CmF", - "mangledName": "$s14DouShouQiModel13WinningReasonO17tooManyOccurencesyA2CmF", - "moduleName": "DouShouQiModel" - }, - { - "kind": "Var", - "name": "noMovesLeft", - "printedName": "noMovesLeft", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.WinningReason.Type) -> DouShouQiModel.WinningReason", - "children": [ - { - "kind": "TypeNominal", - "name": "WinningReason", - "printedName": "DouShouQiModel.WinningReason", - "usr": "s:14DouShouQiModel13WinningReasonO" - }, - { - "kind": "TypeNominal", - "name": "Metatype", - "printedName": "DouShouQiModel.WinningReason.Type", - "children": [ - { - "kind": "TypeNominal", - "name": "WinningReason", - "printedName": "DouShouQiModel.WinningReason", - "usr": "s:14DouShouQiModel13WinningReasonO" - } - ] - } - ] - } - ], - "declKind": "EnumElement", - "usr": "s:14DouShouQiModel13WinningReasonO11noMovesLeftyA2CmF", - "mangledName": "$s14DouShouQiModel13WinningReasonO11noMovesLeftyA2CmF", - "moduleName": "DouShouQiModel" - }, - { - "kind": "Function", - "name": "==", - "printedName": "==(_:_:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Bool", - "printedName": "Swift.Bool", - "usr": "s:Sb" - }, - { - "kind": "TypeNominal", - "name": "WinningReason", - "printedName": "DouShouQiModel.WinningReason", - "usr": "s:14DouShouQiModel13WinningReasonO" - }, - { - "kind": "TypeNominal", - "name": "WinningReason", - "printedName": "DouShouQiModel.WinningReason", - "usr": "s:14DouShouQiModel13WinningReasonO" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel13WinningReasonO2eeoiySbAC_ACtFZ", - "mangledName": "$s14DouShouQiModel13WinningReasonO2eeoiySbAC_ACtFZ", - "moduleName": "DouShouQiModel", - "static": true, - "implicit": true, - "funcSelfKind": "NonMutating" - }, - { - "kind": "Var", - "name": "hashValue", - "printedName": "hashValue", - "children": [ - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ], - "declKind": "Var", - "usr": "s:14DouShouQiModel13WinningReasonO9hashValueSivp", - "mangledName": "$s14DouShouQiModel13WinningReasonO9hashValueSivp", - "moduleName": "DouShouQiModel", - "implicit": true, - "accessors": [ - { - "kind": "Accessor", - "name": "Get", - "printedName": "Get()", - "children": [ - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ], - "declKind": "Accessor", - "usr": "s:14DouShouQiModel13WinningReasonO9hashValueSivg", - "mangledName": "$s14DouShouQiModel13WinningReasonO9hashValueSivg", - "moduleName": "DouShouQiModel", - "implicit": true, - "accessorKind": "get" - } - ] - }, - { - "kind": "Function", - "name": "hash", - "printedName": "hash(into:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - }, - { - "kind": "TypeNominal", - "name": "Hasher", - "printedName": "Swift.Hasher", - "paramValueOwnership": "InOut", - "usr": "s:s6HasherV" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel13WinningReasonO4hash4intoys6HasherVz_tF", - "mangledName": "$s14DouShouQiModel13WinningReasonO4hash4intoys6HasherVz_tF", - "moduleName": "DouShouQiModel", - "implicit": true, - "funcSelfKind": "NonMutating" - } - ], - "declKind": "Enum", - "usr": "s:14DouShouQiModel13WinningReasonO", - "mangledName": "$s14DouShouQiModel13WinningReasonO", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "conformances": [ - { - "kind": "Conformance", - "name": "Equatable", - "printedName": "Equatable", - "usr": "s:SQ", - "mangledName": "$sSQ" - }, - { - "kind": "Conformance", - "name": "Hashable", - "printedName": "Hashable", - "usr": "s:SH", - "mangledName": "$sSH" - } - ] - }, - { - "kind": "Import", - "name": "Foundation", - "printedName": "Foundation", - "declKind": "Import", - "moduleName": "DouShouQiModel" - }, - { - "kind": "TypeDecl", - "name": "BoardResult", - "printedName": "BoardResult", - "children": [ - { - "kind": "Var", - "name": "unknown", - "printedName": "unknown", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.BoardResult.Type) -> DouShouQiModel.BoardResult", - "children": [ - { - "kind": "TypeNominal", - "name": "BoardResult", - "printedName": "DouShouQiModel.BoardResult", - "usr": "s:14DouShouQiModel11BoardResultO" - }, - { - "kind": "TypeNominal", - "name": "Metatype", - "printedName": "DouShouQiModel.BoardResult.Type", - "children": [ - { - "kind": "TypeNominal", - "name": "BoardResult", - "printedName": "DouShouQiModel.BoardResult", - "usr": "s:14DouShouQiModel11BoardResultO" - } - ] - } - ] - } - ], - "declKind": "EnumElement", - "usr": "s:14DouShouQiModel11BoardResultO7unknownyA2CmF", - "mangledName": "$s14DouShouQiModel11BoardResultO7unknownyA2CmF", - "moduleName": "DouShouQiModel" - }, - { - "kind": "Var", - "name": "ok", - "printedName": "ok", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.BoardResult.Type) -> (DouShouQiModel.Piece?) -> DouShouQiModel.BoardResult", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.Piece?) -> DouShouQiModel.BoardResult", - "children": [ - { - "kind": "TypeNominal", - "name": "BoardResult", - "printedName": "DouShouQiModel.BoardResult", - "usr": "s:14DouShouQiModel11BoardResultO" - }, - { - "kind": "TypeNominal", - "name": "Tuple", - "printedName": "(piece: DouShouQiModel.Piece?)", - "children": [ - { - "kind": "TypeNominal", - "name": "Optional", - "printedName": "DouShouQiModel.Piece?", - "children": [ - { - "kind": "TypeNominal", - "name": "Piece", - "printedName": "DouShouQiModel.Piece", - "usr": "s:14DouShouQiModel5PieceV" - } - ], - "usr": "s:Sq" - } - ] - } - ] - }, - { - "kind": "TypeNominal", - "name": "Metatype", - "printedName": "DouShouQiModel.BoardResult.Type", - "children": [ - { - "kind": "TypeNominal", - "name": "BoardResult", - "printedName": "DouShouQiModel.BoardResult", - "usr": "s:14DouShouQiModel11BoardResultO" - } - ] - } - ] - } - ], - "declKind": "EnumElement", - "usr": "s:14DouShouQiModel11BoardResultO2okyAcA5PieceVSg_tcACmF", - "mangledName": "$s14DouShouQiModel11BoardResultO2okyAcA5PieceVSg_tcACmF", - "moduleName": "DouShouQiModel" - }, - { - "kind": "Var", - "name": "failed", - "printedName": "failed", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.BoardResult.Type) -> (DouShouQiModel.BoardFailingReason) -> DouShouQiModel.BoardResult", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.BoardFailingReason) -> DouShouQiModel.BoardResult", - "children": [ - { - "kind": "TypeNominal", - "name": "BoardResult", - "printedName": "DouShouQiModel.BoardResult", - "usr": "s:14DouShouQiModel11BoardResultO" - }, - { - "kind": "TypeNominal", - "name": "Tuple", - "printedName": "(reason: DouShouQiModel.BoardFailingReason)", - "children": [ - { - "kind": "TypeNominal", - "name": "BoardFailingReason", - "printedName": "DouShouQiModel.BoardFailingReason", - "usr": "s:14DouShouQiModel18BoardFailingReasonO" - } - ] - } - ] - }, - { - "kind": "TypeNominal", - "name": "Metatype", - "printedName": "DouShouQiModel.BoardResult.Type", - "children": [ - { - "kind": "TypeNominal", - "name": "BoardResult", - "printedName": "DouShouQiModel.BoardResult", - "usr": "s:14DouShouQiModel11BoardResultO" - } - ] - } - ] - } - ], - "declKind": "EnumElement", - "usr": "s:14DouShouQiModel11BoardResultO6failedyAcA0E13FailingReasonO_tcACmF", - "mangledName": "$s14DouShouQiModel11BoardResultO6failedyAcA0E13FailingReasonO_tcACmF", - "moduleName": "DouShouQiModel" - }, - { - "kind": "Function", - "name": "==", - "printedName": "==(_:_:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Bool", - "printedName": "Swift.Bool", - "usr": "s:Sb" - }, - { - "kind": "TypeNominal", - "name": "BoardResult", - "printedName": "DouShouQiModel.BoardResult", - "usr": "s:14DouShouQiModel11BoardResultO" - }, - { - "kind": "TypeNominal", - "name": "BoardResult", - "printedName": "DouShouQiModel.BoardResult", - "usr": "s:14DouShouQiModel11BoardResultO" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel11BoardResultO2eeoiySbAC_ACtFZ", - "mangledName": "$s14DouShouQiModel11BoardResultO2eeoiySbAC_ACtFZ", - "moduleName": "DouShouQiModel", - "static": true, - "implicit": true, - "funcSelfKind": "NonMutating" - } - ], - "declKind": "Enum", - "usr": "s:14DouShouQiModel11BoardResultO", - "mangledName": "$s14DouShouQiModel11BoardResultO", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "conformances": [ - { - "kind": "Conformance", - "name": "Equatable", - "printedName": "Equatable", - "usr": "s:SQ", - "mangledName": "$sSQ" - } - ] - }, - { - "kind": "TypeDecl", - "name": "BoardFailingReason", - "printedName": "BoardFailingReason", - "children": [ - { - "kind": "Var", - "name": "unknown", - "printedName": "unknown", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.BoardFailingReason.Type) -> DouShouQiModel.BoardFailingReason", - "children": [ - { - "kind": "TypeNominal", - "name": "BoardFailingReason", - "printedName": "DouShouQiModel.BoardFailingReason", - "usr": "s:14DouShouQiModel18BoardFailingReasonO" - }, - { - "kind": "TypeNominal", - "name": "Metatype", - "printedName": "DouShouQiModel.BoardFailingReason.Type", - "children": [ - { - "kind": "TypeNominal", - "name": "BoardFailingReason", - "printedName": "DouShouQiModel.BoardFailingReason", - "usr": "s:14DouShouQiModel18BoardFailingReasonO" - } - ] - } - ] - } - ], - "declKind": "EnumElement", - "usr": "s:14DouShouQiModel18BoardFailingReasonO7unknownyA2CmF", - "mangledName": "$s14DouShouQiModel18BoardFailingReasonO7unknownyA2CmF", - "moduleName": "DouShouQiModel" - }, - { - "kind": "Var", - "name": "outOfBounds", - "printedName": "outOfBounds", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.BoardFailingReason.Type) -> DouShouQiModel.BoardFailingReason", - "children": [ - { - "kind": "TypeNominal", - "name": "BoardFailingReason", - "printedName": "DouShouQiModel.BoardFailingReason", - "usr": "s:14DouShouQiModel18BoardFailingReasonO" - }, - { - "kind": "TypeNominal", - "name": "Metatype", - "printedName": "DouShouQiModel.BoardFailingReason.Type", - "children": [ - { - "kind": "TypeNominal", - "name": "BoardFailingReason", - "printedName": "DouShouQiModel.BoardFailingReason", - "usr": "s:14DouShouQiModel18BoardFailingReasonO" - } - ] - } - ] - } - ], - "declKind": "EnumElement", - "usr": "s:14DouShouQiModel18BoardFailingReasonO11outOfBoundsyA2CmF", - "mangledName": "$s14DouShouQiModel18BoardFailingReasonO11outOfBoundsyA2CmF", - "moduleName": "DouShouQiModel" - }, - { - "kind": "Var", - "name": "cellNotEmpty", - "printedName": "cellNotEmpty", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.BoardFailingReason.Type) -> DouShouQiModel.BoardFailingReason", - "children": [ - { - "kind": "TypeNominal", - "name": "BoardFailingReason", - "printedName": "DouShouQiModel.BoardFailingReason", - "usr": "s:14DouShouQiModel18BoardFailingReasonO" - }, - { - "kind": "TypeNominal", - "name": "Metatype", - "printedName": "DouShouQiModel.BoardFailingReason.Type", - "children": [ - { - "kind": "TypeNominal", - "name": "BoardFailingReason", - "printedName": "DouShouQiModel.BoardFailingReason", - "usr": "s:14DouShouQiModel18BoardFailingReasonO" - } - ] - } - ] - } - ], - "declKind": "EnumElement", - "usr": "s:14DouShouQiModel18BoardFailingReasonO12cellNotEmptyyA2CmF", - "mangledName": "$s14DouShouQiModel18BoardFailingReasonO12cellNotEmptyyA2CmF", - "moduleName": "DouShouQiModel" - }, - { - "kind": "Var", - "name": "cellEmpty", - "printedName": "cellEmpty", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.BoardFailingReason.Type) -> DouShouQiModel.BoardFailingReason", - "children": [ - { - "kind": "TypeNominal", - "name": "BoardFailingReason", - "printedName": "DouShouQiModel.BoardFailingReason", - "usr": "s:14DouShouQiModel18BoardFailingReasonO" - }, - { - "kind": "TypeNominal", - "name": "Metatype", - "printedName": "DouShouQiModel.BoardFailingReason.Type", - "children": [ - { - "kind": "TypeNominal", - "name": "BoardFailingReason", - "printedName": "DouShouQiModel.BoardFailingReason", - "usr": "s:14DouShouQiModel18BoardFailingReasonO" - } - ] - } - ] - } - ], - "declKind": "EnumElement", - "usr": "s:14DouShouQiModel18BoardFailingReasonO9cellEmptyyA2CmF", - "mangledName": "$s14DouShouQiModel18BoardFailingReasonO9cellEmptyyA2CmF", - "moduleName": "DouShouQiModel" - }, - { - "kind": "Function", - "name": "==", - "printedName": "==(_:_:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Bool", - "printedName": "Swift.Bool", - "usr": "s:Sb" - }, - { - "kind": "TypeNominal", - "name": "BoardFailingReason", - "printedName": "DouShouQiModel.BoardFailingReason", - "usr": "s:14DouShouQiModel18BoardFailingReasonO" - }, - { - "kind": "TypeNominal", - "name": "BoardFailingReason", - "printedName": "DouShouQiModel.BoardFailingReason", - "usr": "s:14DouShouQiModel18BoardFailingReasonO" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel18BoardFailingReasonO2eeoiySbAC_ACtFZ", - "mangledName": "$s14DouShouQiModel18BoardFailingReasonO2eeoiySbAC_ACtFZ", - "moduleName": "DouShouQiModel", - "static": true, - "implicit": true, - "funcSelfKind": "NonMutating" - }, - { - "kind": "Var", - "name": "hashValue", - "printedName": "hashValue", - "children": [ - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ], - "declKind": "Var", - "usr": "s:14DouShouQiModel18BoardFailingReasonO9hashValueSivp", - "mangledName": "$s14DouShouQiModel18BoardFailingReasonO9hashValueSivp", - "moduleName": "DouShouQiModel", - "implicit": true, - "accessors": [ - { - "kind": "Accessor", - "name": "Get", - "printedName": "Get()", - "children": [ - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ], - "declKind": "Accessor", - "usr": "s:14DouShouQiModel18BoardFailingReasonO9hashValueSivg", - "mangledName": "$s14DouShouQiModel18BoardFailingReasonO9hashValueSivg", - "moduleName": "DouShouQiModel", - "implicit": true, - "accessorKind": "get" - } - ] - }, - { - "kind": "Function", - "name": "hash", - "printedName": "hash(into:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - }, - { - "kind": "TypeNominal", - "name": "Hasher", - "printedName": "Swift.Hasher", - "paramValueOwnership": "InOut", - "usr": "s:s6HasherV" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel18BoardFailingReasonO4hash4intoys6HasherVz_tF", - "mangledName": "$s14DouShouQiModel18BoardFailingReasonO4hash4intoys6HasherVz_tF", - "moduleName": "DouShouQiModel", - "implicit": true, - "funcSelfKind": "NonMutating" - } - ], - "declKind": "Enum", - "usr": "s:14DouShouQiModel18BoardFailingReasonO", - "mangledName": "$s14DouShouQiModel18BoardFailingReasonO", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "conformances": [ - { - "kind": "Conformance", - "name": "Equatable", - "printedName": "Equatable", - "usr": "s:SQ", - "mangledName": "$sSQ" - }, - { - "kind": "Conformance", - "name": "Hashable", - "printedName": "Hashable", - "usr": "s:SH", - "mangledName": "$sSH" - } - ] - }, - { - "kind": "Import", - "name": "Foundation", - "printedName": "Foundation", - "declKind": "Import", - "moduleName": "DouShouQiModel" - }, - { - "kind": "TypeDecl", - "name": "HumanPlayer", - "printedName": "HumanPlayer", - "children": [ - { - "kind": "Constructor", - "name": "init", - "printedName": "init(withName:andId:andInputMethod:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Optional", - "printedName": "DouShouQiModel.HumanPlayer?", - "children": [ - { - "kind": "TypeNominal", - "name": "HumanPlayer", - "printedName": "DouShouQiModel.HumanPlayer", - "usr": "s:14DouShouQiModel11HumanPlayerC" - } - ], - "usr": "s:Sq" - }, - { - "kind": "TypeNominal", - "name": "String", - "printedName": "Swift.String", - "usr": "s:SS" - }, - { - "kind": "TypeNominal", - "name": "Owner", - "printedName": "DouShouQiModel.Owner", - "usr": "s:14DouShouQiModel5OwnerO" - }, - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.HumanPlayer) -> DouShouQiModel.Move?", - "children": [ - { - "kind": "TypeNominal", - "name": "Optional", - "printedName": "DouShouQiModel.Move?", - "children": [ - { - "kind": "TypeNominal", - "name": "Move", - "printedName": "DouShouQiModel.Move", - "usr": "s:14DouShouQiModel4MoveV" - } - ], - "usr": "s:Sq" - }, - { - "kind": "TypeNominal", - "name": "HumanPlayer", - "printedName": "DouShouQiModel.HumanPlayer", - "usr": "s:14DouShouQiModel11HumanPlayerC" - } - ] - } - ], - "declKind": "Constructor", - "usr": "s:14DouShouQiModel11HumanPlayerC8withName5andId0I11InputMethodACSgSS_AA5OwnerOAA4MoveVSgACctcfc", - "mangledName": "$s14DouShouQiModel11HumanPlayerC8withName5andId0I11InputMethodACSgSS_AA5OwnerOAA4MoveVSgACctcfc", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "init_kind": "Designated" - }, - { - "kind": "Constructor", - "name": "init", - "printedName": "init(withName:andId:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Optional", - "printedName": "DouShouQiModel.HumanPlayer?", - "children": [ - { - "kind": "TypeNominal", - "name": "HumanPlayer", - "printedName": "DouShouQiModel.HumanPlayer", - "usr": "s:14DouShouQiModel11HumanPlayerC" - } - ], - "usr": "s:Sq" - }, - { - "kind": "TypeNominal", - "name": "String", - "printedName": "Swift.String", - "usr": "s:SS" - }, - { - "kind": "TypeNominal", - "name": "Owner", - "printedName": "DouShouQiModel.Owner", - "usr": "s:14DouShouQiModel5OwnerO" - } - ], - "declKind": "Constructor", - "usr": "s:14DouShouQiModel11HumanPlayerC8withName5andIdACSgSS_AA5OwnerOtcfc", - "mangledName": "$s14DouShouQiModel11HumanPlayerC8withName5andIdACSgSS_AA5OwnerOtcfc", - "moduleName": "DouShouQiModel", - "overriding": true, - "declAttributes": [ - "Override", - "AccessControl" - ], - "init_kind": "Designated" - }, - { - "kind": "Function", - "name": "chooseMove", - "printedName": "chooseMove(in:with:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - }, - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - }, - { - "kind": "TypeNominal", - "name": "Rules", - "printedName": "DouShouQiModel.Rules", - "usr": "s:14DouShouQiModel5RulesP" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel11HumanPlayerC10chooseMove2in4withyAA5BoardV_AA5Rules_ptYaKF", - "mangledName": "$s14DouShouQiModel11HumanPlayerC10chooseMove2in4withyAA5BoardV_AA5Rules_ptYaKF", - "moduleName": "DouShouQiModel", - "overriding": true, - "declAttributes": [ - "Override", - "AccessControl" - ], - "throwing": true, - "funcSelfKind": "NonMutating" - }, - { - "kind": "Function", - "name": "changeInput", - "printedName": "changeInput(input:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - }, - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.HumanPlayer) -> DouShouQiModel.Move?", - "children": [ - { - "kind": "TypeNominal", - "name": "Optional", - "printedName": "DouShouQiModel.Move?", - "children": [ - { - "kind": "TypeNominal", - "name": "Move", - "printedName": "DouShouQiModel.Move", - "usr": "s:14DouShouQiModel4MoveV" - } - ], - "usr": "s:Sq" - }, - { - "kind": "TypeNominal", - "name": "HumanPlayer", - "printedName": "DouShouQiModel.HumanPlayer", - "usr": "s:14DouShouQiModel11HumanPlayerC" - } - ] - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel11HumanPlayerC11changeInput5inputyAA4MoveVSgACc_tF", - "mangledName": "$s14DouShouQiModel11HumanPlayerC11changeInput5inputyAA4MoveVSgACc_tF", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "funcSelfKind": "NonMutating" - }, - { - "kind": "Function", - "name": "chooseMove", - "printedName": "chooseMove(_:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - }, - { - "kind": "TypeNominal", - "name": "Optional", - "printedName": "DouShouQiModel.Move?", - "children": [ - { - "kind": "TypeNominal", - "name": "Move", - "printedName": "DouShouQiModel.Move", - "usr": "s:14DouShouQiModel4MoveV" - } - ], - "usr": "s:Sq" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel11HumanPlayerC10chooseMoveyyAA0H0VSgYaKF", - "mangledName": "$s14DouShouQiModel11HumanPlayerC10chooseMoveyyAA0H0VSgYaKF", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "throwing": true, - "funcSelfKind": "NonMutating" - } - ], - "declKind": "Class", - "usr": "s:14DouShouQiModel11HumanPlayerC", - "mangledName": "$s14DouShouQiModel11HumanPlayerC", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "superclassUsr": "s:14DouShouQiModel6PlayerC", - "inheritsConvenienceInitializers": true, - "superclassNames": [ - "DouShouQiModel.Player" - ] - }, - { - "kind": "Import", - "name": "Foundation", - "printedName": "Foundation", - "declKind": "Import", - "moduleName": "DouShouQiModel" - }, - { - "kind": "TypeDecl", - "name": "ClassicRules", - "printedName": "ClassicRules", - "children": [ - { - "kind": "Function", - "name": "createBoard", - "printedName": "createBoard()", - "children": [ - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel12ClassicRulesV11createBoardAA0H0VyFZ", - "mangledName": "$s14DouShouQiModel12ClassicRulesV11createBoardAA0H0VyFZ", - "moduleName": "DouShouQiModel", - "static": true, - "declAttributes": [ - "AccessControl" - ], - "funcSelfKind": "NonMutating" - }, - { - "kind": "Function", - "name": "checkBoard", - "printedName": "checkBoard(_:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - }, - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel12ClassicRulesV10checkBoardyyAA0H0VKFZ", - "mangledName": "$s14DouShouQiModel12ClassicRulesV10checkBoardyyAA0H0VKFZ", - "moduleName": "DouShouQiModel", - "static": true, - "declAttributes": [ - "AccessControl" - ], - "throwing": true, - "funcSelfKind": "NonMutating" - }, - { - "kind": "Constructor", - "name": "init", - "printedName": "init()", - "children": [ - { - "kind": "TypeNominal", - "name": "ClassicRules", - "printedName": "DouShouQiModel.ClassicRules", - "usr": "s:14DouShouQiModel12ClassicRulesV" - } - ], - "declKind": "Constructor", - "usr": "s:14DouShouQiModel12ClassicRulesVACycfc", - "mangledName": "$s14DouShouQiModel12ClassicRulesVACycfc", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "init_kind": "Designated" - }, - { - "kind": "Constructor", - "name": "init", - "printedName": "init(occurences:historic:)", - "children": [ - { - "kind": "TypeNominal", - "name": "ClassicRules", - "printedName": "DouShouQiModel.ClassicRules", - "usr": "s:14DouShouQiModel12ClassicRulesV" - }, - { - "kind": "TypeNominal", - "name": "Dictionary", - "printedName": "[DouShouQiModel.Board : Swift.Int]", - "children": [ - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ], - "usr": "s:SD" - }, - { - "kind": "TypeNominal", - "name": "Array", - "printedName": "[DouShouQiModel.Move]", - "children": [ - { - "kind": "TypeNominal", - "name": "Move", - "printedName": "DouShouQiModel.Move", - "usr": "s:14DouShouQiModel4MoveV" - } - ], - "usr": "s:Sa" - } - ], - "declKind": "Constructor", - "usr": "s:14DouShouQiModel12ClassicRulesV10occurences8historicACSDyAA5BoardVSiG_SayAA4MoveVGtcfc", - "mangledName": "$s14DouShouQiModel12ClassicRulesV10occurences8historicACSDyAA5BoardVSiG_SayAA4MoveVGtcfc", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "init_kind": "Designated" - }, - { - "kind": "Function", - "name": "getMoves", - "printedName": "getMoves(in:of:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Array", - "printedName": "[DouShouQiModel.Move]", - "children": [ - { - "kind": "TypeNominal", - "name": "Move", - "printedName": "DouShouQiModel.Move", - "usr": "s:14DouShouQiModel4MoveV" - } - ], - "usr": "s:Sa" - }, - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - }, - { - "kind": "TypeNominal", - "name": "Owner", - "printedName": "DouShouQiModel.Owner", - "usr": "s:14DouShouQiModel5OwnerO" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel12ClassicRulesV8getMoves2in2ofSayAA4MoveVGAA5BoardV_AA5OwnerOtF", - "mangledName": "$s14DouShouQiModel12ClassicRulesV8getMoves2in2ofSayAA4MoveVGAA5BoardV_AA5OwnerOtF", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "funcSelfKind": "NonMutating" - }, - { - "kind": "Function", - "name": "getMoves", - "printedName": "getMoves(in:of:fromRow:andColumn:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Array", - "printedName": "[DouShouQiModel.Move]", - "children": [ - { - "kind": "TypeNominal", - "name": "Move", - "printedName": "DouShouQiModel.Move", - "usr": "s:14DouShouQiModel4MoveV" - } - ], - "usr": "s:Sa" - }, - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - }, - { - "kind": "TypeNominal", - "name": "Owner", - "printedName": "DouShouQiModel.Owner", - "usr": "s:14DouShouQiModel5OwnerO" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel12ClassicRulesV8getMoves2in2of7fromRow9andColumnSayAA4MoveVGAA5BoardV_AA5OwnerOS2itF", - "mangledName": "$s14DouShouQiModel12ClassicRulesV8getMoves2in2of7fromRow9andColumnSayAA4MoveVGAA5BoardV_AA5OwnerOS2itF", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "funcSelfKind": "NonMutating" - }, - { - "kind": "Function", - "name": "isMoveValid", - "printedName": "isMoveValid(onBoard:fromRow:andFromColumn:toRow:andToColumn:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Bool", - "printedName": "Swift.Bool", - "usr": "s:Sb" - }, - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel12ClassicRulesV11isMoveValid7onBoard7fromRow13andFromColumn02toM00n2ToP0SbAA0K0V_S4itF", - "mangledName": "$s14DouShouQiModel12ClassicRulesV11isMoveValid7onBoard7fromRow13andFromColumn02toM00n2ToP0SbAA0K0V_S4itF", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "funcSelfKind": "NonMutating" - }, - { - "kind": "Function", - "name": "isMoveValid", - "printedName": "isMoveValid(onBoard:withMove:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Bool", - "printedName": "Swift.Bool", - "usr": "s:Sb" - }, - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - }, - { - "kind": "TypeNominal", - "name": "Move", - "printedName": "DouShouQiModel.Move", - "usr": "s:14DouShouQiModel4MoveV" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel12ClassicRulesV11isMoveValid7onBoard04withH0SbAA0K0V_AA0H0VtF", - "mangledName": "$s14DouShouQiModel12ClassicRulesV11isMoveValid7onBoard04withH0SbAA0K0V_AA0H0VtF", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "funcSelfKind": "NonMutating" - }, - { - "kind": "Function", - "name": "isGameOver", - "printedName": "isGameOver(withBoard:andLastRowPlayed:andLastColumnPlayer:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Tuple", - "printedName": "(Swift.Bool, DouShouQiModel.Result)", - "children": [ - { - "kind": "TypeNominal", - "name": "Bool", - "printedName": "Swift.Bool", - "usr": "s:Sb" - }, - { - "kind": "TypeNominal", - "name": "Result", - "printedName": "DouShouQiModel.Result", - "usr": "s:14DouShouQiModel6ResultO" - } - ] - }, - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel12ClassicRulesV10isGameOver9withBoard16andLastRowPlayed0lM12ColumnPlayerSb_AA6ResultOtAA0K0V_S2itF", - "mangledName": "$s14DouShouQiModel12ClassicRulesV10isGameOver9withBoard16andLastRowPlayed0lM12ColumnPlayerSb_AA6ResultOtAA0K0V_S2itF", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "funcSelfKind": "NonMutating" - }, - { - "kind": "Function", - "name": "playedMove", - "printedName": "playedMove(_:onStartingBoard:andResultingBoard:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - }, - { - "kind": "TypeNominal", - "name": "Move", - "printedName": "DouShouQiModel.Move", - "usr": "s:14DouShouQiModel4MoveV" - }, - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - }, - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel12ClassicRulesV10playedMove_15onStartingBoard012andResultingK0yAA0H0V_AA0K0VAJtKF", - "mangledName": "$s14DouShouQiModel12ClassicRulesV10playedMove_15onStartingBoard012andResultingK0yAA0H0V_AA0K0VAJtKF", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "Mutating", - "AccessControl" - ], - "throwing": true, - "funcSelfKind": "Mutating" - }, - { - "kind": "Function", - "name": "getNextPlayer", - "printedName": "getNextPlayer()", - "children": [ - { - "kind": "TypeNominal", - "name": "Owner", - "printedName": "DouShouQiModel.Owner", - "usr": "s:14DouShouQiModel5OwnerO" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel12ClassicRulesV13getNextPlayerAA5OwnerOyF", - "mangledName": "$s14DouShouQiModel12ClassicRulesV13getNextPlayerAA5OwnerOyF", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "funcSelfKind": "NonMutating" - }, - { - "kind": "Var", - "name": "occurences", - "printedName": "occurences", - "children": [ - { - "kind": "TypeNominal", - "name": "Dictionary", - "printedName": "[DouShouQiModel.Board : Swift.Int]", - "children": [ - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ], - "usr": "s:SD" - } - ], - "declKind": "Var", - "usr": "s:14DouShouQiModel12ClassicRulesV10occurencesSDyAA5BoardVSiGvp", - "mangledName": "$s14DouShouQiModel12ClassicRulesV10occurencesSDyAA5BoardVSiGvp", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "HasInitialValue", - "HasStorage", - "SetterAccess", - "AccessControl" - ], - "hasStorage": true, - "accessors": [ - { - "kind": "Accessor", - "name": "Get", - "printedName": "Get()", - "children": [ - { - "kind": "TypeNominal", - "name": "Dictionary", - "printedName": "[DouShouQiModel.Board : Swift.Int]", - "children": [ - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ], - "usr": "s:SD" - } - ], - "declKind": "Accessor", - "usr": "s:14DouShouQiModel12ClassicRulesV10occurencesSDyAA5BoardVSiGvg", - "mangledName": "$s14DouShouQiModel12ClassicRulesV10occurencesSDyAA5BoardVSiGvg", - "moduleName": "DouShouQiModel", - "implicit": true, - "accessorKind": "get" - } - ] - }, - { - "kind": "Var", - "name": "historic", - "printedName": "historic", - "children": [ - { - "kind": "TypeNominal", - "name": "Array", - "printedName": "[DouShouQiModel.Move]", - "children": [ - { - "kind": "TypeNominal", - "name": "Move", - "printedName": "DouShouQiModel.Move", - "usr": "s:14DouShouQiModel4MoveV" - } - ], - "usr": "s:Sa" - } - ], - "declKind": "Var", - "usr": "s:14DouShouQiModel12ClassicRulesV8historicSayAA4MoveVGvp", - "mangledName": "$s14DouShouQiModel12ClassicRulesV8historicSayAA4MoveVGvp", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "HasInitialValue", - "HasStorage", - "SetterAccess", - "AccessControl" - ], - "hasStorage": true, - "accessors": [ - { - "kind": "Accessor", - "name": "Get", - "printedName": "Get()", - "children": [ - { - "kind": "TypeNominal", - "name": "Array", - "printedName": "[DouShouQiModel.Move]", - "children": [ - { - "kind": "TypeNominal", - "name": "Move", - "printedName": "DouShouQiModel.Move", - "usr": "s:14DouShouQiModel4MoveV" - } - ], - "usr": "s:Sa" - } - ], - "declKind": "Accessor", - "usr": "s:14DouShouQiModel12ClassicRulesV8historicSayAA4MoveVGvg", - "mangledName": "$s14DouShouQiModel12ClassicRulesV8historicSayAA4MoveVGvg", - "moduleName": "DouShouQiModel", - "implicit": true, - "accessorKind": "get" - } - ] - } - ], - "declKind": "Struct", - "usr": "s:14DouShouQiModel12ClassicRulesV", - "mangledName": "$s14DouShouQiModel12ClassicRulesV", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "conformances": [ - { - "kind": "Conformance", - "name": "Rules", - "printedName": "Rules", - "usr": "s:14DouShouQiModel5RulesP", - "mangledName": "$s14DouShouQiModel5RulesP" - } - ] - }, - { - "kind": "Import", - "name": "Foundation", - "printedName": "Foundation", - "declKind": "Import", - "moduleName": "DouShouQiModel" - }, - { - "kind": "TypeDecl", - "name": "Cell", - "printedName": "Cell", - "children": [ - { - "kind": "Var", - "name": "description", - "printedName": "description", - "children": [ - { - "kind": "TypeNominal", - "name": "String", - "printedName": "Swift.String", - "usr": "s:SS" - } - ], - "declKind": "Var", - "usr": "s:14DouShouQiModel4CellV11descriptionSSvp", - "mangledName": "$s14DouShouQiModel4CellV11descriptionSSvp", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "accessors": [ - { - "kind": "Accessor", - "name": "Get", - "printedName": "Get()", - "children": [ - { - "kind": "TypeNominal", - "name": "String", - "printedName": "Swift.String", - "usr": "s:SS" - } - ], - "declKind": "Accessor", - "usr": "s:14DouShouQiModel4CellV11descriptionSSvg", - "mangledName": "$s14DouShouQiModel4CellV11descriptionSSvg", - "moduleName": "DouShouQiModel", - "accessorKind": "get" - } - ] - }, - { - "kind": "Var", - "name": "cellType", - "printedName": "cellType", - "children": [ - { - "kind": "TypeNominal", - "name": "CellType", - "printedName": "DouShouQiModel.CellType", - "usr": "s:14DouShouQiModel8CellTypeO" - } - ], - "declKind": "Var", - "usr": "s:14DouShouQiModel4CellV8cellTypeAA0eG0Ovp", - "mangledName": "$s14DouShouQiModel4CellV8cellTypeAA0eG0Ovp", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "HasStorage", - "AccessControl" - ], - "isLet": true, - "hasStorage": true, - "accessors": [ - { - "kind": "Accessor", - "name": "Get", - "printedName": "Get()", - "children": [ - { - "kind": "TypeNominal", - "name": "CellType", - "printedName": "DouShouQiModel.CellType", - "usr": "s:14DouShouQiModel8CellTypeO" - } - ], - "declKind": "Accessor", - "usr": "s:14DouShouQiModel4CellV8cellTypeAA0eG0Ovg", - "mangledName": "$s14DouShouQiModel4CellV8cellTypeAA0eG0Ovg", - "moduleName": "DouShouQiModel", - "implicit": true, - "accessorKind": "get" - } - ] - }, - { - "kind": "Var", - "name": "initialOwner", - "printedName": "initialOwner", - "children": [ - { - "kind": "TypeNominal", - "name": "Owner", - "printedName": "DouShouQiModel.Owner", - "usr": "s:14DouShouQiModel5OwnerO" - } - ], - "declKind": "Var", - "usr": "s:14DouShouQiModel4CellV12initialOwnerAA0G0Ovp", - "mangledName": "$s14DouShouQiModel4CellV12initialOwnerAA0G0Ovp", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "HasStorage", - "AccessControl" - ], - "isLet": true, - "hasStorage": true, - "accessors": [ - { - "kind": "Accessor", - "name": "Get", - "printedName": "Get()", - "children": [ - { - "kind": "TypeNominal", - "name": "Owner", - "printedName": "DouShouQiModel.Owner", - "usr": "s:14DouShouQiModel5OwnerO" - } - ], - "declKind": "Accessor", - "usr": "s:14DouShouQiModel4CellV12initialOwnerAA0G0Ovg", - "mangledName": "$s14DouShouQiModel4CellV12initialOwnerAA0G0Ovg", - "moduleName": "DouShouQiModel", - "implicit": true, - "accessorKind": "get" - } - ] - }, - { - "kind": "Var", - "name": "piece", - "printedName": "piece", - "children": [ - { - "kind": "TypeNominal", - "name": "Optional", - "printedName": "DouShouQiModel.Piece?", - "children": [ - { - "kind": "TypeNominal", - "name": "Piece", - "printedName": "DouShouQiModel.Piece", - "usr": "s:14DouShouQiModel5PieceV" - } - ], - "usr": "s:Sq" - } - ], - "declKind": "Var", - "usr": "s:14DouShouQiModel4CellV5pieceAA5PieceVSgvp", - "mangledName": "$s14DouShouQiModel4CellV5pieceAA5PieceVSgvp", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "HasInitialValue", - "HasStorage", - "AccessControl" - ], - "hasStorage": true, - "accessors": [ - { - "kind": "Accessor", - "name": "Get", - "printedName": "Get()", - "children": [ - { - "kind": "TypeNominal", - "name": "Optional", - "printedName": "DouShouQiModel.Piece?", - "children": [ - { - "kind": "TypeNominal", - "name": "Piece", - "printedName": "DouShouQiModel.Piece", - "usr": "s:14DouShouQiModel5PieceV" - } - ], - "usr": "s:Sq" - } - ], - "declKind": "Accessor", - "usr": "s:14DouShouQiModel4CellV5pieceAA5PieceVSgvg", - "mangledName": "$s14DouShouQiModel4CellV5pieceAA5PieceVSgvg", - "moduleName": "DouShouQiModel", - "implicit": true, - "accessorKind": "get" - }, - { - "kind": "Accessor", - "name": "Set", - "printedName": "Set()", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - }, - { - "kind": "TypeNominal", - "name": "Optional", - "printedName": "DouShouQiModel.Piece?", - "children": [ - { - "kind": "TypeNominal", - "name": "Piece", - "printedName": "DouShouQiModel.Piece", - "usr": "s:14DouShouQiModel5PieceV" - } - ], - "usr": "s:Sq" - } - ], - "declKind": "Accessor", - "usr": "s:14DouShouQiModel4CellV5pieceAA5PieceVSgvs", - "mangledName": "$s14DouShouQiModel4CellV5pieceAA5PieceVSgvs", - "moduleName": "DouShouQiModel", - "implicit": true, - "accessorKind": "set" - }, - { - "kind": "Accessor", - "name": "Modify", - "printedName": "Modify()", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - } - ], - "declKind": "Accessor", - "usr": "s:14DouShouQiModel4CellV5pieceAA5PieceVSgvM", - "mangledName": "$s14DouShouQiModel4CellV5pieceAA5PieceVSgvM", - "moduleName": "DouShouQiModel", - "implicit": true, - "accessorKind": "_modify" - } - ] - }, - { - "kind": "Constructor", - "name": "init", - "printedName": "init(ofType:ownedBy:withPiece:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Cell", - "printedName": "DouShouQiModel.Cell", - "usr": "s:14DouShouQiModel4CellV" - }, - { - "kind": "TypeNominal", - "name": "CellType", - "printedName": "DouShouQiModel.CellType", - "usr": "s:14DouShouQiModel8CellTypeO" - }, - { - "kind": "TypeNominal", - "name": "Owner", - "printedName": "DouShouQiModel.Owner", - "hasDefaultArg": true, - "usr": "s:14DouShouQiModel5OwnerO" - }, - { - "kind": "TypeNominal", - "name": "Optional", - "printedName": "DouShouQiModel.Piece?", - "children": [ - { - "kind": "TypeNominal", - "name": "Piece", - "printedName": "DouShouQiModel.Piece", - "usr": "s:14DouShouQiModel5PieceV" - } - ], - "hasDefaultArg": true, - "usr": "s:Sq" - } - ], - "declKind": "Constructor", - "usr": "s:14DouShouQiModel4CellV6ofType7ownedBy9withPieceAcA0eG0O_AA5OwnerOAA0K0VSgtcfc", - "mangledName": "$s14DouShouQiModel4CellV6ofType7ownedBy9withPieceAcA0eG0O_AA5OwnerOAA0K0VSgtcfc", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "init_kind": "Designated" - }, - { - "kind": "Function", - "name": "==", - "printedName": "==(_:_:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Bool", - "printedName": "Swift.Bool", - "usr": "s:Sb" - }, - { - "kind": "TypeNominal", - "name": "Cell", - "printedName": "DouShouQiModel.Cell", - "usr": "s:14DouShouQiModel4CellV" - }, - { - "kind": "TypeNominal", - "name": "Cell", - "printedName": "DouShouQiModel.Cell", - "usr": "s:14DouShouQiModel4CellV" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel4CellV2eeoiySbAC_ACtFZ", - "mangledName": "$s14DouShouQiModel4CellV2eeoiySbAC_ACtFZ", - "moduleName": "DouShouQiModel", - "static": true, - "implicit": true, - "funcSelfKind": "NonMutating" - } - ], - "declKind": "Struct", - "usr": "s:14DouShouQiModel4CellV", - "mangledName": "$s14DouShouQiModel4CellV", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "conformances": [ - { - "kind": "Conformance", - "name": "CustomStringConvertible", - "printedName": "CustomStringConvertible", - "usr": "s:s23CustomStringConvertibleP", - "mangledName": "$ss23CustomStringConvertibleP" - }, - { - "kind": "Conformance", - "name": "Equatable", - "printedName": "Equatable", - "usr": "s:SQ", - "mangledName": "$sSQ" - } - ] - }, - { - "kind": "Import", - "name": "Foundation", - "printedName": "Foundation", - "declKind": "Import", - "moduleName": "DouShouQiModel" - }, - { - "kind": "TypeDecl", - "name": "VerySimpleRules", - "printedName": "VerySimpleRules", - "children": [ - { - "kind": "Function", - "name": "createBoard", - "printedName": "createBoard()", - "children": [ - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel15VerySimpleRulesV11createBoardAA0I0VyFZ", - "mangledName": "$s14DouShouQiModel15VerySimpleRulesV11createBoardAA0I0VyFZ", - "moduleName": "DouShouQiModel", - "static": true, - "declAttributes": [ - "AccessControl" - ], - "funcSelfKind": "NonMutating" - }, - { - "kind": "Function", - "name": "checkBoard", - "printedName": "checkBoard(_:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - }, - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel15VerySimpleRulesV10checkBoardyyAA0I0VKFZ", - "mangledName": "$s14DouShouQiModel15VerySimpleRulesV10checkBoardyyAA0I0VKFZ", - "moduleName": "DouShouQiModel", - "static": true, - "declAttributes": [ - "AccessControl" - ], - "throwing": true, - "funcSelfKind": "NonMutating" - }, - { - "kind": "Constructor", - "name": "init", - "printedName": "init()", - "children": [ - { - "kind": "TypeNominal", - "name": "VerySimpleRules", - "printedName": "DouShouQiModel.VerySimpleRules", - "usr": "s:14DouShouQiModel15VerySimpleRulesV" - } - ], - "declKind": "Constructor", - "usr": "s:14DouShouQiModel15VerySimpleRulesVACycfc", - "mangledName": "$s14DouShouQiModel15VerySimpleRulesVACycfc", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "init_kind": "Designated" - }, - { - "kind": "Constructor", - "name": "init", - "printedName": "init(occurences:historic:)", - "children": [ - { - "kind": "TypeNominal", - "name": "VerySimpleRules", - "printedName": "DouShouQiModel.VerySimpleRules", - "usr": "s:14DouShouQiModel15VerySimpleRulesV" - }, - { - "kind": "TypeNominal", - "name": "Dictionary", - "printedName": "[DouShouQiModel.Board : Swift.Int]", - "children": [ - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ], - "usr": "s:SD" - }, - { - "kind": "TypeNominal", - "name": "Array", - "printedName": "[DouShouQiModel.Move]", - "children": [ - { - "kind": "TypeNominal", - "name": "Move", - "printedName": "DouShouQiModel.Move", - "usr": "s:14DouShouQiModel4MoveV" - } - ], - "usr": "s:Sa" - } - ], - "declKind": "Constructor", - "usr": "s:14DouShouQiModel15VerySimpleRulesV10occurences8historicACSDyAA5BoardVSiG_SayAA4MoveVGtcfc", - "mangledName": "$s14DouShouQiModel15VerySimpleRulesV10occurences8historicACSDyAA5BoardVSiG_SayAA4MoveVGtcfc", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "init_kind": "Designated" - }, - { - "kind": "Function", - "name": "getMoves", - "printedName": "getMoves(in:of:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Array", - "printedName": "[DouShouQiModel.Move]", - "children": [ - { - "kind": "TypeNominal", - "name": "Move", - "printedName": "DouShouQiModel.Move", - "usr": "s:14DouShouQiModel4MoveV" - } - ], - "usr": "s:Sa" - }, - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - }, - { - "kind": "TypeNominal", - "name": "Owner", - "printedName": "DouShouQiModel.Owner", - "usr": "s:14DouShouQiModel5OwnerO" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel15VerySimpleRulesV8getMoves2in2ofSayAA4MoveVGAA5BoardV_AA5OwnerOtF", - "mangledName": "$s14DouShouQiModel15VerySimpleRulesV8getMoves2in2ofSayAA4MoveVGAA5BoardV_AA5OwnerOtF", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "funcSelfKind": "NonMutating" - }, - { - "kind": "Function", - "name": "getMoves", - "printedName": "getMoves(in:of:fromRow:andColumn:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Array", - "printedName": "[DouShouQiModel.Move]", - "children": [ - { - "kind": "TypeNominal", - "name": "Move", - "printedName": "DouShouQiModel.Move", - "usr": "s:14DouShouQiModel4MoveV" - } - ], - "usr": "s:Sa" - }, - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - }, - { - "kind": "TypeNominal", - "name": "Owner", - "printedName": "DouShouQiModel.Owner", - "usr": "s:14DouShouQiModel5OwnerO" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel15VerySimpleRulesV8getMoves2in2of7fromRow9andColumnSayAA4MoveVGAA5BoardV_AA5OwnerOS2itF", - "mangledName": "$s14DouShouQiModel15VerySimpleRulesV8getMoves2in2of7fromRow9andColumnSayAA4MoveVGAA5BoardV_AA5OwnerOS2itF", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "funcSelfKind": "NonMutating" - }, - { - "kind": "Function", - "name": "isMoveValid", - "printedName": "isMoveValid(onBoard:fromRow:andFromColumn:toRow:andToColumn:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Bool", - "printedName": "Swift.Bool", - "usr": "s:Sb" - }, - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel15VerySimpleRulesV11isMoveValid7onBoard7fromRow13andFromColumn02toN00o2ToQ0SbAA0L0V_S4itF", - "mangledName": "$s14DouShouQiModel15VerySimpleRulesV11isMoveValid7onBoard7fromRow13andFromColumn02toN00o2ToQ0SbAA0L0V_S4itF", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "funcSelfKind": "NonMutating" - }, - { - "kind": "Function", - "name": "isMoveValid", - "printedName": "isMoveValid(onBoard:withMove:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Bool", - "printedName": "Swift.Bool", - "usr": "s:Sb" - }, - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - }, - { - "kind": "TypeNominal", - "name": "Move", - "printedName": "DouShouQiModel.Move", - "usr": "s:14DouShouQiModel4MoveV" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel15VerySimpleRulesV11isMoveValid7onBoard04withI0SbAA0L0V_AA0I0VtF", - "mangledName": "$s14DouShouQiModel15VerySimpleRulesV11isMoveValid7onBoard04withI0SbAA0L0V_AA0I0VtF", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "funcSelfKind": "NonMutating" - }, - { - "kind": "Function", - "name": "isGameOver", - "printedName": "isGameOver(withBoard:andLastRowPlayed:andLastColumnPlayer:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Tuple", - "printedName": "(Swift.Bool, DouShouQiModel.Result)", - "children": [ - { - "kind": "TypeNominal", - "name": "Bool", - "printedName": "Swift.Bool", - "usr": "s:Sb" - }, - { - "kind": "TypeNominal", - "name": "Result", - "printedName": "DouShouQiModel.Result", - "usr": "s:14DouShouQiModel6ResultO" - } - ] - }, - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel15VerySimpleRulesV10isGameOver9withBoard16andLastRowPlayed0mN12ColumnPlayerSb_AA6ResultOtAA0L0V_S2itF", - "mangledName": "$s14DouShouQiModel15VerySimpleRulesV10isGameOver9withBoard16andLastRowPlayed0mN12ColumnPlayerSb_AA6ResultOtAA0L0V_S2itF", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "funcSelfKind": "NonMutating" - }, - { - "kind": "Function", - "name": "playedMove", - "printedName": "playedMove(_:onStartingBoard:andResultingBoard:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - }, - { - "kind": "TypeNominal", - "name": "Move", - "printedName": "DouShouQiModel.Move", - "usr": "s:14DouShouQiModel4MoveV" - }, - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - }, - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel15VerySimpleRulesV10playedMove_15onStartingBoard012andResultingL0yAA0I0V_AA0L0VAJtKF", - "mangledName": "$s14DouShouQiModel15VerySimpleRulesV10playedMove_15onStartingBoard012andResultingL0yAA0I0V_AA0L0VAJtKF", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "Mutating", - "AccessControl" - ], - "throwing": true, - "funcSelfKind": "Mutating" - }, - { - "kind": "Function", - "name": "getNextPlayer", - "printedName": "getNextPlayer()", - "children": [ - { - "kind": "TypeNominal", - "name": "Owner", - "printedName": "DouShouQiModel.Owner", - "usr": "s:14DouShouQiModel5OwnerO" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel15VerySimpleRulesV13getNextPlayerAA5OwnerOyF", - "mangledName": "$s14DouShouQiModel15VerySimpleRulesV13getNextPlayerAA5OwnerOyF", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "funcSelfKind": "NonMutating" - }, - { - "kind": "Var", - "name": "occurences", - "printedName": "occurences", - "children": [ - { - "kind": "TypeNominal", - "name": "Dictionary", - "printedName": "[DouShouQiModel.Board : Swift.Int]", - "children": [ - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ], - "usr": "s:SD" - } - ], - "declKind": "Var", - "usr": "s:14DouShouQiModel15VerySimpleRulesV10occurencesSDyAA5BoardVSiGvp", - "mangledName": "$s14DouShouQiModel15VerySimpleRulesV10occurencesSDyAA5BoardVSiGvp", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "HasInitialValue", - "HasStorage", - "SetterAccess", - "AccessControl" - ], - "hasStorage": true, - "accessors": [ - { - "kind": "Accessor", - "name": "Get", - "printedName": "Get()", - "children": [ - { - "kind": "TypeNominal", - "name": "Dictionary", - "printedName": "[DouShouQiModel.Board : Swift.Int]", - "children": [ - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ], - "usr": "s:SD" - } - ], - "declKind": "Accessor", - "usr": "s:14DouShouQiModel15VerySimpleRulesV10occurencesSDyAA5BoardVSiGvg", - "mangledName": "$s14DouShouQiModel15VerySimpleRulesV10occurencesSDyAA5BoardVSiGvg", - "moduleName": "DouShouQiModel", - "implicit": true, - "accessorKind": "get" - } - ] - }, - { - "kind": "Var", - "name": "historic", - "printedName": "historic", - "children": [ - { - "kind": "TypeNominal", - "name": "Array", - "printedName": "[DouShouQiModel.Move]", - "children": [ - { - "kind": "TypeNominal", - "name": "Move", - "printedName": "DouShouQiModel.Move", - "usr": "s:14DouShouQiModel4MoveV" - } - ], - "usr": "s:Sa" - } - ], - "declKind": "Var", - "usr": "s:14DouShouQiModel15VerySimpleRulesV8historicSayAA4MoveVGvp", - "mangledName": "$s14DouShouQiModel15VerySimpleRulesV8historicSayAA4MoveVGvp", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "HasInitialValue", - "HasStorage", - "SetterAccess", - "AccessControl" - ], - "hasStorage": true, - "accessors": [ - { - "kind": "Accessor", - "name": "Get", - "printedName": "Get()", - "children": [ - { - "kind": "TypeNominal", - "name": "Array", - "printedName": "[DouShouQiModel.Move]", - "children": [ - { - "kind": "TypeNominal", - "name": "Move", - "printedName": "DouShouQiModel.Move", - "usr": "s:14DouShouQiModel4MoveV" - } - ], - "usr": "s:Sa" - } - ], - "declKind": "Accessor", - "usr": "s:14DouShouQiModel15VerySimpleRulesV8historicSayAA4MoveVGvg", - "mangledName": "$s14DouShouQiModel15VerySimpleRulesV8historicSayAA4MoveVGvg", - "moduleName": "DouShouQiModel", - "implicit": true, - "accessorKind": "get" - } - ] - } - ], - "declKind": "Struct", - "usr": "s:14DouShouQiModel15VerySimpleRulesV", - "mangledName": "$s14DouShouQiModel15VerySimpleRulesV", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "conformances": [ - { - "kind": "Conformance", - "name": "Rules", - "printedName": "Rules", - "usr": "s:14DouShouQiModel5RulesP", - "mangledName": "$s14DouShouQiModel5RulesP" - } - ] - }, - { - "kind": "Import", - "name": "Foundation", - "printedName": "Foundation", - "declKind": "Import", - "moduleName": "DouShouQiModel" - }, - { - "kind": "TypeDecl", - "name": "Rules", - "printedName": "Rules", - "children": [ - { - "kind": "Function", - "name": "createBoard", - "printedName": "createBoard()", - "children": [ - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel5RulesP11createBoardAA0G0VyFZ", - "mangledName": "$s14DouShouQiModel5RulesP11createBoardAA0G0VyFZ", - "moduleName": "DouShouQiModel", - "genericSig": "<τ_0_0 where τ_0_0 : DouShouQiModel.Rules>", - "sugared_genericSig": "", - "static": true, - "protocolReq": true, - "reqNewWitnessTableEntry": true, - "funcSelfKind": "NonMutating" - }, - { - "kind": "Function", - "name": "checkBoard", - "printedName": "checkBoard(_:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - }, - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel5RulesP10checkBoardyyAA0G0VKFZ", - "mangledName": "$s14DouShouQiModel5RulesP10checkBoardyyAA0G0VKFZ", - "moduleName": "DouShouQiModel", - "genericSig": "<τ_0_0 where τ_0_0 : DouShouQiModel.Rules>", - "sugared_genericSig": "", - "static": true, - "protocolReq": true, - "throwing": true, - "reqNewWitnessTableEntry": true, - "funcSelfKind": "NonMutating" - }, - { - "kind": "Function", - "name": "getNextPlayer", - "printedName": "getNextPlayer()", - "children": [ - { - "kind": "TypeNominal", - "name": "Owner", - "printedName": "DouShouQiModel.Owner", - "usr": "s:14DouShouQiModel5OwnerO" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel5RulesP13getNextPlayerAA5OwnerOyF", - "mangledName": "$s14DouShouQiModel5RulesP13getNextPlayerAA5OwnerOyF", - "moduleName": "DouShouQiModel", - "genericSig": "<τ_0_0 where τ_0_0 : DouShouQiModel.Rules>", - "sugared_genericSig": "", - "protocolReq": true, - "reqNewWitnessTableEntry": true, - "funcSelfKind": "NonMutating" - }, - { - "kind": "Function", - "name": "getMoves", - "printedName": "getMoves(in:of:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Array", - "printedName": "[DouShouQiModel.Move]", - "children": [ - { - "kind": "TypeNominal", - "name": "Move", - "printedName": "DouShouQiModel.Move", - "usr": "s:14DouShouQiModel4MoveV" - } - ], - "usr": "s:Sa" - }, - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - }, - { - "kind": "TypeNominal", - "name": "Owner", - "printedName": "DouShouQiModel.Owner", - "usr": "s:14DouShouQiModel5OwnerO" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel5RulesP8getMoves2in2ofSayAA4MoveVGAA5BoardV_AA5OwnerOtF", - "mangledName": "$s14DouShouQiModel5RulesP8getMoves2in2ofSayAA4MoveVGAA5BoardV_AA5OwnerOtF", - "moduleName": "DouShouQiModel", - "genericSig": "<τ_0_0 where τ_0_0 : DouShouQiModel.Rules>", - "sugared_genericSig": "", - "protocolReq": true, - "reqNewWitnessTableEntry": true, - "funcSelfKind": "NonMutating" - }, - { - "kind": "Function", - "name": "getMoves", - "printedName": "getMoves(in:of:fromRow:andColumn:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Array", - "printedName": "[DouShouQiModel.Move]", - "children": [ - { - "kind": "TypeNominal", - "name": "Move", - "printedName": "DouShouQiModel.Move", - "usr": "s:14DouShouQiModel4MoveV" - } - ], - "usr": "s:Sa" - }, - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - }, - { - "kind": "TypeNominal", - "name": "Owner", - "printedName": "DouShouQiModel.Owner", - "usr": "s:14DouShouQiModel5OwnerO" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel5RulesP8getMoves2in2of7fromRow9andColumnSayAA4MoveVGAA5BoardV_AA5OwnerOS2itF", - "mangledName": "$s14DouShouQiModel5RulesP8getMoves2in2of7fromRow9andColumnSayAA4MoveVGAA5BoardV_AA5OwnerOS2itF", - "moduleName": "DouShouQiModel", - "genericSig": "<τ_0_0 where τ_0_0 : DouShouQiModel.Rules>", - "sugared_genericSig": "", - "protocolReq": true, - "reqNewWitnessTableEntry": true, - "funcSelfKind": "NonMutating" - }, - { - "kind": "Function", - "name": "isMoveValid", - "printedName": "isMoveValid(onBoard:fromRow:andFromColumn:toRow:andToColumn:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Bool", - "printedName": "Swift.Bool", - "usr": "s:Sb" - }, - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel5RulesP11isMoveValid7onBoard7fromRow13andFromColumn02toL00m2ToO0SbAA0J0V_S4itF", - "mangledName": "$s14DouShouQiModel5RulesP11isMoveValid7onBoard7fromRow13andFromColumn02toL00m2ToO0SbAA0J0V_S4itF", - "moduleName": "DouShouQiModel", - "genericSig": "<τ_0_0 where τ_0_0 : DouShouQiModel.Rules>", - "sugared_genericSig": "", - "protocolReq": true, - "reqNewWitnessTableEntry": true, - "funcSelfKind": "NonMutating" - }, - { - "kind": "Function", - "name": "isMoveValid", - "printedName": "isMoveValid(onBoard:withMove:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Bool", - "printedName": "Swift.Bool", - "usr": "s:Sb" - }, - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - }, - { - "kind": "TypeNominal", - "name": "Move", - "printedName": "DouShouQiModel.Move", - "usr": "s:14DouShouQiModel4MoveV" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel5RulesP11isMoveValid7onBoard04withG0SbAA0J0V_AA0G0VtF", - "mangledName": "$s14DouShouQiModel5RulesP11isMoveValid7onBoard04withG0SbAA0J0V_AA0G0VtF", - "moduleName": "DouShouQiModel", - "genericSig": "<τ_0_0 where τ_0_0 : DouShouQiModel.Rules>", - "sugared_genericSig": "", - "protocolReq": true, - "reqNewWitnessTableEntry": true, - "funcSelfKind": "NonMutating" - }, - { - "kind": "Function", - "name": "isGameOver", - "printedName": "isGameOver(withBoard:andLastRowPlayed:andLastColumnPlayer:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Tuple", - "printedName": "(Swift.Bool, DouShouQiModel.Result)", - "children": [ - { - "kind": "TypeNominal", - "name": "Bool", - "printedName": "Swift.Bool", - "usr": "s:Sb" - }, - { - "kind": "TypeNominal", - "name": "Result", - "printedName": "DouShouQiModel.Result", - "usr": "s:14DouShouQiModel6ResultO" - } - ] - }, - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel5RulesP10isGameOver9withBoard16andLastRowPlayed0kL12ColumnPlayerSb_AA6ResultOtAA0J0V_S2itF", - "mangledName": "$s14DouShouQiModel5RulesP10isGameOver9withBoard16andLastRowPlayed0kL12ColumnPlayerSb_AA6ResultOtAA0J0V_S2itF", - "moduleName": "DouShouQiModel", - "genericSig": "<τ_0_0 where τ_0_0 : DouShouQiModel.Rules>", - "sugared_genericSig": "", - "protocolReq": true, - "reqNewWitnessTableEntry": true, - "funcSelfKind": "NonMutating" - }, - { - "kind": "Function", - "name": "playedMove", - "printedName": "playedMove(_:onStartingBoard:andResultingBoard:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - }, - { - "kind": "TypeNominal", - "name": "Move", - "printedName": "DouShouQiModel.Move", - "usr": "s:14DouShouQiModel4MoveV" - }, - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - }, - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel5RulesP10playedMove_15onStartingBoard012andResultingJ0yAA0G0V_AA0J0VAJtKF", - "mangledName": "$s14DouShouQiModel5RulesP10playedMove_15onStartingBoard012andResultingJ0yAA0G0V_AA0J0VAJtKF", - "moduleName": "DouShouQiModel", - "genericSig": "<τ_0_0 where τ_0_0 : DouShouQiModel.Rules>", - "sugared_genericSig": "", - "protocolReq": true, - "declAttributes": [ - "Mutating" - ], - "throwing": true, - "reqNewWitnessTableEntry": true, - "funcSelfKind": "Mutating" - }, - { - "kind": "Var", - "name": "occurences", - "printedName": "occurences", - "children": [ - { - "kind": "TypeNominal", - "name": "Dictionary", - "printedName": "[DouShouQiModel.Board : Swift.Int]", - "children": [ - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ], - "usr": "s:SD" - } - ], - "declKind": "Var", - "usr": "s:14DouShouQiModel5RulesP10occurencesSDyAA5BoardVSiGvp", - "mangledName": "$s14DouShouQiModel5RulesP10occurencesSDyAA5BoardVSiGvp", - "moduleName": "DouShouQiModel", - "protocolReq": true, - "accessors": [ - { - "kind": "Accessor", - "name": "Get", - "printedName": "Get()", - "children": [ - { - "kind": "TypeNominal", - "name": "Dictionary", - "printedName": "[DouShouQiModel.Board : Swift.Int]", - "children": [ - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ], - "usr": "s:SD" - } - ], - "declKind": "Accessor", - "usr": "s:14DouShouQiModel5RulesP10occurencesSDyAA5BoardVSiGvg", - "mangledName": "$s14DouShouQiModel5RulesP10occurencesSDyAA5BoardVSiGvg", - "moduleName": "DouShouQiModel", - "genericSig": "<τ_0_0 where τ_0_0 : DouShouQiModel.Rules>", - "sugared_genericSig": "", - "protocolReq": true, - "reqNewWitnessTableEntry": true, - "accessorKind": "get" - } - ] - }, - { - "kind": "Var", - "name": "historic", - "printedName": "historic", - "children": [ - { - "kind": "TypeNominal", - "name": "Array", - "printedName": "[DouShouQiModel.Move]", - "children": [ - { - "kind": "TypeNominal", - "name": "Move", - "printedName": "DouShouQiModel.Move", - "usr": "s:14DouShouQiModel4MoveV" - } - ], - "usr": "s:Sa" - } - ], - "declKind": "Var", - "usr": "s:14DouShouQiModel5RulesP8historicSayAA4MoveVGvp", - "mangledName": "$s14DouShouQiModel5RulesP8historicSayAA4MoveVGvp", - "moduleName": "DouShouQiModel", - "protocolReq": true, - "accessors": [ - { - "kind": "Accessor", - "name": "Get", - "printedName": "Get()", - "children": [ - { - "kind": "TypeNominal", - "name": "Array", - "printedName": "[DouShouQiModel.Move]", - "children": [ - { - "kind": "TypeNominal", - "name": "Move", - "printedName": "DouShouQiModel.Move", - "usr": "s:14DouShouQiModel4MoveV" - } - ], - "usr": "s:Sa" - } - ], - "declKind": "Accessor", - "usr": "s:14DouShouQiModel5RulesP8historicSayAA4MoveVGvg", - "mangledName": "$s14DouShouQiModel5RulesP8historicSayAA4MoveVGvg", - "moduleName": "DouShouQiModel", - "genericSig": "<τ_0_0 where τ_0_0 : DouShouQiModel.Rules>", - "sugared_genericSig": "", - "protocolReq": true, - "reqNewWitnessTableEntry": true, - "accessorKind": "get" - } - ] - } - ], - "declKind": "Protocol", - "usr": "s:14DouShouQiModel5RulesP", - "mangledName": "$s14DouShouQiModel5RulesP", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ] - }, - { - "kind": "Import", - "name": "Foundation", - "printedName": "Foundation", - "declKind": "Import", - "moduleName": "DouShouQiModel" - }, - { - "kind": "TypeDecl", - "name": "Player", - "printedName": "Player", - "children": [ - { - "kind": "Var", - "name": "name", - "printedName": "name", - "children": [ - { - "kind": "TypeNominal", - "name": "String", - "printedName": "Swift.String", - "usr": "s:SS" - } - ], - "declKind": "Var", - "usr": "s:14DouShouQiModel6PlayerC4nameSSvp", - "mangledName": "$s14DouShouQiModel6PlayerC4nameSSvp", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "HasStorage", - "Final", - "AccessControl" - ], - "isLet": true, - "hasStorage": true, - "accessors": [ - { - "kind": "Accessor", - "name": "Get", - "printedName": "Get()", - "children": [ - { - "kind": "TypeNominal", - "name": "String", - "printedName": "Swift.String", - "usr": "s:SS" - } - ], - "declKind": "Accessor", - "usr": "s:14DouShouQiModel6PlayerC4nameSSvg", - "mangledName": "$s14DouShouQiModel6PlayerC4nameSSvg", - "moduleName": "DouShouQiModel", - "implicit": true, - "declAttributes": [ - "Final" - ], - "accessorKind": "get" - } - ] - }, - { - "kind": "Var", - "name": "id", - "printedName": "id", - "children": [ - { - "kind": "TypeNominal", - "name": "Owner", - "printedName": "DouShouQiModel.Owner", - "usr": "s:14DouShouQiModel5OwnerO" - } - ], - "declKind": "Var", - "usr": "s:14DouShouQiModel6PlayerC2idAA5OwnerOvp", - "mangledName": "$s14DouShouQiModel6PlayerC2idAA5OwnerOvp", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "HasStorage", - "Final", - "AccessControl" - ], - "isLet": true, - "hasStorage": true, - "accessors": [ - { - "kind": "Accessor", - "name": "Get", - "printedName": "Get()", - "children": [ - { - "kind": "TypeNominal", - "name": "Owner", - "printedName": "DouShouQiModel.Owner", - "usr": "s:14DouShouQiModel5OwnerO" - } - ], - "declKind": "Accessor", - "usr": "s:14DouShouQiModel6PlayerC2idAA5OwnerOvg", - "mangledName": "$s14DouShouQiModel6PlayerC2idAA5OwnerOvg", - "moduleName": "DouShouQiModel", - "implicit": true, - "declAttributes": [ - "Final" - ], - "accessorKind": "get" - } - ] - }, - { - "kind": "Constructor", - "name": "init", - "printedName": "init(withName:andId:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Optional", - "printedName": "DouShouQiModel.Player?", - "children": [ - { - "kind": "TypeNominal", - "name": "Player", - "printedName": "DouShouQiModel.Player", - "usr": "s:14DouShouQiModel6PlayerC" - } - ], - "usr": "s:Sq" - }, - { - "kind": "TypeNominal", - "name": "String", - "printedName": "Swift.String", - "usr": "s:SS" - }, - { - "kind": "TypeNominal", - "name": "Owner", - "printedName": "DouShouQiModel.Owner", - "usr": "s:14DouShouQiModel5OwnerO" - } - ], - "declKind": "Constructor", - "usr": "s:14DouShouQiModel6PlayerC8withName5andIdACSgSS_AA5OwnerOtcfc", - "mangledName": "$s14DouShouQiModel6PlayerC8withName5andIdACSgSS_AA5OwnerOtcfc", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "init_kind": "Designated" - }, - { - "kind": "Function", - "name": "chooseMove", - "printedName": "chooseMove(in:with:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - }, - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - }, - { - "kind": "TypeNominal", - "name": "Rules", - "printedName": "DouShouQiModel.Rules", - "usr": "s:14DouShouQiModel5RulesP" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel6PlayerC10chooseMove2in4withyAA5BoardV_AA5Rules_ptYaKF", - "mangledName": "$s14DouShouQiModel6PlayerC10chooseMove2in4withyAA5BoardV_AA5Rules_ptYaKF", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "throwing": true, - "funcSelfKind": "NonMutating" - }, - { - "kind": "Function", - "name": "addPlayedCallbacksListener", - "printedName": "addPlayedCallbacksListener(_:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - }, - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.Move?, DouShouQiModel.Player) async throws -> ()", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - }, - { - "kind": "TypeNominal", - "name": "Tuple", - "printedName": "(DouShouQiModel.Move?, DouShouQiModel.Player)", - "children": [ - { - "kind": "TypeNominal", - "name": "Optional", - "printedName": "DouShouQiModel.Move?", - "children": [ - { - "kind": "TypeNominal", - "name": "Move", - "printedName": "DouShouQiModel.Move", - "usr": "s:14DouShouQiModel4MoveV" - } - ], - "usr": "s:Sq" - }, - { - "kind": "TypeNominal", - "name": "Player", - "printedName": "DouShouQiModel.Player", - "usr": "s:14DouShouQiModel6PlayerC" - } - ] - } - ] - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel6PlayerC26addPlayedCallbacksListeneryyyAA4MoveVSg_ACtYaKcF", - "mangledName": "$s14DouShouQiModel6PlayerC26addPlayedCallbacksListeneryyyAA4MoveVSg_ACtYaKcF", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "funcSelfKind": "NonMutating" - }, - { - "kind": "Function", - "name": "notifyPlayed", - "printedName": "notifyPlayed(withMove:andPlayer:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - }, - { - "kind": "TypeNominal", - "name": "Optional", - "printedName": "DouShouQiModel.Move?", - "children": [ - { - "kind": "TypeNominal", - "name": "Move", - "printedName": "DouShouQiModel.Move", - "usr": "s:14DouShouQiModel4MoveV" - } - ], - "usr": "s:Sq" - }, - { - "kind": "TypeNominal", - "name": "Player", - "printedName": "DouShouQiModel.Player", - "usr": "s:14DouShouQiModel6PlayerC" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel6PlayerC12notifyPlayed8withMove03andE0yAA0I0VSg_ACtYaKF", - "mangledName": "$s14DouShouQiModel6PlayerC12notifyPlayed8withMove03andE0yAA0I0VSg_ACtYaKF", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "throwing": true, - "funcSelfKind": "NonMutating" - } - ], - "declKind": "Class", - "usr": "s:14DouShouQiModel6PlayerC", - "mangledName": "$s14DouShouQiModel6PlayerC", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ] - }, - { - "kind": "Import", - "name": "Foundation", - "printedName": "Foundation", - "declKind": "Import", - "moduleName": "DouShouQiModel" - }, - { - "kind": "TypeDecl", - "name": "GameError", - "printedName": "GameError", - "children": [ - { - "kind": "Var", - "name": "invalidMove", - "printedName": "invalidMove", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.GameError.Type) -> DouShouQiModel.GameError", - "children": [ - { - "kind": "TypeNominal", - "name": "GameError", - "printedName": "DouShouQiModel.GameError", - "usr": "s:14DouShouQiModel9GameErrorO" - }, - { - "kind": "TypeNominal", - "name": "Metatype", - "printedName": "DouShouQiModel.GameError.Type", - "children": [ - { - "kind": "TypeNominal", - "name": "GameError", - "printedName": "DouShouQiModel.GameError", - "usr": "s:14DouShouQiModel9GameErrorO" - } - ] - } - ] - } - ], - "declKind": "EnumElement", - "usr": "s:14DouShouQiModel9GameErrorO11invalidMoveyA2CmF", - "mangledName": "$s14DouShouQiModel9GameErrorO11invalidMoveyA2CmF", - "moduleName": "DouShouQiModel" - }, - { - "kind": "Var", - "name": "nextPlayerError", - "printedName": "nextPlayerError", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.GameError.Type) -> DouShouQiModel.GameError", - "children": [ - { - "kind": "TypeNominal", - "name": "GameError", - "printedName": "DouShouQiModel.GameError", - "usr": "s:14DouShouQiModel9GameErrorO" - }, - { - "kind": "TypeNominal", - "name": "Metatype", - "printedName": "DouShouQiModel.GameError.Type", - "children": [ - { - "kind": "TypeNominal", - "name": "GameError", - "printedName": "DouShouQiModel.GameError", - "usr": "s:14DouShouQiModel9GameErrorO" - } - ] - } - ] - } - ], - "declKind": "EnumElement", - "usr": "s:14DouShouQiModel9GameErrorO010nextPlayerF0yA2CmF", - "mangledName": "$s14DouShouQiModel9GameErrorO010nextPlayerF0yA2CmF", - "moduleName": "DouShouQiModel" - }, - { - "kind": "Var", - "name": "badPlayerId", - "printedName": "badPlayerId", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.GameError.Type) -> (Swift.String) -> DouShouQiModel.GameError", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(Swift.String) -> DouShouQiModel.GameError", - "children": [ - { - "kind": "TypeNominal", - "name": "GameError", - "printedName": "DouShouQiModel.GameError", - "usr": "s:14DouShouQiModel9GameErrorO" - }, - { - "kind": "TypeNominal", - "name": "Tuple", - "printedName": "(message: Swift.String)", - "children": [ - { - "kind": "TypeNominal", - "name": "String", - "printedName": "Swift.String", - "usr": "s:SS" - } - ] - } - ] - }, - { - "kind": "TypeNominal", - "name": "Metatype", - "printedName": "DouShouQiModel.GameError.Type", - "children": [ - { - "kind": "TypeNominal", - "name": "GameError", - "printedName": "DouShouQiModel.GameError", - "usr": "s:14DouShouQiModel9GameErrorO" - } - ] - } - ] - } - ], - "declKind": "EnumElement", - "usr": "s:14DouShouQiModel9GameErrorO11badPlayerIdyACSS_tcACmF", - "mangledName": "$s14DouShouQiModel9GameErrorO11badPlayerIdyACSS_tcACmF", - "moduleName": "DouShouQiModel" - }, - { - "kind": "Var", - "name": "invalidRules", - "printedName": "invalidRules", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.GameError.Type) -> DouShouQiModel.GameError", - "children": [ - { - "kind": "TypeNominal", - "name": "GameError", - "printedName": "DouShouQiModel.GameError", - "usr": "s:14DouShouQiModel9GameErrorO" - }, - { - "kind": "TypeNominal", - "name": "Metatype", - "printedName": "DouShouQiModel.GameError.Type", - "children": [ - { - "kind": "TypeNominal", - "name": "GameError", - "printedName": "DouShouQiModel.GameError", - "usr": "s:14DouShouQiModel9GameErrorO" - } - ] - } - ] - } - ], - "declKind": "EnumElement", - "usr": "s:14DouShouQiModel9GameErrorO12invalidRulesyA2CmF", - "mangledName": "$s14DouShouQiModel9GameErrorO12invalidRulesyA2CmF", - "moduleName": "DouShouQiModel" - }, - { - "kind": "Var", - "name": "invalidPlayer", - "printedName": "invalidPlayer", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.GameError.Type) -> DouShouQiModel.GameError", - "children": [ - { - "kind": "TypeNominal", - "name": "GameError", - "printedName": "DouShouQiModel.GameError", - "usr": "s:14DouShouQiModel9GameErrorO" - }, - { - "kind": "TypeNominal", - "name": "Metatype", - "printedName": "DouShouQiModel.GameError.Type", - "children": [ - { - "kind": "TypeNominal", - "name": "GameError", - "printedName": "DouShouQiModel.GameError", - "usr": "s:14DouShouQiModel9GameErrorO" - } - ] - } - ] - } - ], - "declKind": "EnumElement", - "usr": "s:14DouShouQiModel9GameErrorO13invalidPlayeryA2CmF", - "mangledName": "$s14DouShouQiModel9GameErrorO13invalidPlayeryA2CmF", - "moduleName": "DouShouQiModel" - }, - { - "kind": "Var", - "name": "invalidGame", - "printedName": "invalidGame", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.GameError.Type) -> DouShouQiModel.GameError", - "children": [ - { - "kind": "TypeNominal", - "name": "GameError", - "printedName": "DouShouQiModel.GameError", - "usr": "s:14DouShouQiModel9GameErrorO" - }, - { - "kind": "TypeNominal", - "name": "Metatype", - "printedName": "DouShouQiModel.GameError.Type", - "children": [ - { - "kind": "TypeNominal", - "name": "GameError", - "printedName": "DouShouQiModel.GameError", - "usr": "s:14DouShouQiModel9GameErrorO" - } - ] - } - ] - } - ], - "declKind": "EnumElement", - "usr": "s:14DouShouQiModel9GameErrorO07invalidE0yA2CmF", - "mangledName": "$s14DouShouQiModel9GameErrorO07invalidE0yA2CmF", - "moduleName": "DouShouQiModel" - }, - { - "kind": "Var", - "name": "invalidBoard", - "printedName": "invalidBoard", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.GameError.Type) -> DouShouQiModel.GameError", - "children": [ - { - "kind": "TypeNominal", - "name": "GameError", - "printedName": "DouShouQiModel.GameError", - "usr": "s:14DouShouQiModel9GameErrorO" - }, - { - "kind": "TypeNominal", - "name": "Metatype", - "printedName": "DouShouQiModel.GameError.Type", - "children": [ - { - "kind": "TypeNominal", - "name": "GameError", - "printedName": "DouShouQiModel.GameError", - "usr": "s:14DouShouQiModel9GameErrorO" - } - ] - } - ] - } - ], - "declKind": "EnumElement", - "usr": "s:14DouShouQiModel9GameErrorO12invalidBoardyA2CmF", - "mangledName": "$s14DouShouQiModel9GameErrorO12invalidBoardyA2CmF", - "moduleName": "DouShouQiModel" - } - ], - "declKind": "Enum", - "usr": "s:14DouShouQiModel9GameErrorO", - "mangledName": "$s14DouShouQiModel9GameErrorO", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "conformances": [ - { - "kind": "Conformance", - "name": "Error", - "printedName": "Error", - "usr": "s:s5ErrorP", - "mangledName": "$ss5ErrorP" - }, - { - "kind": "Conformance", - "name": "Sendable", - "printedName": "Sendable", - "usr": "s:s8SendableP", - "mangledName": "$ss8SendableP" - } - ] - }, - { - "kind": "Import", - "name": "Foundation", - "printedName": "Foundation", - "declKind": "Import", - "moduleName": "DouShouQiModel" - }, - { - "kind": "TypeDecl", - "name": "RandomPlayer", - "printedName": "RandomPlayer", - "children": [ - { - "kind": "Function", - "name": "chooseMove", - "printedName": "chooseMove(in:with:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - }, - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - }, - { - "kind": "TypeNominal", - "name": "Rules", - "printedName": "DouShouQiModel.Rules", - "usr": "s:14DouShouQiModel5RulesP" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel12RandomPlayerC10chooseMove2in4withyAA5BoardV_AA5Rules_ptYaKF", - "mangledName": "$s14DouShouQiModel12RandomPlayerC10chooseMove2in4withyAA5BoardV_AA5Rules_ptYaKF", - "moduleName": "DouShouQiModel", - "overriding": true, - "declAttributes": [ - "Override", - "AccessControl" - ], - "throwing": true, - "funcSelfKind": "NonMutating" - }, - { - "kind": "Constructor", - "name": "init", - "printedName": "init(withName:andId:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Optional", - "printedName": "DouShouQiModel.RandomPlayer?", - "children": [ - { - "kind": "TypeNominal", - "name": "RandomPlayer", - "printedName": "DouShouQiModel.RandomPlayer", - "usr": "s:14DouShouQiModel12RandomPlayerC" - } - ], - "usr": "s:Sq" - }, - { - "kind": "TypeNominal", - "name": "String", - "printedName": "Swift.String", - "usr": "s:SS" - }, - { - "kind": "TypeNominal", - "name": "Owner", - "printedName": "DouShouQiModel.Owner", - "usr": "s:14DouShouQiModel5OwnerO" - } - ], - "declKind": "Constructor", - "usr": "s:14DouShouQiModel12RandomPlayerC8withName5andIdACSgSS_AA5OwnerOtcfc", - "mangledName": "$s14DouShouQiModel12RandomPlayerC8withName5andIdACSgSS_AA5OwnerOtcfc", - "moduleName": "DouShouQiModel", - "overriding": true, - "implicit": true, - "declAttributes": [ - "Override" - ], - "init_kind": "Designated" - } - ], - "declKind": "Class", - "usr": "s:14DouShouQiModel12RandomPlayerC", - "mangledName": "$s14DouShouQiModel12RandomPlayerC", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "superclassUsr": "s:14DouShouQiModel8IAPlayerC", - "inheritsConvenienceInitializers": true, - "superclassNames": [ - "DouShouQiModel.IAPlayer", - "DouShouQiModel.Player" - ] - }, - { - "kind": "Import", - "name": "Foundation", - "printedName": "Foundation", - "declKind": "Import", - "moduleName": "DouShouQiModel" - }, - { - "kind": "TypeDecl", - "name": "CellType", - "printedName": "CellType", - "children": [ - { - "kind": "Var", - "name": "unknown", - "printedName": "unknown", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.CellType.Type) -> DouShouQiModel.CellType", - "children": [ - { - "kind": "TypeNominal", - "name": "CellType", - "printedName": "DouShouQiModel.CellType", - "usr": "s:14DouShouQiModel8CellTypeO" - }, - { - "kind": "TypeNominal", - "name": "Metatype", - "printedName": "DouShouQiModel.CellType.Type", - "children": [ - { - "kind": "TypeNominal", - "name": "CellType", - "printedName": "DouShouQiModel.CellType", - "usr": "s:14DouShouQiModel8CellTypeO" - } - ] - } - ] - } - ], - "declKind": "EnumElement", - "usr": "s:14DouShouQiModel8CellTypeO7unknownyA2CmF", - "mangledName": "$s14DouShouQiModel8CellTypeO7unknownyA2CmF", - "moduleName": "DouShouQiModel" - }, - { - "kind": "Var", - "name": "jungle", - "printedName": "jungle", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.CellType.Type) -> DouShouQiModel.CellType", - "children": [ - { - "kind": "TypeNominal", - "name": "CellType", - "printedName": "DouShouQiModel.CellType", - "usr": "s:14DouShouQiModel8CellTypeO" - }, - { - "kind": "TypeNominal", - "name": "Metatype", - "printedName": "DouShouQiModel.CellType.Type", - "children": [ - { - "kind": "TypeNominal", - "name": "CellType", - "printedName": "DouShouQiModel.CellType", - "usr": "s:14DouShouQiModel8CellTypeO" - } - ] - } - ] - } - ], - "declKind": "EnumElement", - "usr": "s:14DouShouQiModel8CellTypeO6jungleyA2CmF", - "mangledName": "$s14DouShouQiModel8CellTypeO6jungleyA2CmF", - "moduleName": "DouShouQiModel" - }, - { - "kind": "Var", - "name": "water", - "printedName": "water", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.CellType.Type) -> DouShouQiModel.CellType", - "children": [ - { - "kind": "TypeNominal", - "name": "CellType", - "printedName": "DouShouQiModel.CellType", - "usr": "s:14DouShouQiModel8CellTypeO" - }, - { - "kind": "TypeNominal", - "name": "Metatype", - "printedName": "DouShouQiModel.CellType.Type", - "children": [ - { - "kind": "TypeNominal", - "name": "CellType", - "printedName": "DouShouQiModel.CellType", - "usr": "s:14DouShouQiModel8CellTypeO" - } - ] - } - ] - } - ], - "declKind": "EnumElement", - "usr": "s:14DouShouQiModel8CellTypeO5wateryA2CmF", - "mangledName": "$s14DouShouQiModel8CellTypeO5wateryA2CmF", - "moduleName": "DouShouQiModel" - }, - { - "kind": "Var", - "name": "trap", - "printedName": "trap", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.CellType.Type) -> DouShouQiModel.CellType", - "children": [ - { - "kind": "TypeNominal", - "name": "CellType", - "printedName": "DouShouQiModel.CellType", - "usr": "s:14DouShouQiModel8CellTypeO" - }, - { - "kind": "TypeNominal", - "name": "Metatype", - "printedName": "DouShouQiModel.CellType.Type", - "children": [ - { - "kind": "TypeNominal", - "name": "CellType", - "printedName": "DouShouQiModel.CellType", - "usr": "s:14DouShouQiModel8CellTypeO" - } - ] - } - ] - } - ], - "declKind": "EnumElement", - "usr": "s:14DouShouQiModel8CellTypeO4trapyA2CmF", - "mangledName": "$s14DouShouQiModel8CellTypeO4trapyA2CmF", - "moduleName": "DouShouQiModel" - }, - { - "kind": "Var", - "name": "den", - "printedName": "den", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.CellType.Type) -> DouShouQiModel.CellType", - "children": [ - { - "kind": "TypeNominal", - "name": "CellType", - "printedName": "DouShouQiModel.CellType", - "usr": "s:14DouShouQiModel8CellTypeO" - }, - { - "kind": "TypeNominal", - "name": "Metatype", - "printedName": "DouShouQiModel.CellType.Type", - "children": [ - { - "kind": "TypeNominal", - "name": "CellType", - "printedName": "DouShouQiModel.CellType", - "usr": "s:14DouShouQiModel8CellTypeO" - } - ] - } - ] - } - ], - "declKind": "EnumElement", - "usr": "s:14DouShouQiModel8CellTypeO3denyA2CmF", - "mangledName": "$s14DouShouQiModel8CellTypeO3denyA2CmF", - "moduleName": "DouShouQiModel" - }, - { - "kind": "Var", - "name": "allCases", - "printedName": "allCases", - "children": [ - { - "kind": "TypeNominal", - "name": "Array", - "printedName": "[DouShouQiModel.CellType]", - "children": [ - { - "kind": "TypeNominal", - "name": "CellType", - "printedName": "DouShouQiModel.CellType", - "usr": "s:14DouShouQiModel8CellTypeO" - } - ], - "usr": "s:Sa" - } - ], - "declKind": "Var", - "usr": "s:14DouShouQiModel8CellTypeO8allCasesSayACGvpZ", - "mangledName": "$s14DouShouQiModel8CellTypeO8allCasesSayACGvpZ", - "moduleName": "DouShouQiModel", - "static": true, - "implicit": true, - "accessors": [ - { - "kind": "Accessor", - "name": "Get", - "printedName": "Get()", - "children": [ - { - "kind": "TypeNominal", - "name": "Array", - "printedName": "[DouShouQiModel.CellType]", - "children": [ - { - "kind": "TypeNominal", - "name": "CellType", - "printedName": "DouShouQiModel.CellType", - "usr": "s:14DouShouQiModel8CellTypeO" - } - ], - "usr": "s:Sa" - } - ], - "declKind": "Accessor", - "usr": "s:14DouShouQiModel8CellTypeO8allCasesSayACGvgZ", - "mangledName": "$s14DouShouQiModel8CellTypeO8allCasesSayACGvgZ", - "moduleName": "DouShouQiModel", - "static": true, - "implicit": true, - "accessorKind": "get" - } - ] - }, - { - "kind": "Function", - "name": "==", - "printedName": "==(_:_:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Bool", - "printedName": "Swift.Bool", - "usr": "s:Sb" - }, - { - "kind": "TypeNominal", - "name": "CellType", - "printedName": "DouShouQiModel.CellType", - "usr": "s:14DouShouQiModel8CellTypeO" - }, - { - "kind": "TypeNominal", - "name": "CellType", - "printedName": "DouShouQiModel.CellType", - "usr": "s:14DouShouQiModel8CellTypeO" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel8CellTypeO2eeoiySbAC_ACtFZ", - "mangledName": "$s14DouShouQiModel8CellTypeO2eeoiySbAC_ACtFZ", - "moduleName": "DouShouQiModel", - "static": true, - "implicit": true, - "funcSelfKind": "NonMutating" - }, - { - "kind": "Var", - "name": "hashValue", - "printedName": "hashValue", - "children": [ - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ], - "declKind": "Var", - "usr": "s:14DouShouQiModel8CellTypeO9hashValueSivp", - "mangledName": "$s14DouShouQiModel8CellTypeO9hashValueSivp", - "moduleName": "DouShouQiModel", - "implicit": true, - "accessors": [ - { - "kind": "Accessor", - "name": "Get", - "printedName": "Get()", - "children": [ - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ], - "declKind": "Accessor", - "usr": "s:14DouShouQiModel8CellTypeO9hashValueSivg", - "mangledName": "$s14DouShouQiModel8CellTypeO9hashValueSivg", - "moduleName": "DouShouQiModel", - "implicit": true, - "accessorKind": "get" - } - ] - }, - { - "kind": "Function", - "name": "hash", - "printedName": "hash(into:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - }, - { - "kind": "TypeNominal", - "name": "Hasher", - "printedName": "Swift.Hasher", - "paramValueOwnership": "InOut", - "usr": "s:s6HasherV" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel8CellTypeO4hash4intoys6HasherVz_tF", - "mangledName": "$s14DouShouQiModel8CellTypeO4hash4intoys6HasherVz_tF", - "moduleName": "DouShouQiModel", - "implicit": true, - "funcSelfKind": "NonMutating" - } - ], - "declKind": "Enum", - "usr": "s:14DouShouQiModel8CellTypeO", - "mangledName": "$s14DouShouQiModel8CellTypeO", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "conformances": [ - { - "kind": "Conformance", - "name": "Equatable", - "printedName": "Equatable", - "usr": "s:SQ", - "mangledName": "$sSQ" - }, - { - "kind": "Conformance", - "name": "Hashable", - "printedName": "Hashable", - "usr": "s:SH", - "mangledName": "$sSH" - }, - { - "kind": "Conformance", - "name": "CaseIterable", - "printedName": "CaseIterable", - "children": [ - { - "kind": "TypeWitness", - "name": "AllCases", - "printedName": "AllCases", - "children": [ - { - "kind": "TypeNominal", - "name": "Array", - "printedName": "[DouShouQiModel.CellType]", - "children": [ - { - "kind": "TypeNominal", - "name": "CellType", - "printedName": "DouShouQiModel.CellType", - "usr": "s:14DouShouQiModel8CellTypeO" - } - ], - "usr": "s:Sa" - } - ] - } - ], - "usr": "s:s12CaseIterableP", - "mangledName": "$ss12CaseIterableP" - } - ] - }, - { - "kind": "Import", - "name": "Foundation", - "printedName": "Foundation", - "declKind": "Import", - "moduleName": "DouShouQiModel" - }, - { - "kind": "TypeDecl", - "name": "Board", - "printedName": "Board", - "children": [ - { - "kind": "Function", - "name": "hash", - "printedName": "hash(into:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - }, - { - "kind": "TypeNominal", - "name": "Hasher", - "printedName": "Swift.Hasher", - "paramValueOwnership": "InOut", - "usr": "s:s6HasherV" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel5BoardV4hash4intoys6HasherVz_tF", - "mangledName": "$s14DouShouQiModel5BoardV4hash4intoys6HasherVz_tF", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "funcSelfKind": "NonMutating" - }, - { - "kind": "Var", - "name": "nbRows", - "printedName": "nbRows", - "children": [ - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ], - "declKind": "Var", - "usr": "s:14DouShouQiModel5BoardV6nbRowsSivp", - "mangledName": "$s14DouShouQiModel5BoardV6nbRowsSivp", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "HasStorage", - "AccessControl", - "RawDocComment" - ], - "isLet": true, - "hasStorage": true, - "accessors": [ - { - "kind": "Accessor", - "name": "Get", - "printedName": "Get()", - "children": [ - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ], - "declKind": "Accessor", - "usr": "s:14DouShouQiModel5BoardV6nbRowsSivg", - "mangledName": "$s14DouShouQiModel5BoardV6nbRowsSivg", - "moduleName": "DouShouQiModel", - "implicit": true, - "accessorKind": "get" - } - ] - }, - { - "kind": "Var", - "name": "nbColumns", - "printedName": "nbColumns", - "children": [ - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ], - "declKind": "Var", - "usr": "s:14DouShouQiModel5BoardV9nbColumnsSivp", - "mangledName": "$s14DouShouQiModel5BoardV9nbColumnsSivp", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "HasStorage", - "AccessControl", - "RawDocComment" - ], - "isLet": true, - "hasStorage": true, - "accessors": [ - { - "kind": "Accessor", - "name": "Get", - "printedName": "Get()", - "children": [ - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ], - "declKind": "Accessor", - "usr": "s:14DouShouQiModel5BoardV9nbColumnsSivg", - "mangledName": "$s14DouShouQiModel5BoardV9nbColumnsSivg", - "moduleName": "DouShouQiModel", - "implicit": true, - "accessorKind": "get" - } - ] - }, - { - "kind": "Var", - "name": "grid", - "printedName": "grid", - "children": [ - { - "kind": "TypeNominal", - "name": "Array", - "printedName": "[[DouShouQiModel.Cell]]", - "children": [ - { - "kind": "TypeNominal", - "name": "Array", - "printedName": "[DouShouQiModel.Cell]", - "children": [ - { - "kind": "TypeNominal", - "name": "Cell", - "printedName": "DouShouQiModel.Cell", - "usr": "s:14DouShouQiModel4CellV" - } - ], - "usr": "s:Sa" - } - ], - "usr": "s:Sa" - } - ], - "declKind": "Var", - "usr": "s:14DouShouQiModel5BoardV4gridSaySayAA4CellVGGvp", - "mangledName": "$s14DouShouQiModel5BoardV4gridSaySayAA4CellVGGvp", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "HasStorage", - "SetterAccess", - "AccessControl" - ], - "hasStorage": true, - "accessors": [ - { - "kind": "Accessor", - "name": "Get", - "printedName": "Get()", - "children": [ - { - "kind": "TypeNominal", - "name": "Array", - "printedName": "[[DouShouQiModel.Cell]]", - "children": [ - { - "kind": "TypeNominal", - "name": "Array", - "printedName": "[DouShouQiModel.Cell]", - "children": [ - { - "kind": "TypeNominal", - "name": "Cell", - "printedName": "DouShouQiModel.Cell", - "usr": "s:14DouShouQiModel4CellV" - } - ], - "usr": "s:Sa" - } - ], - "usr": "s:Sa" - } - ], - "declKind": "Accessor", - "usr": "s:14DouShouQiModel5BoardV4gridSaySayAA4CellVGGvg", - "mangledName": "$s14DouShouQiModel5BoardV4gridSaySayAA4CellVGGvg", - "moduleName": "DouShouQiModel", - "implicit": true, - "accessorKind": "get" - } - ] - }, - { - "kind": "Constructor", - "name": "init", - "printedName": "init(withGrid:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Optional", - "printedName": "DouShouQiModel.Board?", - "children": [ - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - } - ], - "usr": "s:Sq" - }, - { - "kind": "TypeNominal", - "name": "Array", - "printedName": "[[DouShouQiModel.Cell]]", - "children": [ - { - "kind": "TypeNominal", - "name": "Array", - "printedName": "[DouShouQiModel.Cell]", - "children": [ - { - "kind": "TypeNominal", - "name": "Cell", - "printedName": "DouShouQiModel.Cell", - "usr": "s:14DouShouQiModel4CellV" - } - ], - "usr": "s:Sa" - } - ], - "usr": "s:Sa" - } - ], - "declKind": "Constructor", - "usr": "s:14DouShouQiModel5BoardV8withGridACSgSaySayAA4CellVGG_tcfc", - "mangledName": "$s14DouShouQiModel5BoardV8withGridACSgSaySayAA4CellVGG_tcfc", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "init_kind": "Designated" - }, - { - "kind": "Function", - "name": "countPieces", - "printedName": "countPieces(of:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - }, - { - "kind": "TypeNominal", - "name": "Owner", - "printedName": "DouShouQiModel.Owner", - "usr": "s:14DouShouQiModel5OwnerO" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel5BoardV11countPieces2ofSiAA5OwnerO_tF", - "mangledName": "$s14DouShouQiModel5BoardV11countPieces2ofSiAA5OwnerO_tF", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "funcSelfKind": "NonMutating" - }, - { - "kind": "Function", - "name": "countPieces", - "printedName": "countPieces()", - "children": [ - { - "kind": "TypeNominal", - "name": "Tuple", - "printedName": "(nbOfPiecesOfPlayer1: Swift.Int, nbOfPiecesOfPlayer2: Swift.Int)", - "children": [ - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ] - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel5BoardV11countPiecesSi04nbOfgI7Player1_Si0higI7Player2tyF", - "mangledName": "$s14DouShouQiModel5BoardV11countPiecesSi04nbOfgI7Player1_Si0higI7Player2tyF", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "funcSelfKind": "NonMutating" - }, - { - "kind": "Function", - "name": "insert", - "printedName": "insert(piece:atRow:andColumn:)", - "children": [ - { - "kind": "TypeNominal", - "name": "BoardResult", - "printedName": "DouShouQiModel.BoardResult", - "usr": "s:14DouShouQiModel11BoardResultO" - }, - { - "kind": "TypeNominal", - "name": "Piece", - "printedName": "DouShouQiModel.Piece", - "usr": "s:14DouShouQiModel5PieceV" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel5BoardV6insert5piece5atRow9andColumnAA0E6ResultOAA5PieceV_S2itF", - "mangledName": "$s14DouShouQiModel5BoardV6insert5piece5atRow9andColumnAA0E6ResultOAA5PieceV_S2itF", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "Mutating", - "AccessControl" - ], - "funcSelfKind": "Mutating" - }, - { - "kind": "Function", - "name": "removePiece", - "printedName": "removePiece(atRow:andColumn:)", - "children": [ - { - "kind": "TypeNominal", - "name": "BoardResult", - "printedName": "DouShouQiModel.BoardResult", - "usr": "s:14DouShouQiModel11BoardResultO" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel5BoardV11removePiece5atRow9andColumnAA0E6ResultOSi_SitF", - "mangledName": "$s14DouShouQiModel5BoardV11removePiece5atRow9andColumnAA0E6ResultOSi_SitF", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "Mutating", - "AccessControl" - ], - "funcSelfKind": "Mutating" - }, - { - "kind": "Var", - "name": "hashValue", - "printedName": "hashValue", - "children": [ - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ], - "declKind": "Var", - "usr": "s:14DouShouQiModel5BoardV9hashValueSivp", - "mangledName": "$s14DouShouQiModel5BoardV9hashValueSivp", - "moduleName": "DouShouQiModel", - "implicit": true, - "accessors": [ - { - "kind": "Accessor", - "name": "Get", - "printedName": "Get()", - "children": [ - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ], - "declKind": "Accessor", - "usr": "s:14DouShouQiModel5BoardV9hashValueSivg", - "mangledName": "$s14DouShouQiModel5BoardV9hashValueSivg", - "moduleName": "DouShouQiModel", - "implicit": true, - "accessorKind": "get" - } - ] - }, - { - "kind": "Function", - "name": "==", - "printedName": "==(_:_:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Bool", - "printedName": "Swift.Bool", - "usr": "s:Sb" - }, - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - }, - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel5BoardV2eeoiySbAC_ACtFZ", - "mangledName": "$s14DouShouQiModel5BoardV2eeoiySbAC_ACtFZ", - "moduleName": "DouShouQiModel", - "static": true, - "implicit": true, - "funcSelfKind": "NonMutating" - } - ], - "declKind": "Struct", - "usr": "s:14DouShouQiModel5BoardV", - "mangledName": "$s14DouShouQiModel5BoardV", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "conformances": [ - { - "kind": "Conformance", - "name": "Hashable", - "printedName": "Hashable", - "usr": "s:SH", - "mangledName": "$sSH" - }, - { - "kind": "Conformance", - "name": "Equatable", - "printedName": "Equatable", - "usr": "s:SQ", - "mangledName": "$sSQ" - } - ] - }, - { - "kind": "Import", - "name": "Foundation", - "printedName": "Foundation", - "declKind": "Import", - "moduleName": "DouShouQiModel" - }, - { - "kind": "TypeDecl", - "name": "Piece", - "printedName": "Piece", - "children": [ - { - "kind": "Var", - "name": "description", - "printedName": "description", - "children": [ - { - "kind": "TypeNominal", - "name": "String", - "printedName": "Swift.String", - "usr": "s:SS" - } - ], - "declKind": "Var", - "usr": "s:14DouShouQiModel5PieceV11descriptionSSvp", - "mangledName": "$s14DouShouQiModel5PieceV11descriptionSSvp", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "accessors": [ - { - "kind": "Accessor", - "name": "Get", - "printedName": "Get()", - "children": [ - { - "kind": "TypeNominal", - "name": "String", - "printedName": "Swift.String", - "usr": "s:SS" - } - ], - "declKind": "Accessor", - "usr": "s:14DouShouQiModel5PieceV11descriptionSSvg", - "mangledName": "$s14DouShouQiModel5PieceV11descriptionSSvg", - "moduleName": "DouShouQiModel", - "accessorKind": "get" - } - ] - }, - { - "kind": "Var", - "name": "owner", - "printedName": "owner", - "children": [ - { - "kind": "TypeNominal", - "name": "Owner", - "printedName": "DouShouQiModel.Owner", - "usr": "s:14DouShouQiModel5OwnerO" - } - ], - "declKind": "Var", - "usr": "s:14DouShouQiModel5PieceV5ownerAA5OwnerOvp", - "mangledName": "$s14DouShouQiModel5PieceV5ownerAA5OwnerOvp", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "HasStorage", - "AccessControl" - ], - "isLet": true, - "hasStorage": true, - "accessors": [ - { - "kind": "Accessor", - "name": "Get", - "printedName": "Get()", - "children": [ - { - "kind": "TypeNominal", - "name": "Owner", - "printedName": "DouShouQiModel.Owner", - "usr": "s:14DouShouQiModel5OwnerO" - } - ], - "declKind": "Accessor", - "usr": "s:14DouShouQiModel5PieceV5ownerAA5OwnerOvg", - "mangledName": "$s14DouShouQiModel5PieceV5ownerAA5OwnerOvg", - "moduleName": "DouShouQiModel", - "implicit": true, - "accessorKind": "get" - } - ] - }, - { - "kind": "Var", - "name": "animal", - "printedName": "animal", - "children": [ - { - "kind": "TypeNominal", - "name": "Animal", - "printedName": "DouShouQiModel.Animal", - "usr": "s:14DouShouQiModel6AnimalO" - } - ], - "declKind": "Var", - "usr": "s:14DouShouQiModel5PieceV6animalAA6AnimalOvp", - "mangledName": "$s14DouShouQiModel5PieceV6animalAA6AnimalOvp", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "HasStorage", - "AccessControl" - ], - "isLet": true, - "hasStorage": true, - "accessors": [ - { - "kind": "Accessor", - "name": "Get", - "printedName": "Get()", - "children": [ - { - "kind": "TypeNominal", - "name": "Animal", - "printedName": "DouShouQiModel.Animal", - "usr": "s:14DouShouQiModel6AnimalO" - } - ], - "declKind": "Accessor", - "usr": "s:14DouShouQiModel5PieceV6animalAA6AnimalOvg", - "mangledName": "$s14DouShouQiModel5PieceV6animalAA6AnimalOvg", - "moduleName": "DouShouQiModel", - "implicit": true, - "accessorKind": "get" - } - ] - }, - { - "kind": "Constructor", - "name": "init", - "printedName": "init(withOwner:andAnimal:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Piece", - "printedName": "DouShouQiModel.Piece", - "usr": "s:14DouShouQiModel5PieceV" - }, - { - "kind": "TypeNominal", - "name": "Owner", - "printedName": "DouShouQiModel.Owner", - "usr": "s:14DouShouQiModel5OwnerO" - }, - { - "kind": "TypeNominal", - "name": "Animal", - "printedName": "DouShouQiModel.Animal", - "usr": "s:14DouShouQiModel6AnimalO" - } - ], - "declKind": "Constructor", - "usr": "s:14DouShouQiModel5PieceV9withOwner9andAnimalAcA0G0O_AA0I0Otcfc", - "mangledName": "$s14DouShouQiModel5PieceV9withOwner9andAnimalAcA0G0O_AA0I0Otcfc", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "init_kind": "Designated" - }, - { - "kind": "Var", - "name": "hashValue", - "printedName": "hashValue", - "children": [ - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ], - "declKind": "Var", - "usr": "s:14DouShouQiModel5PieceV9hashValueSivp", - "mangledName": "$s14DouShouQiModel5PieceV9hashValueSivp", - "moduleName": "DouShouQiModel", - "implicit": true, - "accessors": [ - { - "kind": "Accessor", - "name": "Get", - "printedName": "Get()", - "children": [ - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ], - "declKind": "Accessor", - "usr": "s:14DouShouQiModel5PieceV9hashValueSivg", - "mangledName": "$s14DouShouQiModel5PieceV9hashValueSivg", - "moduleName": "DouShouQiModel", - "implicit": true, - "accessorKind": "get" - } - ] - }, - { - "kind": "Function", - "name": "hash", - "printedName": "hash(into:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - }, - { - "kind": "TypeNominal", - "name": "Hasher", - "printedName": "Swift.Hasher", - "paramValueOwnership": "InOut", - "usr": "s:s6HasherV" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel5PieceV4hash4intoys6HasherVz_tF", - "mangledName": "$s14DouShouQiModel5PieceV4hash4intoys6HasherVz_tF", - "moduleName": "DouShouQiModel", - "implicit": true, - "funcSelfKind": "NonMutating" - }, - { - "kind": "Function", - "name": "==", - "printedName": "==(_:_:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Bool", - "printedName": "Swift.Bool", - "usr": "s:Sb" - }, - { - "kind": "TypeNominal", - "name": "Piece", - "printedName": "DouShouQiModel.Piece", - "usr": "s:14DouShouQiModel5PieceV" - }, - { - "kind": "TypeNominal", - "name": "Piece", - "printedName": "DouShouQiModel.Piece", - "usr": "s:14DouShouQiModel5PieceV" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel5PieceV2eeoiySbAC_ACtFZ", - "mangledName": "$s14DouShouQiModel5PieceV2eeoiySbAC_ACtFZ", - "moduleName": "DouShouQiModel", - "static": true, - "implicit": true, - "funcSelfKind": "NonMutating" - } - ], - "declKind": "Struct", - "usr": "s:14DouShouQiModel5PieceV", - "mangledName": "$s14DouShouQiModel5PieceV", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "conformances": [ - { - "kind": "Conformance", - "name": "CustomStringConvertible", - "printedName": "CustomStringConvertible", - "usr": "s:s23CustomStringConvertibleP", - "mangledName": "$ss23CustomStringConvertibleP" - }, - { - "kind": "Conformance", - "name": "Hashable", - "printedName": "Hashable", - "usr": "s:SH", - "mangledName": "$sSH" - }, - { - "kind": "Conformance", - "name": "Equatable", - "printedName": "Equatable", - "usr": "s:SQ", - "mangledName": "$sSQ" - } - ] - }, - { - "kind": "Import", - "name": "Foundation", - "printedName": "Foundation", - "declKind": "Import", - "moduleName": "DouShouQiModel" - }, - { - "kind": "TypeDecl", - "name": "InvalidBoardError", - "printedName": "InvalidBoardError", - "children": [ - { - "kind": "Var", - "name": "unknownError", - "printedName": "unknownError", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.InvalidBoardError.Type) -> DouShouQiModel.InvalidBoardError", - "children": [ - { - "kind": "TypeNominal", - "name": "InvalidBoardError", - "printedName": "DouShouQiModel.InvalidBoardError", - "usr": "s:14DouShouQiModel17InvalidBoardErrorO" - }, - { - "kind": "TypeNominal", - "name": "Metatype", - "printedName": "DouShouQiModel.InvalidBoardError.Type", - "children": [ - { - "kind": "TypeNominal", - "name": "InvalidBoardError", - "printedName": "DouShouQiModel.InvalidBoardError", - "usr": "s:14DouShouQiModel17InvalidBoardErrorO" - } - ] - } - ] - } - ], - "declKind": "EnumElement", - "usr": "s:14DouShouQiModel17InvalidBoardErrorO07unknownG0yA2CmF", - "mangledName": "$s14DouShouQiModel17InvalidBoardErrorO07unknownG0yA2CmF", - "moduleName": "DouShouQiModel" - }, - { - "kind": "Var", - "name": "badDimensions", - "printedName": "badDimensions", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.InvalidBoardError.Type) -> (Swift.Int, Swift.Int) -> DouShouQiModel.InvalidBoardError", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(Swift.Int, Swift.Int) -> DouShouQiModel.InvalidBoardError", - "children": [ - { - "kind": "TypeNominal", - "name": "InvalidBoardError", - "printedName": "DouShouQiModel.InvalidBoardError", - "usr": "s:14DouShouQiModel17InvalidBoardErrorO" - }, - { - "kind": "TypeNominal", - "name": "Tuple", - "printedName": "(nbRows: Swift.Int, nbColumns: Swift.Int)", - "children": [ - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ] - } - ] - }, - { - "kind": "TypeNominal", - "name": "Metatype", - "printedName": "DouShouQiModel.InvalidBoardError.Type", - "children": [ - { - "kind": "TypeNominal", - "name": "InvalidBoardError", - "printedName": "DouShouQiModel.InvalidBoardError", - "usr": "s:14DouShouQiModel17InvalidBoardErrorO" - } - ] - } - ] - } - ], - "declKind": "EnumElement", - "usr": "s:14DouShouQiModel17InvalidBoardErrorO13badDimensionsyACSi_SitcACmF", - "mangledName": "$s14DouShouQiModel17InvalidBoardErrorO13badDimensionsyACSi_SitcACmF", - "moduleName": "DouShouQiModel" - }, - { - "kind": "Var", - "name": "badCellType", - "printedName": "badCellType", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.InvalidBoardError.Type) -> (DouShouQiModel.CellType, Swift.Int, Swift.Int) -> DouShouQiModel.InvalidBoardError", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.CellType, Swift.Int, Swift.Int) -> DouShouQiModel.InvalidBoardError", - "children": [ - { - "kind": "TypeNominal", - "name": "InvalidBoardError", - "printedName": "DouShouQiModel.InvalidBoardError", - "usr": "s:14DouShouQiModel17InvalidBoardErrorO" - }, - { - "kind": "TypeNominal", - "name": "Tuple", - "printedName": "(cellType: DouShouQiModel.CellType, row: Swift.Int, column: Swift.Int)", - "children": [ - { - "kind": "TypeNominal", - "name": "CellType", - "printedName": "DouShouQiModel.CellType", - "usr": "s:14DouShouQiModel8CellTypeO" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ] - } - ] - }, - { - "kind": "TypeNominal", - "name": "Metatype", - "printedName": "DouShouQiModel.InvalidBoardError.Type", - "children": [ - { - "kind": "TypeNominal", - "name": "InvalidBoardError", - "printedName": "DouShouQiModel.InvalidBoardError", - "usr": "s:14DouShouQiModel17InvalidBoardErrorO" - } - ] - } - ] - } - ], - "declKind": "EnumElement", - "usr": "s:14DouShouQiModel17InvalidBoardErrorO11badCellTypeyAcA0iJ0O_S2itcACmF", - "mangledName": "$s14DouShouQiModel17InvalidBoardErrorO11badCellTypeyAcA0iJ0O_S2itcACmF", - "moduleName": "DouShouQiModel" - }, - { - "kind": "Var", - "name": "multipleOccurenceOfSamePiece", - "printedName": "multipleOccurenceOfSamePiece", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.InvalidBoardError.Type) -> (DouShouQiModel.Piece) -> DouShouQiModel.InvalidBoardError", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.Piece) -> DouShouQiModel.InvalidBoardError", - "children": [ - { - "kind": "TypeNominal", - "name": "InvalidBoardError", - "printedName": "DouShouQiModel.InvalidBoardError", - "usr": "s:14DouShouQiModel17InvalidBoardErrorO" - }, - { - "kind": "TypeNominal", - "name": "Tuple", - "printedName": "(piece: DouShouQiModel.Piece)", - "children": [ - { - "kind": "TypeNominal", - "name": "Piece", - "printedName": "DouShouQiModel.Piece", - "usr": "s:14DouShouQiModel5PieceV" - } - ] - } - ] - }, - { - "kind": "TypeNominal", - "name": "Metatype", - "printedName": "DouShouQiModel.InvalidBoardError.Type", - "children": [ - { - "kind": "TypeNominal", - "name": "InvalidBoardError", - "printedName": "DouShouQiModel.InvalidBoardError", - "usr": "s:14DouShouQiModel17InvalidBoardErrorO" - } - ] - } - ] - } - ], - "declKind": "EnumElement", - "usr": "s:14DouShouQiModel17InvalidBoardErrorO28multipleOccurenceOfSamePieceyAcA0L0V_tcACmF", - "mangledName": "$s14DouShouQiModel17InvalidBoardErrorO28multipleOccurenceOfSamePieceyAcA0L0V_tcACmF", - "moduleName": "DouShouQiModel" - }, - { - "kind": "Var", - "name": "pieceWithNoOwner", - "printedName": "pieceWithNoOwner", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.InvalidBoardError.Type) -> (DouShouQiModel.Piece) -> DouShouQiModel.InvalidBoardError", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.Piece) -> DouShouQiModel.InvalidBoardError", - "children": [ - { - "kind": "TypeNominal", - "name": "InvalidBoardError", - "printedName": "DouShouQiModel.InvalidBoardError", - "usr": "s:14DouShouQiModel17InvalidBoardErrorO" - }, - { - "kind": "TypeNominal", - "name": "Tuple", - "printedName": "(piece: DouShouQiModel.Piece)", - "children": [ - { - "kind": "TypeNominal", - "name": "Piece", - "printedName": "DouShouQiModel.Piece", - "usr": "s:14DouShouQiModel5PieceV" - } - ] - } - ] - }, - { - "kind": "TypeNominal", - "name": "Metatype", - "printedName": "DouShouQiModel.InvalidBoardError.Type", - "children": [ - { - "kind": "TypeNominal", - "name": "InvalidBoardError", - "printedName": "DouShouQiModel.InvalidBoardError", - "usr": "s:14DouShouQiModel17InvalidBoardErrorO" - } - ] - } - ] - } - ], - "declKind": "EnumElement", - "usr": "s:14DouShouQiModel17InvalidBoardErrorO16pieceWithNoOwneryAcA5PieceV_tcACmF", - "mangledName": "$s14DouShouQiModel17InvalidBoardErrorO16pieceWithNoOwneryAcA5PieceV_tcACmF", - "moduleName": "DouShouQiModel" - }, - { - "kind": "Var", - "name": "pieceNotAllowedOnThisCell", - "printedName": "pieceNotAllowedOnThisCell", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.InvalidBoardError.Type) -> (DouShouQiModel.Piece, DouShouQiModel.Cell) -> DouShouQiModel.InvalidBoardError", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.Piece, DouShouQiModel.Cell) -> DouShouQiModel.InvalidBoardError", - "children": [ - { - "kind": "TypeNominal", - "name": "InvalidBoardError", - "printedName": "DouShouQiModel.InvalidBoardError", - "usr": "s:14DouShouQiModel17InvalidBoardErrorO" - }, - { - "kind": "TypeNominal", - "name": "Tuple", - "printedName": "(piece: DouShouQiModel.Piece, cell: DouShouQiModel.Cell)", - "children": [ - { - "kind": "TypeNominal", - "name": "Piece", - "printedName": "DouShouQiModel.Piece", - "usr": "s:14DouShouQiModel5PieceV" - }, - { - "kind": "TypeNominal", - "name": "Cell", - "printedName": "DouShouQiModel.Cell", - "usr": "s:14DouShouQiModel4CellV" - } - ] - } - ] - }, - { - "kind": "TypeNominal", - "name": "Metatype", - "printedName": "DouShouQiModel.InvalidBoardError.Type", - "children": [ - { - "kind": "TypeNominal", - "name": "InvalidBoardError", - "printedName": "DouShouQiModel.InvalidBoardError", - "usr": "s:14DouShouQiModel17InvalidBoardErrorO" - } - ] - } - ] - } - ], - "declKind": "EnumElement", - "usr": "s:14DouShouQiModel17InvalidBoardErrorO25pieceNotAllowedOnThisCellyAcA5PieceV_AA0M0VtcACmF", - "mangledName": "$s14DouShouQiModel17InvalidBoardErrorO25pieceNotAllowedOnThisCellyAcA5PieceV_AA0M0VtcACmF", - "moduleName": "DouShouQiModel" - }, - { - "kind": "Function", - "name": "==", - "printedName": "==(_:_:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Bool", - "printedName": "Swift.Bool", - "usr": "s:Sb" - }, - { - "kind": "TypeNominal", - "name": "InvalidBoardError", - "printedName": "DouShouQiModel.InvalidBoardError", - "usr": "s:14DouShouQiModel17InvalidBoardErrorO" - }, - { - "kind": "TypeNominal", - "name": "InvalidBoardError", - "printedName": "DouShouQiModel.InvalidBoardError", - "usr": "s:14DouShouQiModel17InvalidBoardErrorO" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel17InvalidBoardErrorO2eeoiySbAC_ACtFZ", - "mangledName": "$s14DouShouQiModel17InvalidBoardErrorO2eeoiySbAC_ACtFZ", - "moduleName": "DouShouQiModel", - "static": true, - "implicit": true, - "funcSelfKind": "NonMutating" - } - ], - "declKind": "Enum", - "usr": "s:14DouShouQiModel17InvalidBoardErrorO", - "mangledName": "$s14DouShouQiModel17InvalidBoardErrorO", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "conformances": [ - { - "kind": "Conformance", - "name": "Error", - "printedName": "Error", - "usr": "s:s5ErrorP", - "mangledName": "$ss5ErrorP" - }, - { - "kind": "Conformance", - "name": "Equatable", - "printedName": "Equatable", - "usr": "s:SQ", - "mangledName": "$sSQ" - }, - { - "kind": "Conformance", - "name": "Sendable", - "printedName": "Sendable", - "usr": "s:s8SendableP", - "mangledName": "$ss8SendableP" - } - ] - }, - { - "kind": "Import", - "name": "Foundation", - "printedName": "Foundation", - "declKind": "Import", - "moduleName": "DouShouQiModel" - }, - { - "kind": "TypeDecl", - "name": "Owner", - "printedName": "Owner", - "children": [ - { - "kind": "Var", - "name": "noOne", - "printedName": "noOne", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.Owner.Type) -> DouShouQiModel.Owner", - "children": [ - { - "kind": "TypeNominal", - "name": "Owner", - "printedName": "DouShouQiModel.Owner", - "usr": "s:14DouShouQiModel5OwnerO" - }, - { - "kind": "TypeNominal", - "name": "Metatype", - "printedName": "DouShouQiModel.Owner.Type", - "children": [ - { - "kind": "TypeNominal", - "name": "Owner", - "printedName": "DouShouQiModel.Owner", - "usr": "s:14DouShouQiModel5OwnerO" - } - ] - } - ] - } - ], - "declKind": "EnumElement", - "usr": "s:14DouShouQiModel5OwnerO5noOneyA2CmF", - "mangledName": "$s14DouShouQiModel5OwnerO5noOneyA2CmF", - "moduleName": "DouShouQiModel" - }, - { - "kind": "Var", - "name": "player1", - "printedName": "player1", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.Owner.Type) -> DouShouQiModel.Owner", - "children": [ - { - "kind": "TypeNominal", - "name": "Owner", - "printedName": "DouShouQiModel.Owner", - "usr": "s:14DouShouQiModel5OwnerO" - }, - { - "kind": "TypeNominal", - "name": "Metatype", - "printedName": "DouShouQiModel.Owner.Type", - "children": [ - { - "kind": "TypeNominal", - "name": "Owner", - "printedName": "DouShouQiModel.Owner", - "usr": "s:14DouShouQiModel5OwnerO" - } - ] - } - ] - } - ], - "declKind": "EnumElement", - "usr": "s:14DouShouQiModel5OwnerO7player1yA2CmF", - "mangledName": "$s14DouShouQiModel5OwnerO7player1yA2CmF", - "moduleName": "DouShouQiModel" - }, - { - "kind": "Var", - "name": "player2", - "printedName": "player2", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.Owner.Type) -> DouShouQiModel.Owner", - "children": [ - { - "kind": "TypeNominal", - "name": "Owner", - "printedName": "DouShouQiModel.Owner", - "usr": "s:14DouShouQiModel5OwnerO" - }, - { - "kind": "TypeNominal", - "name": "Metatype", - "printedName": "DouShouQiModel.Owner.Type", - "children": [ - { - "kind": "TypeNominal", - "name": "Owner", - "printedName": "DouShouQiModel.Owner", - "usr": "s:14DouShouQiModel5OwnerO" - } - ] - } - ] - } - ], - "declKind": "EnumElement", - "usr": "s:14DouShouQiModel5OwnerO7player2yA2CmF", - "mangledName": "$s14DouShouQiModel5OwnerO7player2yA2CmF", - "moduleName": "DouShouQiModel" - }, - { - "kind": "Var", - "name": "simpleDescription", - "printedName": "simpleDescription", - "children": [ - { - "kind": "TypeNominal", - "name": "String", - "printedName": "Swift.String", - "usr": "s:SS" - } - ], - "declKind": "Var", - "usr": "s:14DouShouQiModel5OwnerO17simpleDescriptionSSvp", - "mangledName": "$s14DouShouQiModel5OwnerO17simpleDescriptionSSvp", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "accessors": [ - { - "kind": "Accessor", - "name": "Get", - "printedName": "Get()", - "children": [ - { - "kind": "TypeNominal", - "name": "String", - "printedName": "Swift.String", - "usr": "s:SS" - } - ], - "declKind": "Accessor", - "usr": "s:14DouShouQiModel5OwnerO17simpleDescriptionSSvg", - "mangledName": "$s14DouShouQiModel5OwnerO17simpleDescriptionSSvg", - "moduleName": "DouShouQiModel", - "accessorKind": "get" - } - ] - }, - { - "kind": "Function", - "name": "==", - "printedName": "==(_:_:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Bool", - "printedName": "Swift.Bool", - "usr": "s:Sb" - }, - { - "kind": "TypeNominal", - "name": "Owner", - "printedName": "DouShouQiModel.Owner", - "usr": "s:14DouShouQiModel5OwnerO" - }, - { - "kind": "TypeNominal", - "name": "Owner", - "printedName": "DouShouQiModel.Owner", - "usr": "s:14DouShouQiModel5OwnerO" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel5OwnerO2eeoiySbAC_ACtFZ", - "mangledName": "$s14DouShouQiModel5OwnerO2eeoiySbAC_ACtFZ", - "moduleName": "DouShouQiModel", - "static": true, - "implicit": true, - "funcSelfKind": "NonMutating" - }, - { - "kind": "Var", - "name": "hashValue", - "printedName": "hashValue", - "children": [ - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ], - "declKind": "Var", - "usr": "s:14DouShouQiModel5OwnerO9hashValueSivp", - "mangledName": "$s14DouShouQiModel5OwnerO9hashValueSivp", - "moduleName": "DouShouQiModel", - "implicit": true, - "accessors": [ - { - "kind": "Accessor", - "name": "Get", - "printedName": "Get()", - "children": [ - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ], - "declKind": "Accessor", - "usr": "s:14DouShouQiModel5OwnerO9hashValueSivg", - "mangledName": "$s14DouShouQiModel5OwnerO9hashValueSivg", - "moduleName": "DouShouQiModel", - "implicit": true, - "accessorKind": "get" - } - ] - }, - { - "kind": "Function", - "name": "hash", - "printedName": "hash(into:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - }, - { - "kind": "TypeNominal", - "name": "Hasher", - "printedName": "Swift.Hasher", - "paramValueOwnership": "InOut", - "usr": "s:s6HasherV" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel5OwnerO4hash4intoys6HasherVz_tF", - "mangledName": "$s14DouShouQiModel5OwnerO4hash4intoys6HasherVz_tF", - "moduleName": "DouShouQiModel", - "implicit": true, - "funcSelfKind": "NonMutating" - } - ], - "declKind": "Enum", - "usr": "s:14DouShouQiModel5OwnerO", - "mangledName": "$s14DouShouQiModel5OwnerO", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "conformances": [ - { - "kind": "Conformance", - "name": "Equatable", - "printedName": "Equatable", - "usr": "s:SQ", - "mangledName": "$sSQ" - }, - { - "kind": "Conformance", - "name": "Hashable", - "printedName": "Hashable", - "usr": "s:SH", - "mangledName": "$sSH" - } - ] - }, - { - "kind": "Import", - "name": "Foundation", - "printedName": "Foundation", - "declKind": "Import", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "RawDocComment" - ] - }, - { - "kind": "TypeDecl", - "name": "IAPlayer", - "printedName": "IAPlayer", - "children": [ - { - "kind": "Constructor", - "name": "init", - "printedName": "init(withName:andId:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Optional", - "printedName": "DouShouQiModel.IAPlayer?", - "children": [ - { - "kind": "TypeNominal", - "name": "IAPlayer", - "printedName": "DouShouQiModel.IAPlayer", - "usr": "s:14DouShouQiModel8IAPlayerC" - } - ], - "usr": "s:Sq" - }, - { - "kind": "TypeNominal", - "name": "String", - "printedName": "Swift.String", - "usr": "s:SS" - }, - { - "kind": "TypeNominal", - "name": "Owner", - "printedName": "DouShouQiModel.Owner", - "usr": "s:14DouShouQiModel5OwnerO" - } - ], - "declKind": "Constructor", - "usr": "s:14DouShouQiModel8IAPlayerC8withName5andIdACSgSS_AA5OwnerOtcfc", - "mangledName": "$s14DouShouQiModel8IAPlayerC8withName5andIdACSgSS_AA5OwnerOtcfc", - "moduleName": "DouShouQiModel", - "overriding": true, - "implicit": true, - "declAttributes": [ - "Override" - ], - "init_kind": "Designated" - } - ], - "declKind": "Class", - "usr": "s:14DouShouQiModel8IAPlayerC", - "mangledName": "$s14DouShouQiModel8IAPlayerC", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "superclassUsr": "s:14DouShouQiModel6PlayerC", - "inheritsConvenienceInitializers": true, - "superclassNames": [ - "DouShouQiModel.Player" - ] - }, - { - "kind": "Import", - "name": "Foundation", - "printedName": "Foundation", - "declKind": "Import", - "moduleName": "DouShouQiModel" - }, - { - "kind": "TypeDecl", - "name": "Move", - "printedName": "Move", - "children": [ - { - "kind": "Var", - "name": "owner", - "printedName": "owner", - "children": [ - { - "kind": "TypeNominal", - "name": "Owner", - "printedName": "DouShouQiModel.Owner", - "usr": "s:14DouShouQiModel5OwnerO" - } - ], - "declKind": "Var", - "usr": "s:14DouShouQiModel4MoveV5ownerAA5OwnerOvp", - "mangledName": "$s14DouShouQiModel4MoveV5ownerAA5OwnerOvp", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "HasStorage", - "AccessControl" - ], - "isLet": true, - "hasStorage": true, - "accessors": [ - { - "kind": "Accessor", - "name": "Get", - "printedName": "Get()", - "children": [ - { - "kind": "TypeNominal", - "name": "Owner", - "printedName": "DouShouQiModel.Owner", - "usr": "s:14DouShouQiModel5OwnerO" - } - ], - "declKind": "Accessor", - "usr": "s:14DouShouQiModel4MoveV5ownerAA5OwnerOvg", - "mangledName": "$s14DouShouQiModel4MoveV5ownerAA5OwnerOvg", - "moduleName": "DouShouQiModel", - "implicit": true, - "accessorKind": "get" - } - ] - }, - { - "kind": "Var", - "name": "rowOrigin", - "printedName": "rowOrigin", - "children": [ - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ], - "declKind": "Var", - "usr": "s:14DouShouQiModel4MoveV9rowOriginSivp", - "mangledName": "$s14DouShouQiModel4MoveV9rowOriginSivp", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "HasStorage", - "AccessControl" - ], - "isLet": true, - "hasStorage": true, - "accessors": [ - { - "kind": "Accessor", - "name": "Get", - "printedName": "Get()", - "children": [ - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ], - "declKind": "Accessor", - "usr": "s:14DouShouQiModel4MoveV9rowOriginSivg", - "mangledName": "$s14DouShouQiModel4MoveV9rowOriginSivg", - "moduleName": "DouShouQiModel", - "implicit": true, - "accessorKind": "get" - } - ] - }, - { - "kind": "Var", - "name": "columnOrigin", - "printedName": "columnOrigin", - "children": [ - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ], - "declKind": "Var", - "usr": "s:14DouShouQiModel4MoveV12columnOriginSivp", - "mangledName": "$s14DouShouQiModel4MoveV12columnOriginSivp", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "HasStorage", - "AccessControl" - ], - "isLet": true, - "hasStorage": true, - "accessors": [ - { - "kind": "Accessor", - "name": "Get", - "printedName": "Get()", - "children": [ - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ], - "declKind": "Accessor", - "usr": "s:14DouShouQiModel4MoveV12columnOriginSivg", - "mangledName": "$s14DouShouQiModel4MoveV12columnOriginSivg", - "moduleName": "DouShouQiModel", - "implicit": true, - "accessorKind": "get" - } - ] - }, - { - "kind": "Var", - "name": "rowDestination", - "printedName": "rowDestination", - "children": [ - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ], - "declKind": "Var", - "usr": "s:14DouShouQiModel4MoveV14rowDestinationSivp", - "mangledName": "$s14DouShouQiModel4MoveV14rowDestinationSivp", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "HasStorage", - "AccessControl" - ], - "isLet": true, - "hasStorage": true, - "accessors": [ - { - "kind": "Accessor", - "name": "Get", - "printedName": "Get()", - "children": [ - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ], - "declKind": "Accessor", - "usr": "s:14DouShouQiModel4MoveV14rowDestinationSivg", - "mangledName": "$s14DouShouQiModel4MoveV14rowDestinationSivg", - "moduleName": "DouShouQiModel", - "implicit": true, - "accessorKind": "get" - } - ] - }, - { - "kind": "Var", - "name": "columnDestination", - "printedName": "columnDestination", - "children": [ - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ], - "declKind": "Var", - "usr": "s:14DouShouQiModel4MoveV17columnDestinationSivp", - "mangledName": "$s14DouShouQiModel4MoveV17columnDestinationSivp", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "HasStorage", - "AccessControl" - ], - "isLet": true, - "hasStorage": true, - "accessors": [ - { - "kind": "Accessor", - "name": "Get", - "printedName": "Get()", - "children": [ - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ], - "declKind": "Accessor", - "usr": "s:14DouShouQiModel4MoveV17columnDestinationSivg", - "mangledName": "$s14DouShouQiModel4MoveV17columnDestinationSivg", - "moduleName": "DouShouQiModel", - "implicit": true, - "accessorKind": "get" - } - ] - }, - { - "kind": "Constructor", - "name": "init", - "printedName": "init(of:fromRow:andFromColumn:toRow:andToColumn:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Move", - "printedName": "DouShouQiModel.Move", - "usr": "s:14DouShouQiModel4MoveV" - }, - { - "kind": "TypeNominal", - "name": "Owner", - "printedName": "DouShouQiModel.Owner", - "usr": "s:14DouShouQiModel5OwnerO" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ], - "declKind": "Constructor", - "usr": "s:14DouShouQiModel4MoveV2of7fromRow13andFromColumn02toH00i2ToK0AcA5OwnerO_S4itcfc", - "mangledName": "$s14DouShouQiModel4MoveV2of7fromRow13andFromColumn02toH00i2ToK0AcA5OwnerO_S4itcfc", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "init_kind": "Designated" - }, - { - "kind": "Var", - "name": "description", - "printedName": "description", - "children": [ - { - "kind": "TypeNominal", - "name": "String", - "printedName": "Swift.String", - "usr": "s:SS" - } - ], - "declKind": "Var", - "usr": "s:14DouShouQiModel4MoveV11descriptionSSvp", - "mangledName": "$s14DouShouQiModel4MoveV11descriptionSSvp", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "accessors": [ - { - "kind": "Accessor", - "name": "Get", - "printedName": "Get()", - "children": [ - { - "kind": "TypeNominal", - "name": "String", - "printedName": "Swift.String", - "usr": "s:SS" - } - ], - "declKind": "Accessor", - "usr": "s:14DouShouQiModel4MoveV11descriptionSSvg", - "mangledName": "$s14DouShouQiModel4MoveV11descriptionSSvg", - "moduleName": "DouShouQiModel", - "accessorKind": "get" - } - ] - }, - { - "kind": "Function", - "name": "==", - "printedName": "==(_:_:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Bool", - "printedName": "Swift.Bool", - "usr": "s:Sb" - }, - { - "kind": "TypeNominal", - "name": "Move", - "printedName": "DouShouQiModel.Move", - "usr": "s:14DouShouQiModel4MoveV" - }, - { - "kind": "TypeNominal", - "name": "Move", - "printedName": "DouShouQiModel.Move", - "usr": "s:14DouShouQiModel4MoveV" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel4MoveV2eeoiySbAC_ACtFZ", - "mangledName": "$s14DouShouQiModel4MoveV2eeoiySbAC_ACtFZ", - "moduleName": "DouShouQiModel", - "static": true, - "implicit": true, - "funcSelfKind": "NonMutating" - } - ], - "declKind": "Struct", - "usr": "s:14DouShouQiModel4MoveV", - "mangledName": "$s14DouShouQiModel4MoveV", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "conformances": [ - { - "kind": "Conformance", - "name": "CustomStringConvertible", - "printedName": "CustomStringConvertible", - "usr": "s:s23CustomStringConvertibleP", - "mangledName": "$ss23CustomStringConvertibleP" - }, - { - "kind": "Conformance", - "name": "Equatable", - "printedName": "Equatable", - "usr": "s:SQ", - "mangledName": "$sSQ" - } - ] - }, - { - "kind": "Import", - "name": "Foundation", - "printedName": "Foundation", - "declKind": "Import", - "moduleName": "DouShouQiModel" - }, - { - "kind": "TypeDecl", - "name": "Animal", - "printedName": "Animal", - "children": [ - { - "kind": "Var", - "name": "rat", - "printedName": "rat", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.Animal.Type) -> DouShouQiModel.Animal", - "children": [ - { - "kind": "TypeNominal", - "name": "Animal", - "printedName": "DouShouQiModel.Animal", - "usr": "s:14DouShouQiModel6AnimalO" - }, - { - "kind": "TypeNominal", - "name": "Metatype", - "printedName": "DouShouQiModel.Animal.Type", - "children": [ - { - "kind": "TypeNominal", - "name": "Animal", - "printedName": "DouShouQiModel.Animal", - "usr": "s:14DouShouQiModel6AnimalO" - } - ] - } - ] - } - ], - "declKind": "EnumElement", - "usr": "s:14DouShouQiModel6AnimalO3ratyA2CmF", - "mangledName": "$s14DouShouQiModel6AnimalO3ratyA2CmF", - "moduleName": "DouShouQiModel" - }, - { - "kind": "Var", - "name": "cat", - "printedName": "cat", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.Animal.Type) -> DouShouQiModel.Animal", - "children": [ - { - "kind": "TypeNominal", - "name": "Animal", - "printedName": "DouShouQiModel.Animal", - "usr": "s:14DouShouQiModel6AnimalO" - }, - { - "kind": "TypeNominal", - "name": "Metatype", - "printedName": "DouShouQiModel.Animal.Type", - "children": [ - { - "kind": "TypeNominal", - "name": "Animal", - "printedName": "DouShouQiModel.Animal", - "usr": "s:14DouShouQiModel6AnimalO" - } - ] - } - ] - } - ], - "declKind": "EnumElement", - "usr": "s:14DouShouQiModel6AnimalO3catyA2CmF", - "mangledName": "$s14DouShouQiModel6AnimalO3catyA2CmF", - "moduleName": "DouShouQiModel" - }, - { - "kind": "Var", - "name": "dog", - "printedName": "dog", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.Animal.Type) -> DouShouQiModel.Animal", - "children": [ - { - "kind": "TypeNominal", - "name": "Animal", - "printedName": "DouShouQiModel.Animal", - "usr": "s:14DouShouQiModel6AnimalO" - }, - { - "kind": "TypeNominal", - "name": "Metatype", - "printedName": "DouShouQiModel.Animal.Type", - "children": [ - { - "kind": "TypeNominal", - "name": "Animal", - "printedName": "DouShouQiModel.Animal", - "usr": "s:14DouShouQiModel6AnimalO" - } - ] - } - ] - } - ], - "declKind": "EnumElement", - "usr": "s:14DouShouQiModel6AnimalO3dogyA2CmF", - "mangledName": "$s14DouShouQiModel6AnimalO3dogyA2CmF", - "moduleName": "DouShouQiModel" - }, - { - "kind": "Var", - "name": "wolf", - "printedName": "wolf", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.Animal.Type) -> DouShouQiModel.Animal", - "children": [ - { - "kind": "TypeNominal", - "name": "Animal", - "printedName": "DouShouQiModel.Animal", - "usr": "s:14DouShouQiModel6AnimalO" - }, - { - "kind": "TypeNominal", - "name": "Metatype", - "printedName": "DouShouQiModel.Animal.Type", - "children": [ - { - "kind": "TypeNominal", - "name": "Animal", - "printedName": "DouShouQiModel.Animal", - "usr": "s:14DouShouQiModel6AnimalO" - } - ] - } - ] - } - ], - "declKind": "EnumElement", - "usr": "s:14DouShouQiModel6AnimalO4wolfyA2CmF", - "mangledName": "$s14DouShouQiModel6AnimalO4wolfyA2CmF", - "moduleName": "DouShouQiModel" - }, - { - "kind": "Var", - "name": "leopard", - "printedName": "leopard", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.Animal.Type) -> DouShouQiModel.Animal", - "children": [ - { - "kind": "TypeNominal", - "name": "Animal", - "printedName": "DouShouQiModel.Animal", - "usr": "s:14DouShouQiModel6AnimalO" - }, - { - "kind": "TypeNominal", - "name": "Metatype", - "printedName": "DouShouQiModel.Animal.Type", - "children": [ - { - "kind": "TypeNominal", - "name": "Animal", - "printedName": "DouShouQiModel.Animal", - "usr": "s:14DouShouQiModel6AnimalO" - } - ] - } - ] - } - ], - "declKind": "EnumElement", - "usr": "s:14DouShouQiModel6AnimalO7leopardyA2CmF", - "mangledName": "$s14DouShouQiModel6AnimalO7leopardyA2CmF", - "moduleName": "DouShouQiModel" - }, - { - "kind": "Var", - "name": "tiger", - "printedName": "tiger", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.Animal.Type) -> DouShouQiModel.Animal", - "children": [ - { - "kind": "TypeNominal", - "name": "Animal", - "printedName": "DouShouQiModel.Animal", - "usr": "s:14DouShouQiModel6AnimalO" - }, - { - "kind": "TypeNominal", - "name": "Metatype", - "printedName": "DouShouQiModel.Animal.Type", - "children": [ - { - "kind": "TypeNominal", - "name": "Animal", - "printedName": "DouShouQiModel.Animal", - "usr": "s:14DouShouQiModel6AnimalO" - } - ] - } - ] - } - ], - "declKind": "EnumElement", - "usr": "s:14DouShouQiModel6AnimalO5tigeryA2CmF", - "mangledName": "$s14DouShouQiModel6AnimalO5tigeryA2CmF", - "moduleName": "DouShouQiModel" - }, - { - "kind": "Var", - "name": "lion", - "printedName": "lion", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.Animal.Type) -> DouShouQiModel.Animal", - "children": [ - { - "kind": "TypeNominal", - "name": "Animal", - "printedName": "DouShouQiModel.Animal", - "usr": "s:14DouShouQiModel6AnimalO" - }, - { - "kind": "TypeNominal", - "name": "Metatype", - "printedName": "DouShouQiModel.Animal.Type", - "children": [ - { - "kind": "TypeNominal", - "name": "Animal", - "printedName": "DouShouQiModel.Animal", - "usr": "s:14DouShouQiModel6AnimalO" - } - ] - } - ] - } - ], - "declKind": "EnumElement", - "usr": "s:14DouShouQiModel6AnimalO4lionyA2CmF", - "mangledName": "$s14DouShouQiModel6AnimalO4lionyA2CmF", - "moduleName": "DouShouQiModel" - }, - { - "kind": "Var", - "name": "elephant", - "printedName": "elephant", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.Animal.Type) -> DouShouQiModel.Animal", - "children": [ - { - "kind": "TypeNominal", - "name": "Animal", - "printedName": "DouShouQiModel.Animal", - "usr": "s:14DouShouQiModel6AnimalO" - }, - { - "kind": "TypeNominal", - "name": "Metatype", - "printedName": "DouShouQiModel.Animal.Type", - "children": [ - { - "kind": "TypeNominal", - "name": "Animal", - "printedName": "DouShouQiModel.Animal", - "usr": "s:14DouShouQiModel6AnimalO" - } - ] - } - ] - } - ], - "declKind": "EnumElement", - "usr": "s:14DouShouQiModel6AnimalO8elephantyA2CmF", - "mangledName": "$s14DouShouQiModel6AnimalO8elephantyA2CmF", - "moduleName": "DouShouQiModel" - }, - { - "kind": "Var", - "name": "rawValue", - "printedName": "rawValue", - "children": [ - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ], - "declKind": "Var", - "usr": "s:14DouShouQiModel6AnimalO8rawValueSivp", - "mangledName": "$s14DouShouQiModel6AnimalO8rawValueSivp", - "moduleName": "DouShouQiModel", - "implicit": true, - "accessors": [ - { - "kind": "Accessor", - "name": "Get", - "printedName": "Get()", - "children": [ - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ], - "declKind": "Accessor", - "usr": "s:14DouShouQiModel6AnimalO8rawValueSivg", - "mangledName": "$s14DouShouQiModel6AnimalO8rawValueSivg", - "moduleName": "DouShouQiModel", - "implicit": true, - "accessorKind": "get" - } - ] - }, - { - "kind": "Constructor", - "name": "init", - "printedName": "init(rawValue:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Optional", - "printedName": "DouShouQiModel.Animal?", - "children": [ - { - "kind": "TypeNominal", - "name": "Animal", - "printedName": "DouShouQiModel.Animal", - "usr": "s:14DouShouQiModel6AnimalO" - } - ], - "usr": "s:Sq" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ], - "declKind": "Constructor", - "usr": "s:14DouShouQiModel6AnimalO8rawValueACSgSi_tcfc", - "mangledName": "$s14DouShouQiModel6AnimalO8rawValueACSgSi_tcfc", - "moduleName": "DouShouQiModel", - "implicit": true, - "init_kind": "Designated" - } - ], - "declKind": "Enum", - "usr": "s:14DouShouQiModel6AnimalO", - "mangledName": "$s14DouShouQiModel6AnimalO", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "enumRawTypeName": "Int", - "conformances": [ - { - "kind": "Conformance", - "name": "Equatable", - "printedName": "Equatable", - "usr": "s:SQ", - "mangledName": "$sSQ" - }, - { - "kind": "Conformance", - "name": "Hashable", - "printedName": "Hashable", - "usr": "s:SH", - "mangledName": "$sSH" - }, - { - "kind": "Conformance", - "name": "RawRepresentable", - "printedName": "RawRepresentable", - "children": [ - { - "kind": "TypeWitness", - "name": "RawValue", - "printedName": "RawValue", - "children": [ - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ] - } - ], - "usr": "s:SY", - "mangledName": "$sSY" - } - ] - }, - { - "kind": "Import", - "name": "Foundation", - "printedName": "Foundation", - "declKind": "Import", - "moduleName": "DouShouQiModel" - }, - { - "kind": "TypeDecl", - "name": "Game", - "printedName": "Game", - "children": [ - { - "kind": "Var", - "name": "board", - "printedName": "board", - "children": [ - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - } - ], - "declKind": "Var", - "usr": "s:14DouShouQiModel4GameC5boardAA5BoardVvp", - "mangledName": "$s14DouShouQiModel4GameC5boardAA5BoardVvp", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "HasStorage", - "SetterAccess", - "AccessControl" - ], - "hasStorage": true, - "accessors": [ - { - "kind": "Accessor", - "name": "Get", - "printedName": "Get()", - "children": [ - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - } - ], - "declKind": "Accessor", - "usr": "s:14DouShouQiModel4GameC5boardAA5BoardVvg", - "mangledName": "$s14DouShouQiModel4GameC5boardAA5BoardVvg", - "moduleName": "DouShouQiModel", - "implicit": true, - "accessorKind": "get" - } - ] - }, - { - "kind": "Var", - "name": "rules", - "printedName": "rules", - "children": [ - { - "kind": "TypeNominal", - "name": "Rules", - "printedName": "DouShouQiModel.Rules", - "usr": "s:14DouShouQiModel5RulesP" - } - ], - "declKind": "Var", - "usr": "s:14DouShouQiModel4GameC5rulesAA5Rules_pvp", - "mangledName": "$s14DouShouQiModel4GameC5rulesAA5Rules_pvp", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "HasStorage", - "SetterAccess", - "AccessControl" - ], - "hasStorage": true, - "accessors": [ - { - "kind": "Accessor", - "name": "Get", - "printedName": "Get()", - "children": [ - { - "kind": "TypeNominal", - "name": "Rules", - "printedName": "DouShouQiModel.Rules", - "usr": "s:14DouShouQiModel5RulesP" - } - ], - "declKind": "Accessor", - "usr": "s:14DouShouQiModel4GameC5rulesAA5Rules_pvg", - "mangledName": "$s14DouShouQiModel4GameC5rulesAA5Rules_pvg", - "moduleName": "DouShouQiModel", - "implicit": true, - "accessorKind": "get" - } - ] - }, - { - "kind": "Var", - "name": "players", - "printedName": "players", - "children": [ - { - "kind": "TypeNominal", - "name": "Dictionary", - "printedName": "[DouShouQiModel.Owner : DouShouQiModel.Player]", - "children": [ - { - "kind": "TypeNominal", - "name": "Owner", - "printedName": "DouShouQiModel.Owner", - "usr": "s:14DouShouQiModel5OwnerO" - }, - { - "kind": "TypeNominal", - "name": "Player", - "printedName": "DouShouQiModel.Player", - "usr": "s:14DouShouQiModel6PlayerC" - } - ], - "usr": "s:SD" - } - ], - "declKind": "Var", - "usr": "s:14DouShouQiModel4GameC7playersSDyAA5OwnerOAA6PlayerCGvp", - "mangledName": "$s14DouShouQiModel4GameC7playersSDyAA5OwnerOAA6PlayerCGvp", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "Final", - "HasStorage", - "AccessControl" - ], - "isLet": true, - "hasStorage": true, - "accessors": [ - { - "kind": "Accessor", - "name": "Get", - "printedName": "Get()", - "children": [ - { - "kind": "TypeNominal", - "name": "Dictionary", - "printedName": "[DouShouQiModel.Owner : DouShouQiModel.Player]", - "children": [ - { - "kind": "TypeNominal", - "name": "Owner", - "printedName": "DouShouQiModel.Owner", - "usr": "s:14DouShouQiModel5OwnerO" - }, - { - "kind": "TypeNominal", - "name": "Player", - "printedName": "DouShouQiModel.Player", - "usr": "s:14DouShouQiModel6PlayerC" - } - ], - "usr": "s:SD" - } - ], - "declKind": "Accessor", - "usr": "s:14DouShouQiModel4GameC7playersSDyAA5OwnerOAA6PlayerCGvg", - "mangledName": "$s14DouShouQiModel4GameC7playersSDyAA5OwnerOAA6PlayerCGvg", - "moduleName": "DouShouQiModel", - "implicit": true, - "declAttributes": [ - "Final" - ], - "accessorKind": "get" - } - ] - }, - { - "kind": "Constructor", - "name": "init", - "printedName": "init(withRules:andPlayer1:andPlayer2:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Game", - "printedName": "DouShouQiModel.Game", - "usr": "s:14DouShouQiModel4GameC" - }, - { - "kind": "TypeNominal", - "name": "Rules", - "printedName": "DouShouQiModel.Rules", - "usr": "s:14DouShouQiModel5RulesP" - }, - { - "kind": "TypeNominal", - "name": "Player", - "printedName": "DouShouQiModel.Player", - "usr": "s:14DouShouQiModel6PlayerC" - }, - { - "kind": "TypeNominal", - "name": "Player", - "printedName": "DouShouQiModel.Player", - "usr": "s:14DouShouQiModel6PlayerC" - } - ], - "declKind": "Constructor", - "usr": "s:14DouShouQiModel4GameC9withRules10andPlayer10H7Player2AcA0G0_p_AA6PlayerCAItKcfc", - "mangledName": "$s14DouShouQiModel4GameC9withRules10andPlayer10H7Player2AcA0G0_p_AA6PlayerCAItKcfc", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "throwing": true, - "init_kind": "Designated" - }, - { - "kind": "Constructor", - "name": "init", - "printedName": "init(withBoard:andRules:andPlayer1:andPlayer2:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Game", - "printedName": "DouShouQiModel.Game", - "usr": "s:14DouShouQiModel4GameC" - }, - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - }, - { - "kind": "TypeNominal", - "name": "Rules", - "printedName": "DouShouQiModel.Rules", - "usr": "s:14DouShouQiModel5RulesP" - }, - { - "kind": "TypeNominal", - "name": "Player", - "printedName": "DouShouQiModel.Player", - "usr": "s:14DouShouQiModel6PlayerC" - }, - { - "kind": "TypeNominal", - "name": "Player", - "printedName": "DouShouQiModel.Player", - "usr": "s:14DouShouQiModel6PlayerC" - } - ], - "declKind": "Constructor", - "usr": "s:14DouShouQiModel4GameC9withBoard8andRules0H7Player10H7Player2AcA0G0V_AA0I0_pAA6PlayerCALtKcfc", - "mangledName": "$s14DouShouQiModel4GameC9withBoard8andRules0H7Player10H7Player2AcA0G0V_AA0I0_pAA6PlayerCALtKcfc", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl", - "RawDocComment" - ], - "throwing": true, - "init_kind": "Designated" - }, - { - "kind": "Function", - "name": "addGameStartedListener", - "printedName": "addGameStartedListener(_:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - }, - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.Board) -> ()", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - }, - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - } - ] - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel4GameC03addE15StartedListeneryyyAA5BoardVcF", - "mangledName": "$s14DouShouQiModel4GameC03addE15StartedListeneryyyAA5BoardVcF", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "funcSelfKind": "NonMutating" - }, - { - "kind": "Function", - "name": "addPlayerNotifiedListener", - "printedName": "addPlayerNotifiedListener(_:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - }, - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.Board, DouShouQiModel.Player) async throws -> ()", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - }, - { - "kind": "TypeNominal", - "name": "Tuple", - "printedName": "(DouShouQiModel.Board, DouShouQiModel.Player)", - "children": [ - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - }, - { - "kind": "TypeNominal", - "name": "Player", - "printedName": "DouShouQiModel.Player", - "usr": "s:14DouShouQiModel6PlayerC" - } - ] - } - ] - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel4GameC25addPlayerNotifiedListeneryyyAA5BoardV_AA0G0CtYaKcF", - "mangledName": "$s14DouShouQiModel4GameC25addPlayerNotifiedListeneryyyAA5BoardV_AA0G0CtYaKcF", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "funcSelfKind": "NonMutating" - }, - { - "kind": "Function", - "name": "addGameChangedListener", - "printedName": "addGameChangedListener(_:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - }, - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.Game) async -> ()", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - }, - { - "kind": "TypeNominal", - "name": "Game", - "printedName": "DouShouQiModel.Game", - "usr": "s:14DouShouQiModel4GameC" - } - ] - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel4GameC03addE15ChangedListeneryyyACYacF", - "mangledName": "$s14DouShouQiModel4GameC03addE15ChangedListeneryyyACYacF", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "funcSelfKind": "NonMutating" - }, - { - "kind": "Function", - "name": "addGameOverListener", - "printedName": "addGameOverListener(_:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - }, - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.Board, DouShouQiModel.Result, DouShouQiModel.Player?) -> ()", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - }, - { - "kind": "TypeNominal", - "name": "Tuple", - "printedName": "(DouShouQiModel.Board, DouShouQiModel.Result, DouShouQiModel.Player?)", - "children": [ - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - }, - { - "kind": "TypeNominal", - "name": "Result", - "printedName": "DouShouQiModel.Result", - "usr": "s:14DouShouQiModel6ResultO" - }, - { - "kind": "TypeNominal", - "name": "Optional", - "printedName": "DouShouQiModel.Player?", - "children": [ - { - "kind": "TypeNominal", - "name": "Player", - "printedName": "DouShouQiModel.Player", - "usr": "s:14DouShouQiModel6PlayerC" - } - ], - "usr": "s:Sq" - } - ] - } - ] - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel4GameC03addE12OverListeneryyyAA5BoardV_AA6ResultOAA6PlayerCSgtcF", - "mangledName": "$s14DouShouQiModel4GameC03addE12OverListeneryyyAA5BoardV_AA6ResultOAA6PlayerCSgtcF", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "funcSelfKind": "NonMutating" - }, - { - "kind": "Function", - "name": "addMoveChosenCallbacksListener", - "printedName": "addMoveChosenCallbacksListener(_:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - }, - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.Board, DouShouQiModel.Move, DouShouQiModel.Player) -> ()", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - }, - { - "kind": "TypeNominal", - "name": "Tuple", - "printedName": "(DouShouQiModel.Board, DouShouQiModel.Move, DouShouQiModel.Player)", - "children": [ - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - }, - { - "kind": "TypeNominal", - "name": "Move", - "printedName": "DouShouQiModel.Move", - "usr": "s:14DouShouQiModel4MoveV" - }, - { - "kind": "TypeNominal", - "name": "Player", - "printedName": "DouShouQiModel.Player", - "usr": "s:14DouShouQiModel6PlayerC" - } - ] - } - ] - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel4GameC30addMoveChosenCallbacksListeneryyyAA5BoardV_AA0G0VAA6PlayerCtcF", - "mangledName": "$s14DouShouQiModel4GameC30addMoveChosenCallbacksListeneryyyAA5BoardV_AA0G0VAA6PlayerCtcF", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "funcSelfKind": "NonMutating" - }, - { - "kind": "Function", - "name": "addInvalidMoveCallbacksListener", - "printedName": "addInvalidMoveCallbacksListener(_:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - }, - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.Board, DouShouQiModel.Move, DouShouQiModel.Player, Swift.Bool) -> ()", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - }, - { - "kind": "TypeNominal", - "name": "Tuple", - "printedName": "(DouShouQiModel.Board, DouShouQiModel.Move, DouShouQiModel.Player, Swift.Bool)", - "children": [ - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - }, - { - "kind": "TypeNominal", - "name": "Move", - "printedName": "DouShouQiModel.Move", - "usr": "s:14DouShouQiModel4MoveV" - }, - { - "kind": "TypeNominal", - "name": "Player", - "printedName": "DouShouQiModel.Player", - "usr": "s:14DouShouQiModel6PlayerC" - }, - { - "kind": "TypeNominal", - "name": "Bool", - "printedName": "Swift.Bool", - "usr": "s:Sb" - } - ] - } - ] - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel4GameC31addInvalidMoveCallbacksListeneryyyAA5BoardV_AA0H0VAA6PlayerCSbtcF", - "mangledName": "$s14DouShouQiModel4GameC31addInvalidMoveCallbacksListeneryyyAA5BoardV_AA0H0VAA6PlayerCSbtcF", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "funcSelfKind": "NonMutating" - }, - { - "kind": "Function", - "name": "addBoardChangedListener", - "printedName": "addBoardChangedListener(_:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - }, - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.Board) -> ()", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - }, - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - } - ] - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel4GameC23addBoardChangedListeneryyyAA0G0VcF", - "mangledName": "$s14DouShouQiModel4GameC23addBoardChangedListeneryyyAA0G0VcF", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "funcSelfKind": "NonMutating" - }, - { - "kind": "Function", - "name": "addPieceRemovedListener", - "printedName": "addPieceRemovedListener(_:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - }, - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(Swift.Int, Swift.Int, DouShouQiModel.Piece) -> ()", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - }, - { - "kind": "TypeNominal", - "name": "Tuple", - "printedName": "(Swift.Int, Swift.Int, DouShouQiModel.Piece)", - "children": [ - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - }, - { - "kind": "TypeNominal", - "name": "Piece", - "printedName": "DouShouQiModel.Piece", - "usr": "s:14DouShouQiModel5PieceV" - } - ] - } - ] - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel4GameC23addPieceRemovedListeneryyySi_SiAA0G0VtcF", - "mangledName": "$s14DouShouQiModel4GameC23addPieceRemovedListeneryyySi_SiAA0G0VtcF", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "funcSelfKind": "NonMutating" - }, - { - "kind": "Function", - "name": "onPlayed", - "printedName": "onPlayed(with:from:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - }, - { - "kind": "TypeNominal", - "name": "Optional", - "printedName": "DouShouQiModel.Move?", - "children": [ - { - "kind": "TypeNominal", - "name": "Move", - "printedName": "DouShouQiModel.Move", - "usr": "s:14DouShouQiModel4MoveV" - } - ], - "usr": "s:Sq" - }, - { - "kind": "TypeNominal", - "name": "Player", - "printedName": "DouShouQiModel.Player", - "usr": "s:14DouShouQiModel6PlayerC" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel4GameC8onPlayed4with4fromyAA4MoveVSg_AA6PlayerCtYaKF", - "mangledName": "$s14DouShouQiModel4GameC8onPlayed4with4fromyAA4MoveVSg_AA6PlayerCtYaKF", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "throwing": true, - "funcSelfKind": "NonMutating" - }, - { - "kind": "Var", - "name": "isOver", - "printedName": "isOver", - "children": [ - { - "kind": "TypeNominal", - "name": "Bool", - "printedName": "Swift.Bool", - "usr": "s:Sb" - } - ], - "declKind": "Var", - "usr": "s:14DouShouQiModel4GameC6isOverSbvp", - "mangledName": "$s14DouShouQiModel4GameC6isOverSbvp", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "HasInitialValue", - "HasStorage", - "SetterAccess", - "AccessControl" - ], - "hasStorage": true, - "accessors": [ - { - "kind": "Accessor", - "name": "Get", - "printedName": "Get()", - "children": [ - { - "kind": "TypeNominal", - "name": "Bool", - "printedName": "Swift.Bool", - "usr": "s:Sb" - } - ], - "declKind": "Accessor", - "usr": "s:14DouShouQiModel4GameC6isOverSbvg", - "mangledName": "$s14DouShouQiModel4GameC6isOverSbvg", - "moduleName": "DouShouQiModel", - "implicit": true, - "accessorKind": "get" - } - ] - }, - { - "kind": "Function", - "name": "start", - "printedName": "start()", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel4GameC5startyyYaKF", - "mangledName": "$s14DouShouQiModel4GameC5startyyYaKF", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "throwing": true, - "funcSelfKind": "NonMutating" - } - ], - "declKind": "Class", - "usr": "s:14DouShouQiModel4GameC", - "mangledName": "$s14DouShouQiModel4GameC", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl", - "RawDocComment" - ] - } - ], - "json_format_version": 8 - }, - "ConstValues": [ - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", - "kind": "IntegerLiteral", - "offset": 81, - "length": 1, - "value": "9" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", - "kind": "IntegerLiteral", - "offset": 111, - "length": 1, - "value": "7" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", - "kind": "IntegerLiteral", - "offset": 148, - "length": 1, - "value": "3" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", - "kind": "IntegerLiteral", - "offset": 3048, - "length": 1, - "value": "0" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", - "kind": "IntegerLiteral", - "offset": 3088, - "length": 1, - "value": "0" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", - "kind": "Array", - "offset": 3941, - "length": 2, - "value": "[]" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", - "kind": "Dictionary", - "offset": 4285, - "length": 3, - "value": "[]" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", - "kind": "Array", - "offset": 4475, - "length": 2, - "value": "[]" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", - "kind": "IntegerLiteral", - "offset": 4517, - "length": 1, - "value": "0" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", - "kind": "IntegerLiteral", - "offset": 4565, - "length": 1, - "value": "0" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", - "kind": "BooleanLiteral", - "offset": 4967, - "length": 5, - "value": "false" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", - "kind": "Array", - "offset": 6169, - "length": 2, - "value": "[]" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", - "kind": "IntegerLiteral", - "offset": 6189, - "length": 1, - "value": "0" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", - "kind": "IntegerLiteral", - "offset": 6229, - "length": 1, - "value": "0" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", - "kind": "IntegerLiteral", - "offset": 9685, - "length": 1, - "value": "0" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", - "kind": "IntegerLiteral", - "offset": 10586, - "length": 1, - "value": "0" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", - "kind": "IntegerLiteral", - "offset": 10906, - "length": 1, - "value": "0" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", - "kind": "IntegerLiteral", - "offset": 11013, - "length": 1, - "value": "0" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", - "kind": "Array", - "offset": 11170, - "length": 2, - "value": "[]" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", - "kind": "IntegerLiteral", - "offset": 11188, - "length": 1, - "value": "0" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", - "kind": "IntegerLiteral", - "offset": 11280, - "length": 1, - "value": "1" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", - "kind": "IntegerLiteral", - "offset": 11325, - "length": 1, - "value": "0" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", - "kind": "IntegerLiteral", - "offset": 11433, - "length": 1, - "value": "1" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", - "kind": "IntegerLiteral", - "offset": 11477, - "length": 1, - "value": "1" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", - "kind": "IntegerLiteral", - "offset": 11569, - "length": 1, - "value": "1" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", - "kind": "IntegerLiteral", - "offset": 11632, - "length": 1, - "value": "1" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", - "kind": "IntegerLiteral", - "offset": 11740, - "length": 1, - "value": "1" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", - "kind": "Array", - "offset": 12266, - "length": 2, - "value": "[]" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", - "kind": "IntegerLiteral", - "offset": 12307, - "length": 1, - "value": "1" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", - "kind": "IntegerLiteral", - "offset": 12319, - "length": 1, - "value": "0" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", - "kind": "IntegerLiteral", - "offset": 12326, - "length": 2, - "value": "-1" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", - "kind": "IntegerLiteral", - "offset": 12703, - "length": 1, - "value": "1" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", - "kind": "IntegerLiteral", - "offset": 12714, - "length": 1, - "value": "0" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", - "kind": "IntegerLiteral", - "offset": 12721, - "length": 2, - "value": "-1" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", - "kind": "IntegerLiteral", - "offset": 13086, - "length": 1, - "value": "1" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", - "kind": "IntegerLiteral", - "offset": 13464, - "length": 1, - "value": "1" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", - "kind": "BooleanLiteral", - "offset": 15597, - "length": 4, - "value": "true" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", - "kind": "IntegerLiteral", - "offset": 15704, - "length": 1, - "value": "0" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", - "kind": "BooleanLiteral", - "offset": 15728, - "length": 4, - "value": "true" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", - "kind": "IntegerLiteral", - "offset": 15845, - "length": 1, - "value": "0" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", - "kind": "BooleanLiteral", - "offset": 15869, - "length": 4, - "value": "true" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", - "kind": "BooleanLiteral", - "offset": 16049, - "length": 4, - "value": "true" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", - "kind": "BooleanLiteral", - "offset": 16149, - "length": 5, - "value": "false" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", - "kind": "IntegerLiteral", - "offset": 16579, - "length": 1, - "value": "0" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", - "kind": "IntegerLiteral", - "offset": 16584, - "length": 1, - "value": "1" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", - "kind": "Dictionary", - "offset": 16948, - "length": 3, - "value": "[]" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", - "kind": "Array", - "offset": 17004, - "length": 2, - "value": "[]" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Cell.swift", - "kind": "StringLiteral", - "offset": 122, - "length": 81, - "value": "\"\"" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Cell.swift", - "kind": "StringLiteral", - "offset": 147, - "length": 4, - "value": "\"ø\"" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Cell.swift", - "kind": "StringLiteral", - "offset": 152, - "length": 2, - "value": "\" on \"" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Cell.swift", - "kind": "StringLiteral", - "offset": 167, - "length": 1, - "value": "\", \"" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Cell.swift", - "kind": "StringLiteral", - "offset": 202, - "length": 1, - "value": "\"\"" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", - "kind": "IntegerLiteral", - "offset": 89, - "length": 1, - "value": "5" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", - "kind": "IntegerLiteral", - "offset": 119, - "length": 1, - "value": "5" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", - "kind": "IntegerLiteral", - "offset": 2067, - "length": 1, - "value": "0" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", - "kind": "IntegerLiteral", - "offset": 2107, - "length": 1, - "value": "0" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", - "kind": "IntegerLiteral", - "offset": 2267, - "length": 1, - "value": "0" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", - "kind": "IntegerLiteral", - "offset": 2277, - "length": 1, - "value": "2" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", - "kind": "IntegerLiteral", - "offset": 2419, - "length": 1, - "value": "4" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", - "kind": "IntegerLiteral", - "offset": 2429, - "length": 1, - "value": "2" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", - "kind": "IntegerLiteral", - "offset": 2964, - "length": 1, - "value": "0" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", - "kind": "IntegerLiteral", - "offset": 3004, - "length": 1, - "value": "0" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", - "kind": "Array", - "offset": 3773, - "length": 2, - "value": "[]" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", - "kind": "IntegerLiteral", - "offset": 3793, - "length": 1, - "value": "0" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", - "kind": "IntegerLiteral", - "offset": 3833, - "length": 1, - "value": "0" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", - "kind": "BooleanLiteral", - "offset": 4182, - "length": 4, - "value": "true" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", - "kind": "BooleanLiteral", - "offset": 4292, - "length": 5, - "value": "false" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", - "kind": "Array", - "offset": 4531, - "length": 2, - "value": "[]" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", - "kind": "Array", - "offset": 4639, - "length": 2, - "value": "[]" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", - "kind": "IntegerLiteral", - "offset": 4773, - "length": 1, - "value": "1" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", - "kind": "IntegerLiteral", - "offset": 4782, - "length": 1, - "value": "1" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", - "kind": "IntegerLiteral", - "offset": 4800, - "length": 1, - "value": "1" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", - "kind": "IntegerLiteral", - "offset": 4809, - "length": 1, - "value": "1" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", - "kind": "IntegerLiteral", - "offset": 4925, - "length": 1, - "value": "0" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", - "kind": "IntegerLiteral", - "offset": 5013, - "length": 1, - "value": "0" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", - "kind": "BooleanLiteral", - "offset": 6962, - "length": 4, - "value": "true" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", - "kind": "IntegerLiteral", - "offset": 7077, - "length": 1, - "value": "0" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", - "kind": "BooleanLiteral", - "offset": 7105, - "length": 4, - "value": "true" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", - "kind": "IntegerLiteral", - "offset": 7230, - "length": 1, - "value": "0" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", - "kind": "BooleanLiteral", - "offset": 7258, - "length": 4, - "value": "true" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", - "kind": "BooleanLiteral", - "offset": 7350, - "length": 5, - "value": "false" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", - "kind": "Dictionary", - "offset": 8072, - "length": 3, - "value": "[]" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", - "kind": "Array", - "offset": 8128, - "length": 2, - "value": "[]" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Player.swift", - "kind": "Array", - "offset": 418, - "length": 2, - "value": "[]" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Board.swift", - "kind": "BooleanLiteral", - "offset": 475, - "length": 5, - "value": "false" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Board.swift", - "kind": "IntegerLiteral", - "offset": 570, - "length": 1, - "value": "0" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Board.swift", - "kind": "IntegerLiteral", - "offset": 694, - "length": 1, - "value": "0" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Board.swift", - "kind": "IntegerLiteral", - "offset": 981, - "length": 1, - "value": "0" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Board.swift", - "kind": "IntegerLiteral", - "offset": 996, - "length": 1, - "value": "0" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Board.swift", - "kind": "IntegerLiteral", - "offset": 1015, - "length": 1, - "value": "0" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Board.swift", - "kind": "IntegerLiteral", - "offset": 1049, - "length": 1, - "value": "0" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Board.swift", - "kind": "IntegerLiteral", - "offset": 1212, - "length": 1, - "value": "1" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Board.swift", - "kind": "IntegerLiteral", - "offset": 1278, - "length": 1, - "value": "1" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Board.swift", - "kind": "IntegerLiteral", - "offset": 1548, - "length": 1, - "value": "0" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Board.swift", - "kind": "IntegerLiteral", - "offset": 1579, - "length": 1, - "value": "0" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Board.swift", - "kind": "IntegerLiteral", - "offset": 1979, - "length": 1, - "value": "0" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Board.swift", - "kind": "IntegerLiteral", - "offset": 2010, - "length": 1, - "value": "0" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Piece.swift", - "kind": "StringLiteral", - "offset": 122, - "length": 40, - "value": "\"[\"" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Piece.swift", - "kind": "StringLiteral", - "offset": 150, - "length": 1, - "value": "\":\"" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Piece.swift", - "kind": "StringLiteral", - "offset": 160, - "length": 1, - "value": "\"]\"" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Owner.swift", - "kind": "StringLiteral", - "offset": 183, - "length": 3, - "value": "\"x\"" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Owner.swift", - "kind": "StringLiteral", - "offset": 229, - "length": 3, - "value": "\"1\"" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Owner.swift", - "kind": "StringLiteral", - "offset": 275, - "length": 3, - "value": "\"2\"" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Move.swift", - "kind": "StringLiteral", - "offset": 616, - "length": 87, - "value": "\"\"" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Move.swift", - "kind": "StringLiteral", - "offset": 625, - "length": 1, - "value": "\": [\"" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Move.swift", - "kind": "StringLiteral", - "offset": 640, - "length": 1, - "value": "\",\"" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Move.swift", - "kind": "StringLiteral", - "offset": 656, - "length": 1, - "value": "\"] -> [\"" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Move.swift", - "kind": "StringLiteral", - "offset": 679, - "length": 1, - "value": "\", \"" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Move.swift", - "kind": "StringLiteral", - "offset": 701, - "length": 1, - "value": "\"]\"" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", - "kind": "IntegerLiteral", - "offset": 60, - "length": 1, - "value": "1" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", - "kind": "IntegerLiteral", - "offset": 63, - "length": 3, - "value": "2" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", - "kind": "IntegerLiteral", - "offset": 68, - "length": 3, - "value": "3" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", - "kind": "IntegerLiteral", - "offset": 73, - "length": 4, - "value": "4" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", - "kind": "IntegerLiteral", - "offset": 79, - "length": 7, - "value": "5" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", - "kind": "IntegerLiteral", - "offset": 88, - "length": 5, - "value": "6" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", - "kind": "IntegerLiteral", - "offset": 95, - "length": 4, - "value": "7" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", - "kind": "IntegerLiteral", - "offset": 101, - "length": 8, - "value": "8" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", - "kind": "IntegerLiteral", - "offset": 60, - "length": 1, - "value": "1" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", - "kind": "IntegerLiteral", - "offset": 63, - "length": 3, - "value": "2" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", - "kind": "IntegerLiteral", - "offset": 68, - "length": 3, - "value": "3" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", - "kind": "IntegerLiteral", - "offset": 73, - "length": 4, - "value": "4" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", - "kind": "IntegerLiteral", - "offset": 79, - "length": 7, - "value": "5" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", - "kind": "IntegerLiteral", - "offset": 88, - "length": 5, - "value": "6" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", - "kind": "IntegerLiteral", - "offset": 95, - "length": 4, - "value": "7" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", - "kind": "IntegerLiteral", - "offset": 101, - "length": 8, - "value": "8" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", - "kind": "IntegerLiteral", - "offset": 60, - "length": 1, - "value": "1" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", - "kind": "IntegerLiteral", - "offset": 63, - "length": 3, - "value": "2" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", - "kind": "IntegerLiteral", - "offset": 68, - "length": 3, - "value": "3" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", - "kind": "IntegerLiteral", - "offset": 73, - "length": 4, - "value": "4" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", - "kind": "IntegerLiteral", - "offset": 79, - "length": 7, - "value": "5" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", - "kind": "IntegerLiteral", - "offset": 88, - "length": 5, - "value": "6" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", - "kind": "IntegerLiteral", - "offset": 95, - "length": 4, - "value": "7" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", - "kind": "IntegerLiteral", - "offset": 101, - "length": 8, - "value": "8" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Game.swift", - "kind": "StringLiteral", - "offset": 513, - "length": 55, - "value": "\"The ids of players are not .player1 and then .player2\"" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Game.swift", - "kind": "StringLiteral", - "offset": 1483, - "length": 55, - "value": "\"The ids of players are not .player1 and then .player2\"" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Game.swift", - "kind": "Array", - "offset": 1754, - "length": 2, - "value": "[]" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Game.swift", - "kind": "Array", - "offset": 2090, - "length": 2, - "value": "[]" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Game.swift", - "kind": "Array", - "offset": 2582, - "length": 2, - "value": "[]" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Game.swift", - "kind": "Array", - "offset": 3012, - "length": 2, - "value": "[]" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Game.swift", - "kind": "Array", - "offset": 3416, - "length": 2, - "value": "[]" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Game.swift", - "kind": "Array", - "offset": 3827, - "length": 2, - "value": "[]" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Game.swift", - "kind": "Array", - "offset": 4261, - "length": 2, - "value": "[]" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Game.swift", - "kind": "Array", - "offset": 4580, - "length": 2, - "value": "[]" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Game.swift", - "kind": "BooleanLiteral", - "offset": 6361, - "length": 4, - "value": "true" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Game.swift", - "kind": "BooleanLiteral", - "offset": 7044, - "length": 5, - "value": "false" - } - ] -} \ No newline at end of file diff --git a/DouShouQi_App/DSQ.xcframework/ios-arm64_x86_64-simulator/DouShouQiModel.framework/Modules/DouShouQiModel.swiftmodule/arm64-apple-ios-simulator.private.swiftinterface b/DouShouQi_App/DSQ.xcframework/ios-arm64_x86_64-simulator/DouShouQiModel.framework/Modules/DouShouQiModel.swiftmodule/arm64-apple-ios-simulator.private.swiftinterface deleted file mode 100644 index d1cea63..0000000 --- a/DouShouQi_App/DSQ.xcframework/ios-arm64_x86_64-simulator/DouShouQiModel.framework/Modules/DouShouQiModel.swiftmodule/arm64-apple-ios-simulator.private.swiftinterface +++ /dev/null @@ -1,266 +0,0 @@ -// swift-interface-format-version: 1.0 -// swift-compiler-version: Apple Swift version 5.9.2 (swiftlang-5.9.2.2.56 clang-1500.1.0.2.5) -// swift-module-flags: -target arm64-apple-ios16.0-simulator -enable-objc-interop -enable-library-evolution -swift-version 5 -enforce-exclusivity=checked -O -module-name DouShouQiModel -// swift-module-flags-ignorable: -enable-bare-slash-regex -@_exported import DouShouQiModel -import Foundation -import Swift -import _Concurrency -import _StringProcessing -import _SwiftConcurrencyShims -public enum Result : Swift.Equatable { - case notFinished - case even - case winner(winner: DouShouQiModel.Owner, reason: DouShouQiModel.WinningReason) - public static func == (a: DouShouQiModel.Result, b: DouShouQiModel.Result) -> Swift.Bool -} -public enum WinningReason { - case denReached, noMorePieces, tooManyOccurences, noMovesLeft - public static func == (a: DouShouQiModel.WinningReason, b: DouShouQiModel.WinningReason) -> Swift.Bool - public func hash(into hasher: inout Swift.Hasher) - public var hashValue: Swift.Int { - get - } -} -public enum BoardResult : Swift.Equatable { - case unknown - case ok(piece: DouShouQiModel.Piece?) - case failed(reason: DouShouQiModel.BoardFailingReason) - public static func == (a: DouShouQiModel.BoardResult, b: DouShouQiModel.BoardResult) -> Swift.Bool -} -public enum BoardFailingReason { - case unknown, outOfBounds, cellNotEmpty, cellEmpty - public static func == (a: DouShouQiModel.BoardFailingReason, b: DouShouQiModel.BoardFailingReason) -> Swift.Bool - public func hash(into hasher: inout Swift.Hasher) - public var hashValue: Swift.Int { - get - } -} -@_inheritsConvenienceInitializers public class HumanPlayer : DouShouQiModel.Player { - public init?(withName name: Swift.String, andId id: DouShouQiModel.Owner, andInputMethod input: @escaping (_ hp: DouShouQiModel.HumanPlayer) -> DouShouQiModel.Move?) - override public init?(withName name: Swift.String, andId id: DouShouQiModel.Owner) - #if compiler(>=5.3) && $AsyncAwait - override public func chooseMove(in board: DouShouQiModel.Board, with rules: any DouShouQiModel.Rules) async throws - #endif - public func changeInput(input: @escaping (_ hp: DouShouQiModel.HumanPlayer) -> DouShouQiModel.Move?) - #if compiler(>=5.3) && $AsyncAwait - public func chooseMove(_ move: DouShouQiModel.Move?) async throws - #endif - @objc deinit -} -public struct ClassicRules : DouShouQiModel.Rules { - public static func createBoard() -> DouShouQiModel.Board - public static func checkBoard(_ board: DouShouQiModel.Board) throws - public init() - public init(occurences: [DouShouQiModel.Board : Swift.Int], historic: [DouShouQiModel.Move]) - public func getMoves(in board: DouShouQiModel.Board, of owner: DouShouQiModel.Owner) -> [DouShouQiModel.Move] - public func getMoves(in board: DouShouQiModel.Board, of owner: DouShouQiModel.Owner, fromRow row: Swift.Int, andColumn col: Swift.Int) -> [DouShouQiModel.Move] - public func isMoveValid(onBoard board: DouShouQiModel.Board, fromRow originRow: Swift.Int, andFromColumn originColumn: Swift.Int, toRow destinationRow: Swift.Int, andToColumn destinationColumn: Swift.Int) -> Swift.Bool - public func isMoveValid(onBoard board: DouShouQiModel.Board, withMove move: DouShouQiModel.Move) -> Swift.Bool - public func isGameOver(withBoard board: DouShouQiModel.Board, andLastRowPlayed lastRow: Swift.Int, andLastColumnPlayer lastColumn: Swift.Int) -> (Swift.Bool, DouShouQiModel.Result) - public mutating func playedMove(_ move: DouShouQiModel.Move, onStartingBoard board: DouShouQiModel.Board, andResultingBoard resultingBoard: DouShouQiModel.Board) throws - public func getNextPlayer() -> DouShouQiModel.Owner - public var occurences: [DouShouQiModel.Board : Swift.Int] { - get - } - public var historic: [DouShouQiModel.Move] { - get - } -} -public struct Cell : Swift.CustomStringConvertible, Swift.Equatable { - public var description: Swift.String { - get - } - public let cellType: DouShouQiModel.CellType - public let initialOwner: DouShouQiModel.Owner - public var piece: DouShouQiModel.Piece? - public init(ofType cellType: DouShouQiModel.CellType, ownedBy initialOwner: DouShouQiModel.Owner = .noOne, withPiece piece: DouShouQiModel.Piece? = nil) - public static func == (a: DouShouQiModel.Cell, b: DouShouQiModel.Cell) -> Swift.Bool -} -public struct VerySimpleRules : DouShouQiModel.Rules { - public static func createBoard() -> DouShouQiModel.Board - public static func checkBoard(_ board: DouShouQiModel.Board) throws - public init() - public init(occurences: [DouShouQiModel.Board : Swift.Int], historic: [DouShouQiModel.Move]) - public func getMoves(in board: DouShouQiModel.Board, of owner: DouShouQiModel.Owner) -> [DouShouQiModel.Move] - public func getMoves(in board: DouShouQiModel.Board, of owner: DouShouQiModel.Owner, fromRow row: Swift.Int, andColumn col: Swift.Int) -> [DouShouQiModel.Move] - public func isMoveValid(onBoard board: DouShouQiModel.Board, fromRow originRow: Swift.Int, andFromColumn originColumn: Swift.Int, toRow destinationRow: Swift.Int, andToColumn destinationColumn: Swift.Int) -> Swift.Bool - public func isMoveValid(onBoard board: DouShouQiModel.Board, withMove move: DouShouQiModel.Move) -> Swift.Bool - public func isGameOver(withBoard board: DouShouQiModel.Board, andLastRowPlayed lastRow: Swift.Int, andLastColumnPlayer lastColumn: Swift.Int) -> (Swift.Bool, DouShouQiModel.Result) - public mutating func playedMove(_ move: DouShouQiModel.Move, onStartingBoard board: DouShouQiModel.Board, andResultingBoard resultingBoard: DouShouQiModel.Board) throws - public func getNextPlayer() -> DouShouQiModel.Owner - public var occurences: [DouShouQiModel.Board : Swift.Int] { - get - } - public var historic: [DouShouQiModel.Move] { - get - } -} -public protocol Rules { - static func createBoard() -> DouShouQiModel.Board - static func checkBoard(_ board: DouShouQiModel.Board) throws - func getNextPlayer() -> DouShouQiModel.Owner - func getMoves(in board: DouShouQiModel.Board, of: DouShouQiModel.Owner) -> [DouShouQiModel.Move] - func getMoves(in board: DouShouQiModel.Board, of: DouShouQiModel.Owner, fromRow row: Swift.Int, andColumn col: Swift.Int) -> [DouShouQiModel.Move] - func isMoveValid(onBoard: DouShouQiModel.Board, fromRow: Swift.Int, andFromColumn: Swift.Int, toRow: Swift.Int, andToColumn: Swift.Int) -> Swift.Bool - func isMoveValid(onBoard: DouShouQiModel.Board, withMove move: DouShouQiModel.Move) -> Swift.Bool - func isGameOver(withBoard: DouShouQiModel.Board, andLastRowPlayed: Swift.Int, andLastColumnPlayer: Swift.Int) -> (Swift.Bool, DouShouQiModel.Result) - mutating func playedMove(_ move: DouShouQiModel.Move, onStartingBoard board: DouShouQiModel.Board, andResultingBoard resultingBoard: DouShouQiModel.Board) throws - var occurences: [DouShouQiModel.Board : Swift.Int] { get } - var historic: [DouShouQiModel.Move] { get } -} -public class Player { - final public let name: Swift.String - final public let id: DouShouQiModel.Owner - public init?(withName name: Swift.String, andId id: DouShouQiModel.Owner) - #if compiler(>=5.3) && $AsyncAwait - public func chooseMove(in board: DouShouQiModel.Board, with rules: any DouShouQiModel.Rules) async throws - #endif - #if compiler(>=5.3) && $AsyncAwait - public func addPlayedCallbacksListener(_ listener: @escaping (DouShouQiModel.Move?, DouShouQiModel.Player) async throws -> Swift.Void) - #endif - #if compiler(>=5.3) && $AsyncAwait - public func notifyPlayed(withMove move: DouShouQiModel.Move?, andPlayer player: DouShouQiModel.Player) async throws - #endif - @objc deinit -} -public enum GameError : Swift.Error { - case invalidMove, nextPlayerError, badPlayerId(message: Swift.String), invalidRules, invalidPlayer, invalidGame, invalidBoard -} -@_inheritsConvenienceInitializers public class RandomPlayer : DouShouQiModel.IAPlayer { - #if compiler(>=5.3) && $AsyncAwait - override public func chooseMove(in board: DouShouQiModel.Board, with rules: any DouShouQiModel.Rules) async throws - #endif - override public init?(withName name: Swift.String, andId id: DouShouQiModel.Owner) - @objc deinit -} -public enum CellType : Swift.CaseIterable { - case unknown, jungle, water, trap, den - public static func == (a: DouShouQiModel.CellType, b: DouShouQiModel.CellType) -> Swift.Bool - public func hash(into hasher: inout Swift.Hasher) - public typealias AllCases = [DouShouQiModel.CellType] - public static var allCases: [DouShouQiModel.CellType] { - get - } - public var hashValue: Swift.Int { - get - } -} -public struct Board : Swift.Hashable { - public func hash(into hasher: inout Swift.Hasher) - public let nbRows: Swift.Int - public let nbColumns: Swift.Int - public var grid: [[DouShouQiModel.Cell]] { - get - } - public init?(withGrid grid: [[DouShouQiModel.Cell]]) - public func countPieces(of owner: DouShouQiModel.Owner) -> Swift.Int - public func countPieces() -> (nbOfPiecesOfPlayer1: Swift.Int, nbOfPiecesOfPlayer2: Swift.Int) - public mutating func insert(piece: DouShouQiModel.Piece, atRow row: Swift.Int, andColumn column: Swift.Int) -> DouShouQiModel.BoardResult - public mutating func removePiece(atRow row: Swift.Int, andColumn column: Swift.Int) -> DouShouQiModel.BoardResult - public static func == (a: DouShouQiModel.Board, b: DouShouQiModel.Board) -> Swift.Bool - public var hashValue: Swift.Int { - get - } -} -public struct Piece : Swift.CustomStringConvertible, Swift.Hashable { - public var description: Swift.String { - get - } - public let owner: DouShouQiModel.Owner - public let animal: DouShouQiModel.Animal - public init(withOwner owner: DouShouQiModel.Owner, andAnimal animal: DouShouQiModel.Animal) - public func hash(into hasher: inout Swift.Hasher) - public static func == (a: DouShouQiModel.Piece, b: DouShouQiModel.Piece) -> Swift.Bool - public var hashValue: Swift.Int { - get - } -} -public enum InvalidBoardError : Swift.Error, Swift.Equatable { - case unknownError - case badDimensions(nbRows: Swift.Int, nbColumns: Swift.Int) - case badCellType(cellType: DouShouQiModel.CellType, row: Swift.Int, column: Swift.Int) - case multipleOccurenceOfSamePiece(piece: DouShouQiModel.Piece) - case pieceWithNoOwner(piece: DouShouQiModel.Piece) - case pieceNotAllowedOnThisCell(piece: DouShouQiModel.Piece, cell: DouShouQiModel.Cell) - public static func == (a: DouShouQiModel.InvalidBoardError, b: DouShouQiModel.InvalidBoardError) -> Swift.Bool -} -public enum Owner { - case noOne, player1, player2 - public var simpleDescription: Swift.String { - get - } - public static func == (a: DouShouQiModel.Owner, b: DouShouQiModel.Owner) -> Swift.Bool - public func hash(into hasher: inout Swift.Hasher) - public var hashValue: Swift.Int { - get - } -} -@_inheritsConvenienceInitializers public class IAPlayer : DouShouQiModel.Player { - override public init?(withName name: Swift.String, andId id: DouShouQiModel.Owner) - @objc deinit -} -public struct Move : Swift.CustomStringConvertible, Swift.Equatable { - public let owner: DouShouQiModel.Owner - public let rowOrigin: Swift.Int - public let columnOrigin: Swift.Int - public let rowDestination: Swift.Int - public let columnDestination: Swift.Int - public init(of owner: DouShouQiModel.Owner, fromRow rowOrigin: Swift.Int, andFromColumn colOrigin: Swift.Int, toRow rowDest: Swift.Int, andToColumn colDest: Swift.Int) - public var description: Swift.String { - get - } - public static func == (a: DouShouQiModel.Move, b: DouShouQiModel.Move) -> Swift.Bool -} -public enum Animal : Swift.Int { - case rat, cat, dog, wolf, leopard, tiger, lion, elephant - public init?(rawValue: Swift.Int) - public typealias RawValue = Swift.Int - public var rawValue: Swift.Int { - get - } -} -public class Game { - public var board: DouShouQiModel.Board { - get - } - public var rules: any DouShouQiModel.Rules { - get - } - final public let players: [DouShouQiModel.Owner : DouShouQiModel.Player] - public init(withRules rules: any DouShouQiModel.Rules, andPlayer1 player1: DouShouQiModel.Player, andPlayer2 player2: DouShouQiModel.Player) throws - public init(withBoard board: DouShouQiModel.Board, andRules rules: any DouShouQiModel.Rules, andPlayer1 player1: DouShouQiModel.Player, andPlayer2 player2: DouShouQiModel.Player) throws - public func addGameStartedListener(_ listener: @escaping (DouShouQiModel.Board) -> Swift.Void) - #if compiler(>=5.3) && $AsyncAwait - public func addPlayerNotifiedListener(_ listener: @escaping (DouShouQiModel.Board, DouShouQiModel.Player) async throws -> Swift.Void) - #endif - #if compiler(>=5.3) && $AsyncAwait - public func addGameChangedListener(_ listener: @escaping (DouShouQiModel.Game) async -> Swift.Void) - #endif - public func addGameOverListener(_ listener: @escaping (DouShouQiModel.Board, DouShouQiModel.Result, DouShouQiModel.Player?) -> Swift.Void) - public func addMoveChosenCallbacksListener(_ listener: @escaping (DouShouQiModel.Board, DouShouQiModel.Move, DouShouQiModel.Player) -> Swift.Void) - public func addInvalidMoveCallbacksListener(_ listener: @escaping (DouShouQiModel.Board, DouShouQiModel.Move, DouShouQiModel.Player, Swift.Bool) -> Swift.Void) - public func addBoardChangedListener(_ listener: @escaping (DouShouQiModel.Board) -> Swift.Void) - public func addPieceRemovedListener(_ listener: @escaping (Swift.Int, Swift.Int, DouShouQiModel.Piece) -> Swift.Void) - #if compiler(>=5.3) && $AsyncAwait - public func onPlayed(with move: DouShouQiModel.Move?, from player: DouShouQiModel.Player) async throws - #endif - public var isOver: Swift.Bool { - get - } - #if compiler(>=5.3) && $AsyncAwait - public func start() async throws - #endif - @objc deinit -} -extension DouShouQiModel.WinningReason : Swift.Equatable {} -extension DouShouQiModel.WinningReason : Swift.Hashable {} -extension DouShouQiModel.BoardFailingReason : Swift.Equatable {} -extension DouShouQiModel.BoardFailingReason : Swift.Hashable {} -extension DouShouQiModel.CellType : Swift.Equatable {} -extension DouShouQiModel.CellType : Swift.Hashable {} -extension DouShouQiModel.Owner : Swift.Equatable {} -extension DouShouQiModel.Owner : Swift.Hashable {} -extension DouShouQiModel.Animal : Swift.Equatable {} -extension DouShouQiModel.Animal : Swift.Hashable {} -extension DouShouQiModel.Animal : Swift.RawRepresentable {} diff --git a/DouShouQi_App/DSQ.xcframework/ios-arm64_x86_64-simulator/DouShouQiModel.framework/Modules/DouShouQiModel.swiftmodule/arm64-apple-ios-simulator.swiftdoc b/DouShouQi_App/DSQ.xcframework/ios-arm64_x86_64-simulator/DouShouQiModel.framework/Modules/DouShouQiModel.swiftmodule/arm64-apple-ios-simulator.swiftdoc deleted file mode 100644 index afa4fb6..0000000 Binary files a/DouShouQi_App/DSQ.xcframework/ios-arm64_x86_64-simulator/DouShouQiModel.framework/Modules/DouShouQiModel.swiftmodule/arm64-apple-ios-simulator.swiftdoc and /dev/null differ diff --git a/DouShouQi_App/DSQ.xcframework/ios-arm64_x86_64-simulator/DouShouQiModel.framework/Modules/DouShouQiModel.swiftmodule/arm64-apple-ios-simulator.swiftinterface b/DouShouQi_App/DSQ.xcframework/ios-arm64_x86_64-simulator/DouShouQiModel.framework/Modules/DouShouQiModel.swiftmodule/arm64-apple-ios-simulator.swiftinterface deleted file mode 100644 index d1cea63..0000000 --- a/DouShouQi_App/DSQ.xcframework/ios-arm64_x86_64-simulator/DouShouQiModel.framework/Modules/DouShouQiModel.swiftmodule/arm64-apple-ios-simulator.swiftinterface +++ /dev/null @@ -1,266 +0,0 @@ -// swift-interface-format-version: 1.0 -// swift-compiler-version: Apple Swift version 5.9.2 (swiftlang-5.9.2.2.56 clang-1500.1.0.2.5) -// swift-module-flags: -target arm64-apple-ios16.0-simulator -enable-objc-interop -enable-library-evolution -swift-version 5 -enforce-exclusivity=checked -O -module-name DouShouQiModel -// swift-module-flags-ignorable: -enable-bare-slash-regex -@_exported import DouShouQiModel -import Foundation -import Swift -import _Concurrency -import _StringProcessing -import _SwiftConcurrencyShims -public enum Result : Swift.Equatable { - case notFinished - case even - case winner(winner: DouShouQiModel.Owner, reason: DouShouQiModel.WinningReason) - public static func == (a: DouShouQiModel.Result, b: DouShouQiModel.Result) -> Swift.Bool -} -public enum WinningReason { - case denReached, noMorePieces, tooManyOccurences, noMovesLeft - public static func == (a: DouShouQiModel.WinningReason, b: DouShouQiModel.WinningReason) -> Swift.Bool - public func hash(into hasher: inout Swift.Hasher) - public var hashValue: Swift.Int { - get - } -} -public enum BoardResult : Swift.Equatable { - case unknown - case ok(piece: DouShouQiModel.Piece?) - case failed(reason: DouShouQiModel.BoardFailingReason) - public static func == (a: DouShouQiModel.BoardResult, b: DouShouQiModel.BoardResult) -> Swift.Bool -} -public enum BoardFailingReason { - case unknown, outOfBounds, cellNotEmpty, cellEmpty - public static func == (a: DouShouQiModel.BoardFailingReason, b: DouShouQiModel.BoardFailingReason) -> Swift.Bool - public func hash(into hasher: inout Swift.Hasher) - public var hashValue: Swift.Int { - get - } -} -@_inheritsConvenienceInitializers public class HumanPlayer : DouShouQiModel.Player { - public init?(withName name: Swift.String, andId id: DouShouQiModel.Owner, andInputMethod input: @escaping (_ hp: DouShouQiModel.HumanPlayer) -> DouShouQiModel.Move?) - override public init?(withName name: Swift.String, andId id: DouShouQiModel.Owner) - #if compiler(>=5.3) && $AsyncAwait - override public func chooseMove(in board: DouShouQiModel.Board, with rules: any DouShouQiModel.Rules) async throws - #endif - public func changeInput(input: @escaping (_ hp: DouShouQiModel.HumanPlayer) -> DouShouQiModel.Move?) - #if compiler(>=5.3) && $AsyncAwait - public func chooseMove(_ move: DouShouQiModel.Move?) async throws - #endif - @objc deinit -} -public struct ClassicRules : DouShouQiModel.Rules { - public static func createBoard() -> DouShouQiModel.Board - public static func checkBoard(_ board: DouShouQiModel.Board) throws - public init() - public init(occurences: [DouShouQiModel.Board : Swift.Int], historic: [DouShouQiModel.Move]) - public func getMoves(in board: DouShouQiModel.Board, of owner: DouShouQiModel.Owner) -> [DouShouQiModel.Move] - public func getMoves(in board: DouShouQiModel.Board, of owner: DouShouQiModel.Owner, fromRow row: Swift.Int, andColumn col: Swift.Int) -> [DouShouQiModel.Move] - public func isMoveValid(onBoard board: DouShouQiModel.Board, fromRow originRow: Swift.Int, andFromColumn originColumn: Swift.Int, toRow destinationRow: Swift.Int, andToColumn destinationColumn: Swift.Int) -> Swift.Bool - public func isMoveValid(onBoard board: DouShouQiModel.Board, withMove move: DouShouQiModel.Move) -> Swift.Bool - public func isGameOver(withBoard board: DouShouQiModel.Board, andLastRowPlayed lastRow: Swift.Int, andLastColumnPlayer lastColumn: Swift.Int) -> (Swift.Bool, DouShouQiModel.Result) - public mutating func playedMove(_ move: DouShouQiModel.Move, onStartingBoard board: DouShouQiModel.Board, andResultingBoard resultingBoard: DouShouQiModel.Board) throws - public func getNextPlayer() -> DouShouQiModel.Owner - public var occurences: [DouShouQiModel.Board : Swift.Int] { - get - } - public var historic: [DouShouQiModel.Move] { - get - } -} -public struct Cell : Swift.CustomStringConvertible, Swift.Equatable { - public var description: Swift.String { - get - } - public let cellType: DouShouQiModel.CellType - public let initialOwner: DouShouQiModel.Owner - public var piece: DouShouQiModel.Piece? - public init(ofType cellType: DouShouQiModel.CellType, ownedBy initialOwner: DouShouQiModel.Owner = .noOne, withPiece piece: DouShouQiModel.Piece? = nil) - public static func == (a: DouShouQiModel.Cell, b: DouShouQiModel.Cell) -> Swift.Bool -} -public struct VerySimpleRules : DouShouQiModel.Rules { - public static func createBoard() -> DouShouQiModel.Board - public static func checkBoard(_ board: DouShouQiModel.Board) throws - public init() - public init(occurences: [DouShouQiModel.Board : Swift.Int], historic: [DouShouQiModel.Move]) - public func getMoves(in board: DouShouQiModel.Board, of owner: DouShouQiModel.Owner) -> [DouShouQiModel.Move] - public func getMoves(in board: DouShouQiModel.Board, of owner: DouShouQiModel.Owner, fromRow row: Swift.Int, andColumn col: Swift.Int) -> [DouShouQiModel.Move] - public func isMoveValid(onBoard board: DouShouQiModel.Board, fromRow originRow: Swift.Int, andFromColumn originColumn: Swift.Int, toRow destinationRow: Swift.Int, andToColumn destinationColumn: Swift.Int) -> Swift.Bool - public func isMoveValid(onBoard board: DouShouQiModel.Board, withMove move: DouShouQiModel.Move) -> Swift.Bool - public func isGameOver(withBoard board: DouShouQiModel.Board, andLastRowPlayed lastRow: Swift.Int, andLastColumnPlayer lastColumn: Swift.Int) -> (Swift.Bool, DouShouQiModel.Result) - public mutating func playedMove(_ move: DouShouQiModel.Move, onStartingBoard board: DouShouQiModel.Board, andResultingBoard resultingBoard: DouShouQiModel.Board) throws - public func getNextPlayer() -> DouShouQiModel.Owner - public var occurences: [DouShouQiModel.Board : Swift.Int] { - get - } - public var historic: [DouShouQiModel.Move] { - get - } -} -public protocol Rules { - static func createBoard() -> DouShouQiModel.Board - static func checkBoard(_ board: DouShouQiModel.Board) throws - func getNextPlayer() -> DouShouQiModel.Owner - func getMoves(in board: DouShouQiModel.Board, of: DouShouQiModel.Owner) -> [DouShouQiModel.Move] - func getMoves(in board: DouShouQiModel.Board, of: DouShouQiModel.Owner, fromRow row: Swift.Int, andColumn col: Swift.Int) -> [DouShouQiModel.Move] - func isMoveValid(onBoard: DouShouQiModel.Board, fromRow: Swift.Int, andFromColumn: Swift.Int, toRow: Swift.Int, andToColumn: Swift.Int) -> Swift.Bool - func isMoveValid(onBoard: DouShouQiModel.Board, withMove move: DouShouQiModel.Move) -> Swift.Bool - func isGameOver(withBoard: DouShouQiModel.Board, andLastRowPlayed: Swift.Int, andLastColumnPlayer: Swift.Int) -> (Swift.Bool, DouShouQiModel.Result) - mutating func playedMove(_ move: DouShouQiModel.Move, onStartingBoard board: DouShouQiModel.Board, andResultingBoard resultingBoard: DouShouQiModel.Board) throws - var occurences: [DouShouQiModel.Board : Swift.Int] { get } - var historic: [DouShouQiModel.Move] { get } -} -public class Player { - final public let name: Swift.String - final public let id: DouShouQiModel.Owner - public init?(withName name: Swift.String, andId id: DouShouQiModel.Owner) - #if compiler(>=5.3) && $AsyncAwait - public func chooseMove(in board: DouShouQiModel.Board, with rules: any DouShouQiModel.Rules) async throws - #endif - #if compiler(>=5.3) && $AsyncAwait - public func addPlayedCallbacksListener(_ listener: @escaping (DouShouQiModel.Move?, DouShouQiModel.Player) async throws -> Swift.Void) - #endif - #if compiler(>=5.3) && $AsyncAwait - public func notifyPlayed(withMove move: DouShouQiModel.Move?, andPlayer player: DouShouQiModel.Player) async throws - #endif - @objc deinit -} -public enum GameError : Swift.Error { - case invalidMove, nextPlayerError, badPlayerId(message: Swift.String), invalidRules, invalidPlayer, invalidGame, invalidBoard -} -@_inheritsConvenienceInitializers public class RandomPlayer : DouShouQiModel.IAPlayer { - #if compiler(>=5.3) && $AsyncAwait - override public func chooseMove(in board: DouShouQiModel.Board, with rules: any DouShouQiModel.Rules) async throws - #endif - override public init?(withName name: Swift.String, andId id: DouShouQiModel.Owner) - @objc deinit -} -public enum CellType : Swift.CaseIterable { - case unknown, jungle, water, trap, den - public static func == (a: DouShouQiModel.CellType, b: DouShouQiModel.CellType) -> Swift.Bool - public func hash(into hasher: inout Swift.Hasher) - public typealias AllCases = [DouShouQiModel.CellType] - public static var allCases: [DouShouQiModel.CellType] { - get - } - public var hashValue: Swift.Int { - get - } -} -public struct Board : Swift.Hashable { - public func hash(into hasher: inout Swift.Hasher) - public let nbRows: Swift.Int - public let nbColumns: Swift.Int - public var grid: [[DouShouQiModel.Cell]] { - get - } - public init?(withGrid grid: [[DouShouQiModel.Cell]]) - public func countPieces(of owner: DouShouQiModel.Owner) -> Swift.Int - public func countPieces() -> (nbOfPiecesOfPlayer1: Swift.Int, nbOfPiecesOfPlayer2: Swift.Int) - public mutating func insert(piece: DouShouQiModel.Piece, atRow row: Swift.Int, andColumn column: Swift.Int) -> DouShouQiModel.BoardResult - public mutating func removePiece(atRow row: Swift.Int, andColumn column: Swift.Int) -> DouShouQiModel.BoardResult - public static func == (a: DouShouQiModel.Board, b: DouShouQiModel.Board) -> Swift.Bool - public var hashValue: Swift.Int { - get - } -} -public struct Piece : Swift.CustomStringConvertible, Swift.Hashable { - public var description: Swift.String { - get - } - public let owner: DouShouQiModel.Owner - public let animal: DouShouQiModel.Animal - public init(withOwner owner: DouShouQiModel.Owner, andAnimal animal: DouShouQiModel.Animal) - public func hash(into hasher: inout Swift.Hasher) - public static func == (a: DouShouQiModel.Piece, b: DouShouQiModel.Piece) -> Swift.Bool - public var hashValue: Swift.Int { - get - } -} -public enum InvalidBoardError : Swift.Error, Swift.Equatable { - case unknownError - case badDimensions(nbRows: Swift.Int, nbColumns: Swift.Int) - case badCellType(cellType: DouShouQiModel.CellType, row: Swift.Int, column: Swift.Int) - case multipleOccurenceOfSamePiece(piece: DouShouQiModel.Piece) - case pieceWithNoOwner(piece: DouShouQiModel.Piece) - case pieceNotAllowedOnThisCell(piece: DouShouQiModel.Piece, cell: DouShouQiModel.Cell) - public static func == (a: DouShouQiModel.InvalidBoardError, b: DouShouQiModel.InvalidBoardError) -> Swift.Bool -} -public enum Owner { - case noOne, player1, player2 - public var simpleDescription: Swift.String { - get - } - public static func == (a: DouShouQiModel.Owner, b: DouShouQiModel.Owner) -> Swift.Bool - public func hash(into hasher: inout Swift.Hasher) - public var hashValue: Swift.Int { - get - } -} -@_inheritsConvenienceInitializers public class IAPlayer : DouShouQiModel.Player { - override public init?(withName name: Swift.String, andId id: DouShouQiModel.Owner) - @objc deinit -} -public struct Move : Swift.CustomStringConvertible, Swift.Equatable { - public let owner: DouShouQiModel.Owner - public let rowOrigin: Swift.Int - public let columnOrigin: Swift.Int - public let rowDestination: Swift.Int - public let columnDestination: Swift.Int - public init(of owner: DouShouQiModel.Owner, fromRow rowOrigin: Swift.Int, andFromColumn colOrigin: Swift.Int, toRow rowDest: Swift.Int, andToColumn colDest: Swift.Int) - public var description: Swift.String { - get - } - public static func == (a: DouShouQiModel.Move, b: DouShouQiModel.Move) -> Swift.Bool -} -public enum Animal : Swift.Int { - case rat, cat, dog, wolf, leopard, tiger, lion, elephant - public init?(rawValue: Swift.Int) - public typealias RawValue = Swift.Int - public var rawValue: Swift.Int { - get - } -} -public class Game { - public var board: DouShouQiModel.Board { - get - } - public var rules: any DouShouQiModel.Rules { - get - } - final public let players: [DouShouQiModel.Owner : DouShouQiModel.Player] - public init(withRules rules: any DouShouQiModel.Rules, andPlayer1 player1: DouShouQiModel.Player, andPlayer2 player2: DouShouQiModel.Player) throws - public init(withBoard board: DouShouQiModel.Board, andRules rules: any DouShouQiModel.Rules, andPlayer1 player1: DouShouQiModel.Player, andPlayer2 player2: DouShouQiModel.Player) throws - public func addGameStartedListener(_ listener: @escaping (DouShouQiModel.Board) -> Swift.Void) - #if compiler(>=5.3) && $AsyncAwait - public func addPlayerNotifiedListener(_ listener: @escaping (DouShouQiModel.Board, DouShouQiModel.Player) async throws -> Swift.Void) - #endif - #if compiler(>=5.3) && $AsyncAwait - public func addGameChangedListener(_ listener: @escaping (DouShouQiModel.Game) async -> Swift.Void) - #endif - public func addGameOverListener(_ listener: @escaping (DouShouQiModel.Board, DouShouQiModel.Result, DouShouQiModel.Player?) -> Swift.Void) - public func addMoveChosenCallbacksListener(_ listener: @escaping (DouShouQiModel.Board, DouShouQiModel.Move, DouShouQiModel.Player) -> Swift.Void) - public func addInvalidMoveCallbacksListener(_ listener: @escaping (DouShouQiModel.Board, DouShouQiModel.Move, DouShouQiModel.Player, Swift.Bool) -> Swift.Void) - public func addBoardChangedListener(_ listener: @escaping (DouShouQiModel.Board) -> Swift.Void) - public func addPieceRemovedListener(_ listener: @escaping (Swift.Int, Swift.Int, DouShouQiModel.Piece) -> Swift.Void) - #if compiler(>=5.3) && $AsyncAwait - public func onPlayed(with move: DouShouQiModel.Move?, from player: DouShouQiModel.Player) async throws - #endif - public var isOver: Swift.Bool { - get - } - #if compiler(>=5.3) && $AsyncAwait - public func start() async throws - #endif - @objc deinit -} -extension DouShouQiModel.WinningReason : Swift.Equatable {} -extension DouShouQiModel.WinningReason : Swift.Hashable {} -extension DouShouQiModel.BoardFailingReason : Swift.Equatable {} -extension DouShouQiModel.BoardFailingReason : Swift.Hashable {} -extension DouShouQiModel.CellType : Swift.Equatable {} -extension DouShouQiModel.CellType : Swift.Hashable {} -extension DouShouQiModel.Owner : Swift.Equatable {} -extension DouShouQiModel.Owner : Swift.Hashable {} -extension DouShouQiModel.Animal : Swift.Equatable {} -extension DouShouQiModel.Animal : Swift.Hashable {} -extension DouShouQiModel.Animal : Swift.RawRepresentable {} diff --git a/DouShouQi_App/DSQ.xcframework/ios-arm64_x86_64-simulator/DouShouQiModel.framework/Modules/DouShouQiModel.swiftmodule/x86_64-apple-ios-simulator.abi.json b/DouShouQi_App/DSQ.xcframework/ios-arm64_x86_64-simulator/DouShouQiModel.framework/Modules/DouShouQiModel.swiftmodule/x86_64-apple-ios-simulator.abi.json deleted file mode 100644 index c28e9fd..0000000 --- a/DouShouQi_App/DSQ.xcframework/ios-arm64_x86_64-simulator/DouShouQiModel.framework/Modules/DouShouQiModel.swiftmodule/x86_64-apple-ios-simulator.abi.json +++ /dev/null @@ -1,8546 +0,0 @@ -{ - "ABIRoot": { - "kind": "Root", - "name": "TopLevel", - "printedName": "TopLevel", - "children": [ - { - "kind": "Import", - "name": "Foundation", - "printedName": "Foundation", - "declKind": "Import", - "moduleName": "DouShouQiModel" - }, - { - "kind": "TypeDecl", - "name": "Result", - "printedName": "Result", - "children": [ - { - "kind": "Var", - "name": "notFinished", - "printedName": "notFinished", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.Result.Type) -> DouShouQiModel.Result", - "children": [ - { - "kind": "TypeNominal", - "name": "Result", - "printedName": "DouShouQiModel.Result", - "usr": "s:14DouShouQiModel6ResultO" - }, - { - "kind": "TypeNominal", - "name": "Metatype", - "printedName": "DouShouQiModel.Result.Type", - "children": [ - { - "kind": "TypeNominal", - "name": "Result", - "printedName": "DouShouQiModel.Result", - "usr": "s:14DouShouQiModel6ResultO" - } - ] - } - ] - } - ], - "declKind": "EnumElement", - "usr": "s:14DouShouQiModel6ResultO11notFinishedyA2CmF", - "mangledName": "$s14DouShouQiModel6ResultO11notFinishedyA2CmF", - "moduleName": "DouShouQiModel" - }, - { - "kind": "Var", - "name": "even", - "printedName": "even", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.Result.Type) -> DouShouQiModel.Result", - "children": [ - { - "kind": "TypeNominal", - "name": "Result", - "printedName": "DouShouQiModel.Result", - "usr": "s:14DouShouQiModel6ResultO" - }, - { - "kind": "TypeNominal", - "name": "Metatype", - "printedName": "DouShouQiModel.Result.Type", - "children": [ - { - "kind": "TypeNominal", - "name": "Result", - "printedName": "DouShouQiModel.Result", - "usr": "s:14DouShouQiModel6ResultO" - } - ] - } - ] - } - ], - "declKind": "EnumElement", - "usr": "s:14DouShouQiModel6ResultO4evenyA2CmF", - "mangledName": "$s14DouShouQiModel6ResultO4evenyA2CmF", - "moduleName": "DouShouQiModel" - }, - { - "kind": "Var", - "name": "winner", - "printedName": "winner", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.Result.Type) -> (DouShouQiModel.Owner, DouShouQiModel.WinningReason) -> DouShouQiModel.Result", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.Owner, DouShouQiModel.WinningReason) -> DouShouQiModel.Result", - "children": [ - { - "kind": "TypeNominal", - "name": "Result", - "printedName": "DouShouQiModel.Result", - "usr": "s:14DouShouQiModel6ResultO" - }, - { - "kind": "TypeNominal", - "name": "Tuple", - "printedName": "(winner: DouShouQiModel.Owner, reason: DouShouQiModel.WinningReason)", - "children": [ - { - "kind": "TypeNominal", - "name": "Owner", - "printedName": "DouShouQiModel.Owner", - "usr": "s:14DouShouQiModel5OwnerO" - }, - { - "kind": "TypeNominal", - "name": "WinningReason", - "printedName": "DouShouQiModel.WinningReason", - "usr": "s:14DouShouQiModel13WinningReasonO" - } - ] - } - ] - }, - { - "kind": "TypeNominal", - "name": "Metatype", - "printedName": "DouShouQiModel.Result.Type", - "children": [ - { - "kind": "TypeNominal", - "name": "Result", - "printedName": "DouShouQiModel.Result", - "usr": "s:14DouShouQiModel6ResultO" - } - ] - } - ] - } - ], - "declKind": "EnumElement", - "usr": "s:14DouShouQiModel6ResultO6winneryAcA5OwnerO_AA13WinningReasonOtcACmF", - "mangledName": "$s14DouShouQiModel6ResultO6winneryAcA5OwnerO_AA13WinningReasonOtcACmF", - "moduleName": "DouShouQiModel" - }, - { - "kind": "Function", - "name": "==", - "printedName": "==(_:_:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Bool", - "printedName": "Swift.Bool", - "usr": "s:Sb" - }, - { - "kind": "TypeNominal", - "name": "Result", - "printedName": "DouShouQiModel.Result", - "usr": "s:14DouShouQiModel6ResultO" - }, - { - "kind": "TypeNominal", - "name": "Result", - "printedName": "DouShouQiModel.Result", - "usr": "s:14DouShouQiModel6ResultO" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel6ResultO2eeoiySbAC_ACtFZ", - "mangledName": "$s14DouShouQiModel6ResultO2eeoiySbAC_ACtFZ", - "moduleName": "DouShouQiModel", - "static": true, - "implicit": true, - "funcSelfKind": "NonMutating" - } - ], - "declKind": "Enum", - "usr": "s:14DouShouQiModel6ResultO", - "mangledName": "$s14DouShouQiModel6ResultO", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "conformances": [ - { - "kind": "Conformance", - "name": "Equatable", - "printedName": "Equatable", - "usr": "s:SQ", - "mangledName": "$sSQ" - } - ] - }, - { - "kind": "TypeDecl", - "name": "WinningReason", - "printedName": "WinningReason", - "children": [ - { - "kind": "Var", - "name": "denReached", - "printedName": "denReached", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.WinningReason.Type) -> DouShouQiModel.WinningReason", - "children": [ - { - "kind": "TypeNominal", - "name": "WinningReason", - "printedName": "DouShouQiModel.WinningReason", - "usr": "s:14DouShouQiModel13WinningReasonO" - }, - { - "kind": "TypeNominal", - "name": "Metatype", - "printedName": "DouShouQiModel.WinningReason.Type", - "children": [ - { - "kind": "TypeNominal", - "name": "WinningReason", - "printedName": "DouShouQiModel.WinningReason", - "usr": "s:14DouShouQiModel13WinningReasonO" - } - ] - } - ] - } - ], - "declKind": "EnumElement", - "usr": "s:14DouShouQiModel13WinningReasonO10denReachedyA2CmF", - "mangledName": "$s14DouShouQiModel13WinningReasonO10denReachedyA2CmF", - "moduleName": "DouShouQiModel" - }, - { - "kind": "Var", - "name": "noMorePieces", - "printedName": "noMorePieces", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.WinningReason.Type) -> DouShouQiModel.WinningReason", - "children": [ - { - "kind": "TypeNominal", - "name": "WinningReason", - "printedName": "DouShouQiModel.WinningReason", - "usr": "s:14DouShouQiModel13WinningReasonO" - }, - { - "kind": "TypeNominal", - "name": "Metatype", - "printedName": "DouShouQiModel.WinningReason.Type", - "children": [ - { - "kind": "TypeNominal", - "name": "WinningReason", - "printedName": "DouShouQiModel.WinningReason", - "usr": "s:14DouShouQiModel13WinningReasonO" - } - ] - } - ] - } - ], - "declKind": "EnumElement", - "usr": "s:14DouShouQiModel13WinningReasonO12noMorePiecesyA2CmF", - "mangledName": "$s14DouShouQiModel13WinningReasonO12noMorePiecesyA2CmF", - "moduleName": "DouShouQiModel" - }, - { - "kind": "Var", - "name": "tooManyOccurences", - "printedName": "tooManyOccurences", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.WinningReason.Type) -> DouShouQiModel.WinningReason", - "children": [ - { - "kind": "TypeNominal", - "name": "WinningReason", - "printedName": "DouShouQiModel.WinningReason", - "usr": "s:14DouShouQiModel13WinningReasonO" - }, - { - "kind": "TypeNominal", - "name": "Metatype", - "printedName": "DouShouQiModel.WinningReason.Type", - "children": [ - { - "kind": "TypeNominal", - "name": "WinningReason", - "printedName": "DouShouQiModel.WinningReason", - "usr": "s:14DouShouQiModel13WinningReasonO" - } - ] - } - ] - } - ], - "declKind": "EnumElement", - "usr": "s:14DouShouQiModel13WinningReasonO17tooManyOccurencesyA2CmF", - "mangledName": "$s14DouShouQiModel13WinningReasonO17tooManyOccurencesyA2CmF", - "moduleName": "DouShouQiModel" - }, - { - "kind": "Var", - "name": "noMovesLeft", - "printedName": "noMovesLeft", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.WinningReason.Type) -> DouShouQiModel.WinningReason", - "children": [ - { - "kind": "TypeNominal", - "name": "WinningReason", - "printedName": "DouShouQiModel.WinningReason", - "usr": "s:14DouShouQiModel13WinningReasonO" - }, - { - "kind": "TypeNominal", - "name": "Metatype", - "printedName": "DouShouQiModel.WinningReason.Type", - "children": [ - { - "kind": "TypeNominal", - "name": "WinningReason", - "printedName": "DouShouQiModel.WinningReason", - "usr": "s:14DouShouQiModel13WinningReasonO" - } - ] - } - ] - } - ], - "declKind": "EnumElement", - "usr": "s:14DouShouQiModel13WinningReasonO11noMovesLeftyA2CmF", - "mangledName": "$s14DouShouQiModel13WinningReasonO11noMovesLeftyA2CmF", - "moduleName": "DouShouQiModel" - }, - { - "kind": "Function", - "name": "==", - "printedName": "==(_:_:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Bool", - "printedName": "Swift.Bool", - "usr": "s:Sb" - }, - { - "kind": "TypeNominal", - "name": "WinningReason", - "printedName": "DouShouQiModel.WinningReason", - "usr": "s:14DouShouQiModel13WinningReasonO" - }, - { - "kind": "TypeNominal", - "name": "WinningReason", - "printedName": "DouShouQiModel.WinningReason", - "usr": "s:14DouShouQiModel13WinningReasonO" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel13WinningReasonO2eeoiySbAC_ACtFZ", - "mangledName": "$s14DouShouQiModel13WinningReasonO2eeoiySbAC_ACtFZ", - "moduleName": "DouShouQiModel", - "static": true, - "implicit": true, - "funcSelfKind": "NonMutating" - }, - { - "kind": "Var", - "name": "hashValue", - "printedName": "hashValue", - "children": [ - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ], - "declKind": "Var", - "usr": "s:14DouShouQiModel13WinningReasonO9hashValueSivp", - "mangledName": "$s14DouShouQiModel13WinningReasonO9hashValueSivp", - "moduleName": "DouShouQiModel", - "implicit": true, - "accessors": [ - { - "kind": "Accessor", - "name": "Get", - "printedName": "Get()", - "children": [ - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ], - "declKind": "Accessor", - "usr": "s:14DouShouQiModel13WinningReasonO9hashValueSivg", - "mangledName": "$s14DouShouQiModel13WinningReasonO9hashValueSivg", - "moduleName": "DouShouQiModel", - "implicit": true, - "accessorKind": "get" - } - ] - }, - { - "kind": "Function", - "name": "hash", - "printedName": "hash(into:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - }, - { - "kind": "TypeNominal", - "name": "Hasher", - "printedName": "Swift.Hasher", - "paramValueOwnership": "InOut", - "usr": "s:s6HasherV" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel13WinningReasonO4hash4intoys6HasherVz_tF", - "mangledName": "$s14DouShouQiModel13WinningReasonO4hash4intoys6HasherVz_tF", - "moduleName": "DouShouQiModel", - "implicit": true, - "funcSelfKind": "NonMutating" - } - ], - "declKind": "Enum", - "usr": "s:14DouShouQiModel13WinningReasonO", - "mangledName": "$s14DouShouQiModel13WinningReasonO", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "conformances": [ - { - "kind": "Conformance", - "name": "Equatable", - "printedName": "Equatable", - "usr": "s:SQ", - "mangledName": "$sSQ" - }, - { - "kind": "Conformance", - "name": "Hashable", - "printedName": "Hashable", - "usr": "s:SH", - "mangledName": "$sSH" - } - ] - }, - { - "kind": "Import", - "name": "Foundation", - "printedName": "Foundation", - "declKind": "Import", - "moduleName": "DouShouQiModel" - }, - { - "kind": "TypeDecl", - "name": "BoardResult", - "printedName": "BoardResult", - "children": [ - { - "kind": "Var", - "name": "unknown", - "printedName": "unknown", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.BoardResult.Type) -> DouShouQiModel.BoardResult", - "children": [ - { - "kind": "TypeNominal", - "name": "BoardResult", - "printedName": "DouShouQiModel.BoardResult", - "usr": "s:14DouShouQiModel11BoardResultO" - }, - { - "kind": "TypeNominal", - "name": "Metatype", - "printedName": "DouShouQiModel.BoardResult.Type", - "children": [ - { - "kind": "TypeNominal", - "name": "BoardResult", - "printedName": "DouShouQiModel.BoardResult", - "usr": "s:14DouShouQiModel11BoardResultO" - } - ] - } - ] - } - ], - "declKind": "EnumElement", - "usr": "s:14DouShouQiModel11BoardResultO7unknownyA2CmF", - "mangledName": "$s14DouShouQiModel11BoardResultO7unknownyA2CmF", - "moduleName": "DouShouQiModel" - }, - { - "kind": "Var", - "name": "ok", - "printedName": "ok", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.BoardResult.Type) -> (DouShouQiModel.Piece?) -> DouShouQiModel.BoardResult", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.Piece?) -> DouShouQiModel.BoardResult", - "children": [ - { - "kind": "TypeNominal", - "name": "BoardResult", - "printedName": "DouShouQiModel.BoardResult", - "usr": "s:14DouShouQiModel11BoardResultO" - }, - { - "kind": "TypeNominal", - "name": "Tuple", - "printedName": "(piece: DouShouQiModel.Piece?)", - "children": [ - { - "kind": "TypeNominal", - "name": "Optional", - "printedName": "DouShouQiModel.Piece?", - "children": [ - { - "kind": "TypeNominal", - "name": "Piece", - "printedName": "DouShouQiModel.Piece", - "usr": "s:14DouShouQiModel5PieceV" - } - ], - "usr": "s:Sq" - } - ] - } - ] - }, - { - "kind": "TypeNominal", - "name": "Metatype", - "printedName": "DouShouQiModel.BoardResult.Type", - "children": [ - { - "kind": "TypeNominal", - "name": "BoardResult", - "printedName": "DouShouQiModel.BoardResult", - "usr": "s:14DouShouQiModel11BoardResultO" - } - ] - } - ] - } - ], - "declKind": "EnumElement", - "usr": "s:14DouShouQiModel11BoardResultO2okyAcA5PieceVSg_tcACmF", - "mangledName": "$s14DouShouQiModel11BoardResultO2okyAcA5PieceVSg_tcACmF", - "moduleName": "DouShouQiModel" - }, - { - "kind": "Var", - "name": "failed", - "printedName": "failed", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.BoardResult.Type) -> (DouShouQiModel.BoardFailingReason) -> DouShouQiModel.BoardResult", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.BoardFailingReason) -> DouShouQiModel.BoardResult", - "children": [ - { - "kind": "TypeNominal", - "name": "BoardResult", - "printedName": "DouShouQiModel.BoardResult", - "usr": "s:14DouShouQiModel11BoardResultO" - }, - { - "kind": "TypeNominal", - "name": "Tuple", - "printedName": "(reason: DouShouQiModel.BoardFailingReason)", - "children": [ - { - "kind": "TypeNominal", - "name": "BoardFailingReason", - "printedName": "DouShouQiModel.BoardFailingReason", - "usr": "s:14DouShouQiModel18BoardFailingReasonO" - } - ] - } - ] - }, - { - "kind": "TypeNominal", - "name": "Metatype", - "printedName": "DouShouQiModel.BoardResult.Type", - "children": [ - { - "kind": "TypeNominal", - "name": "BoardResult", - "printedName": "DouShouQiModel.BoardResult", - "usr": "s:14DouShouQiModel11BoardResultO" - } - ] - } - ] - } - ], - "declKind": "EnumElement", - "usr": "s:14DouShouQiModel11BoardResultO6failedyAcA0E13FailingReasonO_tcACmF", - "mangledName": "$s14DouShouQiModel11BoardResultO6failedyAcA0E13FailingReasonO_tcACmF", - "moduleName": "DouShouQiModel" - }, - { - "kind": "Function", - "name": "==", - "printedName": "==(_:_:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Bool", - "printedName": "Swift.Bool", - "usr": "s:Sb" - }, - { - "kind": "TypeNominal", - "name": "BoardResult", - "printedName": "DouShouQiModel.BoardResult", - "usr": "s:14DouShouQiModel11BoardResultO" - }, - { - "kind": "TypeNominal", - "name": "BoardResult", - "printedName": "DouShouQiModel.BoardResult", - "usr": "s:14DouShouQiModel11BoardResultO" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel11BoardResultO2eeoiySbAC_ACtFZ", - "mangledName": "$s14DouShouQiModel11BoardResultO2eeoiySbAC_ACtFZ", - "moduleName": "DouShouQiModel", - "static": true, - "implicit": true, - "funcSelfKind": "NonMutating" - } - ], - "declKind": "Enum", - "usr": "s:14DouShouQiModel11BoardResultO", - "mangledName": "$s14DouShouQiModel11BoardResultO", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "conformances": [ - { - "kind": "Conformance", - "name": "Equatable", - "printedName": "Equatable", - "usr": "s:SQ", - "mangledName": "$sSQ" - } - ] - }, - { - "kind": "TypeDecl", - "name": "BoardFailingReason", - "printedName": "BoardFailingReason", - "children": [ - { - "kind": "Var", - "name": "unknown", - "printedName": "unknown", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.BoardFailingReason.Type) -> DouShouQiModel.BoardFailingReason", - "children": [ - { - "kind": "TypeNominal", - "name": "BoardFailingReason", - "printedName": "DouShouQiModel.BoardFailingReason", - "usr": "s:14DouShouQiModel18BoardFailingReasonO" - }, - { - "kind": "TypeNominal", - "name": "Metatype", - "printedName": "DouShouQiModel.BoardFailingReason.Type", - "children": [ - { - "kind": "TypeNominal", - "name": "BoardFailingReason", - "printedName": "DouShouQiModel.BoardFailingReason", - "usr": "s:14DouShouQiModel18BoardFailingReasonO" - } - ] - } - ] - } - ], - "declKind": "EnumElement", - "usr": "s:14DouShouQiModel18BoardFailingReasonO7unknownyA2CmF", - "mangledName": "$s14DouShouQiModel18BoardFailingReasonO7unknownyA2CmF", - "moduleName": "DouShouQiModel" - }, - { - "kind": "Var", - "name": "outOfBounds", - "printedName": "outOfBounds", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.BoardFailingReason.Type) -> DouShouQiModel.BoardFailingReason", - "children": [ - { - "kind": "TypeNominal", - "name": "BoardFailingReason", - "printedName": "DouShouQiModel.BoardFailingReason", - "usr": "s:14DouShouQiModel18BoardFailingReasonO" - }, - { - "kind": "TypeNominal", - "name": "Metatype", - "printedName": "DouShouQiModel.BoardFailingReason.Type", - "children": [ - { - "kind": "TypeNominal", - "name": "BoardFailingReason", - "printedName": "DouShouQiModel.BoardFailingReason", - "usr": "s:14DouShouQiModel18BoardFailingReasonO" - } - ] - } - ] - } - ], - "declKind": "EnumElement", - "usr": "s:14DouShouQiModel18BoardFailingReasonO11outOfBoundsyA2CmF", - "mangledName": "$s14DouShouQiModel18BoardFailingReasonO11outOfBoundsyA2CmF", - "moduleName": "DouShouQiModel" - }, - { - "kind": "Var", - "name": "cellNotEmpty", - "printedName": "cellNotEmpty", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.BoardFailingReason.Type) -> DouShouQiModel.BoardFailingReason", - "children": [ - { - "kind": "TypeNominal", - "name": "BoardFailingReason", - "printedName": "DouShouQiModel.BoardFailingReason", - "usr": "s:14DouShouQiModel18BoardFailingReasonO" - }, - { - "kind": "TypeNominal", - "name": "Metatype", - "printedName": "DouShouQiModel.BoardFailingReason.Type", - "children": [ - { - "kind": "TypeNominal", - "name": "BoardFailingReason", - "printedName": "DouShouQiModel.BoardFailingReason", - "usr": "s:14DouShouQiModel18BoardFailingReasonO" - } - ] - } - ] - } - ], - "declKind": "EnumElement", - "usr": "s:14DouShouQiModel18BoardFailingReasonO12cellNotEmptyyA2CmF", - "mangledName": "$s14DouShouQiModel18BoardFailingReasonO12cellNotEmptyyA2CmF", - "moduleName": "DouShouQiModel" - }, - { - "kind": "Var", - "name": "cellEmpty", - "printedName": "cellEmpty", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.BoardFailingReason.Type) -> DouShouQiModel.BoardFailingReason", - "children": [ - { - "kind": "TypeNominal", - "name": "BoardFailingReason", - "printedName": "DouShouQiModel.BoardFailingReason", - "usr": "s:14DouShouQiModel18BoardFailingReasonO" - }, - { - "kind": "TypeNominal", - "name": "Metatype", - "printedName": "DouShouQiModel.BoardFailingReason.Type", - "children": [ - { - "kind": "TypeNominal", - "name": "BoardFailingReason", - "printedName": "DouShouQiModel.BoardFailingReason", - "usr": "s:14DouShouQiModel18BoardFailingReasonO" - } - ] - } - ] - } - ], - "declKind": "EnumElement", - "usr": "s:14DouShouQiModel18BoardFailingReasonO9cellEmptyyA2CmF", - "mangledName": "$s14DouShouQiModel18BoardFailingReasonO9cellEmptyyA2CmF", - "moduleName": "DouShouQiModel" - }, - { - "kind": "Function", - "name": "==", - "printedName": "==(_:_:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Bool", - "printedName": "Swift.Bool", - "usr": "s:Sb" - }, - { - "kind": "TypeNominal", - "name": "BoardFailingReason", - "printedName": "DouShouQiModel.BoardFailingReason", - "usr": "s:14DouShouQiModel18BoardFailingReasonO" - }, - { - "kind": "TypeNominal", - "name": "BoardFailingReason", - "printedName": "DouShouQiModel.BoardFailingReason", - "usr": "s:14DouShouQiModel18BoardFailingReasonO" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel18BoardFailingReasonO2eeoiySbAC_ACtFZ", - "mangledName": "$s14DouShouQiModel18BoardFailingReasonO2eeoiySbAC_ACtFZ", - "moduleName": "DouShouQiModel", - "static": true, - "implicit": true, - "funcSelfKind": "NonMutating" - }, - { - "kind": "Var", - "name": "hashValue", - "printedName": "hashValue", - "children": [ - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ], - "declKind": "Var", - "usr": "s:14DouShouQiModel18BoardFailingReasonO9hashValueSivp", - "mangledName": "$s14DouShouQiModel18BoardFailingReasonO9hashValueSivp", - "moduleName": "DouShouQiModel", - "implicit": true, - "accessors": [ - { - "kind": "Accessor", - "name": "Get", - "printedName": "Get()", - "children": [ - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ], - "declKind": "Accessor", - "usr": "s:14DouShouQiModel18BoardFailingReasonO9hashValueSivg", - "mangledName": "$s14DouShouQiModel18BoardFailingReasonO9hashValueSivg", - "moduleName": "DouShouQiModel", - "implicit": true, - "accessorKind": "get" - } - ] - }, - { - "kind": "Function", - "name": "hash", - "printedName": "hash(into:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - }, - { - "kind": "TypeNominal", - "name": "Hasher", - "printedName": "Swift.Hasher", - "paramValueOwnership": "InOut", - "usr": "s:s6HasherV" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel18BoardFailingReasonO4hash4intoys6HasherVz_tF", - "mangledName": "$s14DouShouQiModel18BoardFailingReasonO4hash4intoys6HasherVz_tF", - "moduleName": "DouShouQiModel", - "implicit": true, - "funcSelfKind": "NonMutating" - } - ], - "declKind": "Enum", - "usr": "s:14DouShouQiModel18BoardFailingReasonO", - "mangledName": "$s14DouShouQiModel18BoardFailingReasonO", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "conformances": [ - { - "kind": "Conformance", - "name": "Equatable", - "printedName": "Equatable", - "usr": "s:SQ", - "mangledName": "$sSQ" - }, - { - "kind": "Conformance", - "name": "Hashable", - "printedName": "Hashable", - "usr": "s:SH", - "mangledName": "$sSH" - } - ] - }, - { - "kind": "Import", - "name": "Foundation", - "printedName": "Foundation", - "declKind": "Import", - "moduleName": "DouShouQiModel" - }, - { - "kind": "TypeDecl", - "name": "HumanPlayer", - "printedName": "HumanPlayer", - "children": [ - { - "kind": "Constructor", - "name": "init", - "printedName": "init(withName:andId:andInputMethod:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Optional", - "printedName": "DouShouQiModel.HumanPlayer?", - "children": [ - { - "kind": "TypeNominal", - "name": "HumanPlayer", - "printedName": "DouShouQiModel.HumanPlayer", - "usr": "s:14DouShouQiModel11HumanPlayerC" - } - ], - "usr": "s:Sq" - }, - { - "kind": "TypeNominal", - "name": "String", - "printedName": "Swift.String", - "usr": "s:SS" - }, - { - "kind": "TypeNominal", - "name": "Owner", - "printedName": "DouShouQiModel.Owner", - "usr": "s:14DouShouQiModel5OwnerO" - }, - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.HumanPlayer) -> DouShouQiModel.Move?", - "children": [ - { - "kind": "TypeNominal", - "name": "Optional", - "printedName": "DouShouQiModel.Move?", - "children": [ - { - "kind": "TypeNominal", - "name": "Move", - "printedName": "DouShouQiModel.Move", - "usr": "s:14DouShouQiModel4MoveV" - } - ], - "usr": "s:Sq" - }, - { - "kind": "TypeNominal", - "name": "HumanPlayer", - "printedName": "DouShouQiModel.HumanPlayer", - "usr": "s:14DouShouQiModel11HumanPlayerC" - } - ] - } - ], - "declKind": "Constructor", - "usr": "s:14DouShouQiModel11HumanPlayerC8withName5andId0I11InputMethodACSgSS_AA5OwnerOAA4MoveVSgACctcfc", - "mangledName": "$s14DouShouQiModel11HumanPlayerC8withName5andId0I11InputMethodACSgSS_AA5OwnerOAA4MoveVSgACctcfc", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "init_kind": "Designated" - }, - { - "kind": "Constructor", - "name": "init", - "printedName": "init(withName:andId:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Optional", - "printedName": "DouShouQiModel.HumanPlayer?", - "children": [ - { - "kind": "TypeNominal", - "name": "HumanPlayer", - "printedName": "DouShouQiModel.HumanPlayer", - "usr": "s:14DouShouQiModel11HumanPlayerC" - } - ], - "usr": "s:Sq" - }, - { - "kind": "TypeNominal", - "name": "String", - "printedName": "Swift.String", - "usr": "s:SS" - }, - { - "kind": "TypeNominal", - "name": "Owner", - "printedName": "DouShouQiModel.Owner", - "usr": "s:14DouShouQiModel5OwnerO" - } - ], - "declKind": "Constructor", - "usr": "s:14DouShouQiModel11HumanPlayerC8withName5andIdACSgSS_AA5OwnerOtcfc", - "mangledName": "$s14DouShouQiModel11HumanPlayerC8withName5andIdACSgSS_AA5OwnerOtcfc", - "moduleName": "DouShouQiModel", - "overriding": true, - "declAttributes": [ - "Override", - "AccessControl" - ], - "init_kind": "Designated" - }, - { - "kind": "Function", - "name": "chooseMove", - "printedName": "chooseMove(in:with:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - }, - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - }, - { - "kind": "TypeNominal", - "name": "Rules", - "printedName": "DouShouQiModel.Rules", - "usr": "s:14DouShouQiModel5RulesP" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel11HumanPlayerC10chooseMove2in4withyAA5BoardV_AA5Rules_ptYaKF", - "mangledName": "$s14DouShouQiModel11HumanPlayerC10chooseMove2in4withyAA5BoardV_AA5Rules_ptYaKF", - "moduleName": "DouShouQiModel", - "overriding": true, - "declAttributes": [ - "Override", - "AccessControl" - ], - "throwing": true, - "funcSelfKind": "NonMutating" - }, - { - "kind": "Function", - "name": "changeInput", - "printedName": "changeInput(input:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - }, - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.HumanPlayer) -> DouShouQiModel.Move?", - "children": [ - { - "kind": "TypeNominal", - "name": "Optional", - "printedName": "DouShouQiModel.Move?", - "children": [ - { - "kind": "TypeNominal", - "name": "Move", - "printedName": "DouShouQiModel.Move", - "usr": "s:14DouShouQiModel4MoveV" - } - ], - "usr": "s:Sq" - }, - { - "kind": "TypeNominal", - "name": "HumanPlayer", - "printedName": "DouShouQiModel.HumanPlayer", - "usr": "s:14DouShouQiModel11HumanPlayerC" - } - ] - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel11HumanPlayerC11changeInput5inputyAA4MoveVSgACc_tF", - "mangledName": "$s14DouShouQiModel11HumanPlayerC11changeInput5inputyAA4MoveVSgACc_tF", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "funcSelfKind": "NonMutating" - }, - { - "kind": "Function", - "name": "chooseMove", - "printedName": "chooseMove(_:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - }, - { - "kind": "TypeNominal", - "name": "Optional", - "printedName": "DouShouQiModel.Move?", - "children": [ - { - "kind": "TypeNominal", - "name": "Move", - "printedName": "DouShouQiModel.Move", - "usr": "s:14DouShouQiModel4MoveV" - } - ], - "usr": "s:Sq" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel11HumanPlayerC10chooseMoveyyAA0H0VSgYaKF", - "mangledName": "$s14DouShouQiModel11HumanPlayerC10chooseMoveyyAA0H0VSgYaKF", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "throwing": true, - "funcSelfKind": "NonMutating" - } - ], - "declKind": "Class", - "usr": "s:14DouShouQiModel11HumanPlayerC", - "mangledName": "$s14DouShouQiModel11HumanPlayerC", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "superclassUsr": "s:14DouShouQiModel6PlayerC", - "inheritsConvenienceInitializers": true, - "superclassNames": [ - "DouShouQiModel.Player" - ] - }, - { - "kind": "Import", - "name": "Foundation", - "printedName": "Foundation", - "declKind": "Import", - "moduleName": "DouShouQiModel" - }, - { - "kind": "TypeDecl", - "name": "ClassicRules", - "printedName": "ClassicRules", - "children": [ - { - "kind": "Function", - "name": "createBoard", - "printedName": "createBoard()", - "children": [ - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel12ClassicRulesV11createBoardAA0H0VyFZ", - "mangledName": "$s14DouShouQiModel12ClassicRulesV11createBoardAA0H0VyFZ", - "moduleName": "DouShouQiModel", - "static": true, - "declAttributes": [ - "AccessControl" - ], - "funcSelfKind": "NonMutating" - }, - { - "kind": "Function", - "name": "checkBoard", - "printedName": "checkBoard(_:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - }, - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel12ClassicRulesV10checkBoardyyAA0H0VKFZ", - "mangledName": "$s14DouShouQiModel12ClassicRulesV10checkBoardyyAA0H0VKFZ", - "moduleName": "DouShouQiModel", - "static": true, - "declAttributes": [ - "AccessControl" - ], - "throwing": true, - "funcSelfKind": "NonMutating" - }, - { - "kind": "Constructor", - "name": "init", - "printedName": "init()", - "children": [ - { - "kind": "TypeNominal", - "name": "ClassicRules", - "printedName": "DouShouQiModel.ClassicRules", - "usr": "s:14DouShouQiModel12ClassicRulesV" - } - ], - "declKind": "Constructor", - "usr": "s:14DouShouQiModel12ClassicRulesVACycfc", - "mangledName": "$s14DouShouQiModel12ClassicRulesVACycfc", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "init_kind": "Designated" - }, - { - "kind": "Constructor", - "name": "init", - "printedName": "init(occurences:historic:)", - "children": [ - { - "kind": "TypeNominal", - "name": "ClassicRules", - "printedName": "DouShouQiModel.ClassicRules", - "usr": "s:14DouShouQiModel12ClassicRulesV" - }, - { - "kind": "TypeNominal", - "name": "Dictionary", - "printedName": "[DouShouQiModel.Board : Swift.Int]", - "children": [ - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ], - "usr": "s:SD" - }, - { - "kind": "TypeNominal", - "name": "Array", - "printedName": "[DouShouQiModel.Move]", - "children": [ - { - "kind": "TypeNominal", - "name": "Move", - "printedName": "DouShouQiModel.Move", - "usr": "s:14DouShouQiModel4MoveV" - } - ], - "usr": "s:Sa" - } - ], - "declKind": "Constructor", - "usr": "s:14DouShouQiModel12ClassicRulesV10occurences8historicACSDyAA5BoardVSiG_SayAA4MoveVGtcfc", - "mangledName": "$s14DouShouQiModel12ClassicRulesV10occurences8historicACSDyAA5BoardVSiG_SayAA4MoveVGtcfc", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "init_kind": "Designated" - }, - { - "kind": "Function", - "name": "getMoves", - "printedName": "getMoves(in:of:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Array", - "printedName": "[DouShouQiModel.Move]", - "children": [ - { - "kind": "TypeNominal", - "name": "Move", - "printedName": "DouShouQiModel.Move", - "usr": "s:14DouShouQiModel4MoveV" - } - ], - "usr": "s:Sa" - }, - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - }, - { - "kind": "TypeNominal", - "name": "Owner", - "printedName": "DouShouQiModel.Owner", - "usr": "s:14DouShouQiModel5OwnerO" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel12ClassicRulesV8getMoves2in2ofSayAA4MoveVGAA5BoardV_AA5OwnerOtF", - "mangledName": "$s14DouShouQiModel12ClassicRulesV8getMoves2in2ofSayAA4MoveVGAA5BoardV_AA5OwnerOtF", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "funcSelfKind": "NonMutating" - }, - { - "kind": "Function", - "name": "getMoves", - "printedName": "getMoves(in:of:fromRow:andColumn:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Array", - "printedName": "[DouShouQiModel.Move]", - "children": [ - { - "kind": "TypeNominal", - "name": "Move", - "printedName": "DouShouQiModel.Move", - "usr": "s:14DouShouQiModel4MoveV" - } - ], - "usr": "s:Sa" - }, - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - }, - { - "kind": "TypeNominal", - "name": "Owner", - "printedName": "DouShouQiModel.Owner", - "usr": "s:14DouShouQiModel5OwnerO" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel12ClassicRulesV8getMoves2in2of7fromRow9andColumnSayAA4MoveVGAA5BoardV_AA5OwnerOS2itF", - "mangledName": "$s14DouShouQiModel12ClassicRulesV8getMoves2in2of7fromRow9andColumnSayAA4MoveVGAA5BoardV_AA5OwnerOS2itF", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "funcSelfKind": "NonMutating" - }, - { - "kind": "Function", - "name": "isMoveValid", - "printedName": "isMoveValid(onBoard:fromRow:andFromColumn:toRow:andToColumn:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Bool", - "printedName": "Swift.Bool", - "usr": "s:Sb" - }, - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel12ClassicRulesV11isMoveValid7onBoard7fromRow13andFromColumn02toM00n2ToP0SbAA0K0V_S4itF", - "mangledName": "$s14DouShouQiModel12ClassicRulesV11isMoveValid7onBoard7fromRow13andFromColumn02toM00n2ToP0SbAA0K0V_S4itF", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "funcSelfKind": "NonMutating" - }, - { - "kind": "Function", - "name": "isMoveValid", - "printedName": "isMoveValid(onBoard:withMove:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Bool", - "printedName": "Swift.Bool", - "usr": "s:Sb" - }, - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - }, - { - "kind": "TypeNominal", - "name": "Move", - "printedName": "DouShouQiModel.Move", - "usr": "s:14DouShouQiModel4MoveV" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel12ClassicRulesV11isMoveValid7onBoard04withH0SbAA0K0V_AA0H0VtF", - "mangledName": "$s14DouShouQiModel12ClassicRulesV11isMoveValid7onBoard04withH0SbAA0K0V_AA0H0VtF", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "funcSelfKind": "NonMutating" - }, - { - "kind": "Function", - "name": "isGameOver", - "printedName": "isGameOver(withBoard:andLastRowPlayed:andLastColumnPlayer:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Tuple", - "printedName": "(Swift.Bool, DouShouQiModel.Result)", - "children": [ - { - "kind": "TypeNominal", - "name": "Bool", - "printedName": "Swift.Bool", - "usr": "s:Sb" - }, - { - "kind": "TypeNominal", - "name": "Result", - "printedName": "DouShouQiModel.Result", - "usr": "s:14DouShouQiModel6ResultO" - } - ] - }, - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel12ClassicRulesV10isGameOver9withBoard16andLastRowPlayed0lM12ColumnPlayerSb_AA6ResultOtAA0K0V_S2itF", - "mangledName": "$s14DouShouQiModel12ClassicRulesV10isGameOver9withBoard16andLastRowPlayed0lM12ColumnPlayerSb_AA6ResultOtAA0K0V_S2itF", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "funcSelfKind": "NonMutating" - }, - { - "kind": "Function", - "name": "playedMove", - "printedName": "playedMove(_:onStartingBoard:andResultingBoard:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - }, - { - "kind": "TypeNominal", - "name": "Move", - "printedName": "DouShouQiModel.Move", - "usr": "s:14DouShouQiModel4MoveV" - }, - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - }, - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel12ClassicRulesV10playedMove_15onStartingBoard012andResultingK0yAA0H0V_AA0K0VAJtKF", - "mangledName": "$s14DouShouQiModel12ClassicRulesV10playedMove_15onStartingBoard012andResultingK0yAA0H0V_AA0K0VAJtKF", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "Mutating", - "AccessControl" - ], - "throwing": true, - "funcSelfKind": "Mutating" - }, - { - "kind": "Function", - "name": "getNextPlayer", - "printedName": "getNextPlayer()", - "children": [ - { - "kind": "TypeNominal", - "name": "Owner", - "printedName": "DouShouQiModel.Owner", - "usr": "s:14DouShouQiModel5OwnerO" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel12ClassicRulesV13getNextPlayerAA5OwnerOyF", - "mangledName": "$s14DouShouQiModel12ClassicRulesV13getNextPlayerAA5OwnerOyF", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "funcSelfKind": "NonMutating" - }, - { - "kind": "Var", - "name": "occurences", - "printedName": "occurences", - "children": [ - { - "kind": "TypeNominal", - "name": "Dictionary", - "printedName": "[DouShouQiModel.Board : Swift.Int]", - "children": [ - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ], - "usr": "s:SD" - } - ], - "declKind": "Var", - "usr": "s:14DouShouQiModel12ClassicRulesV10occurencesSDyAA5BoardVSiGvp", - "mangledName": "$s14DouShouQiModel12ClassicRulesV10occurencesSDyAA5BoardVSiGvp", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "HasInitialValue", - "HasStorage", - "SetterAccess", - "AccessControl" - ], - "hasStorage": true, - "accessors": [ - { - "kind": "Accessor", - "name": "Get", - "printedName": "Get()", - "children": [ - { - "kind": "TypeNominal", - "name": "Dictionary", - "printedName": "[DouShouQiModel.Board : Swift.Int]", - "children": [ - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ], - "usr": "s:SD" - } - ], - "declKind": "Accessor", - "usr": "s:14DouShouQiModel12ClassicRulesV10occurencesSDyAA5BoardVSiGvg", - "mangledName": "$s14DouShouQiModel12ClassicRulesV10occurencesSDyAA5BoardVSiGvg", - "moduleName": "DouShouQiModel", - "implicit": true, - "accessorKind": "get" - } - ] - }, - { - "kind": "Var", - "name": "historic", - "printedName": "historic", - "children": [ - { - "kind": "TypeNominal", - "name": "Array", - "printedName": "[DouShouQiModel.Move]", - "children": [ - { - "kind": "TypeNominal", - "name": "Move", - "printedName": "DouShouQiModel.Move", - "usr": "s:14DouShouQiModel4MoveV" - } - ], - "usr": "s:Sa" - } - ], - "declKind": "Var", - "usr": "s:14DouShouQiModel12ClassicRulesV8historicSayAA4MoveVGvp", - "mangledName": "$s14DouShouQiModel12ClassicRulesV8historicSayAA4MoveVGvp", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "HasInitialValue", - "HasStorage", - "SetterAccess", - "AccessControl" - ], - "hasStorage": true, - "accessors": [ - { - "kind": "Accessor", - "name": "Get", - "printedName": "Get()", - "children": [ - { - "kind": "TypeNominal", - "name": "Array", - "printedName": "[DouShouQiModel.Move]", - "children": [ - { - "kind": "TypeNominal", - "name": "Move", - "printedName": "DouShouQiModel.Move", - "usr": "s:14DouShouQiModel4MoveV" - } - ], - "usr": "s:Sa" - } - ], - "declKind": "Accessor", - "usr": "s:14DouShouQiModel12ClassicRulesV8historicSayAA4MoveVGvg", - "mangledName": "$s14DouShouQiModel12ClassicRulesV8historicSayAA4MoveVGvg", - "moduleName": "DouShouQiModel", - "implicit": true, - "accessorKind": "get" - } - ] - } - ], - "declKind": "Struct", - "usr": "s:14DouShouQiModel12ClassicRulesV", - "mangledName": "$s14DouShouQiModel12ClassicRulesV", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "conformances": [ - { - "kind": "Conformance", - "name": "Rules", - "printedName": "Rules", - "usr": "s:14DouShouQiModel5RulesP", - "mangledName": "$s14DouShouQiModel5RulesP" - } - ] - }, - { - "kind": "Import", - "name": "Foundation", - "printedName": "Foundation", - "declKind": "Import", - "moduleName": "DouShouQiModel" - }, - { - "kind": "TypeDecl", - "name": "Cell", - "printedName": "Cell", - "children": [ - { - "kind": "Var", - "name": "description", - "printedName": "description", - "children": [ - { - "kind": "TypeNominal", - "name": "String", - "printedName": "Swift.String", - "usr": "s:SS" - } - ], - "declKind": "Var", - "usr": "s:14DouShouQiModel4CellV11descriptionSSvp", - "mangledName": "$s14DouShouQiModel4CellV11descriptionSSvp", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "accessors": [ - { - "kind": "Accessor", - "name": "Get", - "printedName": "Get()", - "children": [ - { - "kind": "TypeNominal", - "name": "String", - "printedName": "Swift.String", - "usr": "s:SS" - } - ], - "declKind": "Accessor", - "usr": "s:14DouShouQiModel4CellV11descriptionSSvg", - "mangledName": "$s14DouShouQiModel4CellV11descriptionSSvg", - "moduleName": "DouShouQiModel", - "accessorKind": "get" - } - ] - }, - { - "kind": "Var", - "name": "cellType", - "printedName": "cellType", - "children": [ - { - "kind": "TypeNominal", - "name": "CellType", - "printedName": "DouShouQiModel.CellType", - "usr": "s:14DouShouQiModel8CellTypeO" - } - ], - "declKind": "Var", - "usr": "s:14DouShouQiModel4CellV8cellTypeAA0eG0Ovp", - "mangledName": "$s14DouShouQiModel4CellV8cellTypeAA0eG0Ovp", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "HasStorage", - "AccessControl" - ], - "isLet": true, - "hasStorage": true, - "accessors": [ - { - "kind": "Accessor", - "name": "Get", - "printedName": "Get()", - "children": [ - { - "kind": "TypeNominal", - "name": "CellType", - "printedName": "DouShouQiModel.CellType", - "usr": "s:14DouShouQiModel8CellTypeO" - } - ], - "declKind": "Accessor", - "usr": "s:14DouShouQiModel4CellV8cellTypeAA0eG0Ovg", - "mangledName": "$s14DouShouQiModel4CellV8cellTypeAA0eG0Ovg", - "moduleName": "DouShouQiModel", - "implicit": true, - "accessorKind": "get" - } - ] - }, - { - "kind": "Var", - "name": "initialOwner", - "printedName": "initialOwner", - "children": [ - { - "kind": "TypeNominal", - "name": "Owner", - "printedName": "DouShouQiModel.Owner", - "usr": "s:14DouShouQiModel5OwnerO" - } - ], - "declKind": "Var", - "usr": "s:14DouShouQiModel4CellV12initialOwnerAA0G0Ovp", - "mangledName": "$s14DouShouQiModel4CellV12initialOwnerAA0G0Ovp", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "HasStorage", - "AccessControl" - ], - "isLet": true, - "hasStorage": true, - "accessors": [ - { - "kind": "Accessor", - "name": "Get", - "printedName": "Get()", - "children": [ - { - "kind": "TypeNominal", - "name": "Owner", - "printedName": "DouShouQiModel.Owner", - "usr": "s:14DouShouQiModel5OwnerO" - } - ], - "declKind": "Accessor", - "usr": "s:14DouShouQiModel4CellV12initialOwnerAA0G0Ovg", - "mangledName": "$s14DouShouQiModel4CellV12initialOwnerAA0G0Ovg", - "moduleName": "DouShouQiModel", - "implicit": true, - "accessorKind": "get" - } - ] - }, - { - "kind": "Var", - "name": "piece", - "printedName": "piece", - "children": [ - { - "kind": "TypeNominal", - "name": "Optional", - "printedName": "DouShouQiModel.Piece?", - "children": [ - { - "kind": "TypeNominal", - "name": "Piece", - "printedName": "DouShouQiModel.Piece", - "usr": "s:14DouShouQiModel5PieceV" - } - ], - "usr": "s:Sq" - } - ], - "declKind": "Var", - "usr": "s:14DouShouQiModel4CellV5pieceAA5PieceVSgvp", - "mangledName": "$s14DouShouQiModel4CellV5pieceAA5PieceVSgvp", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "HasInitialValue", - "HasStorage", - "AccessControl" - ], - "hasStorage": true, - "accessors": [ - { - "kind": "Accessor", - "name": "Get", - "printedName": "Get()", - "children": [ - { - "kind": "TypeNominal", - "name": "Optional", - "printedName": "DouShouQiModel.Piece?", - "children": [ - { - "kind": "TypeNominal", - "name": "Piece", - "printedName": "DouShouQiModel.Piece", - "usr": "s:14DouShouQiModel5PieceV" - } - ], - "usr": "s:Sq" - } - ], - "declKind": "Accessor", - "usr": "s:14DouShouQiModel4CellV5pieceAA5PieceVSgvg", - "mangledName": "$s14DouShouQiModel4CellV5pieceAA5PieceVSgvg", - "moduleName": "DouShouQiModel", - "implicit": true, - "accessorKind": "get" - }, - { - "kind": "Accessor", - "name": "Set", - "printedName": "Set()", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - }, - { - "kind": "TypeNominal", - "name": "Optional", - "printedName": "DouShouQiModel.Piece?", - "children": [ - { - "kind": "TypeNominal", - "name": "Piece", - "printedName": "DouShouQiModel.Piece", - "usr": "s:14DouShouQiModel5PieceV" - } - ], - "usr": "s:Sq" - } - ], - "declKind": "Accessor", - "usr": "s:14DouShouQiModel4CellV5pieceAA5PieceVSgvs", - "mangledName": "$s14DouShouQiModel4CellV5pieceAA5PieceVSgvs", - "moduleName": "DouShouQiModel", - "implicit": true, - "accessorKind": "set" - }, - { - "kind": "Accessor", - "name": "Modify", - "printedName": "Modify()", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - } - ], - "declKind": "Accessor", - "usr": "s:14DouShouQiModel4CellV5pieceAA5PieceVSgvM", - "mangledName": "$s14DouShouQiModel4CellV5pieceAA5PieceVSgvM", - "moduleName": "DouShouQiModel", - "implicit": true, - "accessorKind": "_modify" - } - ] - }, - { - "kind": "Constructor", - "name": "init", - "printedName": "init(ofType:ownedBy:withPiece:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Cell", - "printedName": "DouShouQiModel.Cell", - "usr": "s:14DouShouQiModel4CellV" - }, - { - "kind": "TypeNominal", - "name": "CellType", - "printedName": "DouShouQiModel.CellType", - "usr": "s:14DouShouQiModel8CellTypeO" - }, - { - "kind": "TypeNominal", - "name": "Owner", - "printedName": "DouShouQiModel.Owner", - "hasDefaultArg": true, - "usr": "s:14DouShouQiModel5OwnerO" - }, - { - "kind": "TypeNominal", - "name": "Optional", - "printedName": "DouShouQiModel.Piece?", - "children": [ - { - "kind": "TypeNominal", - "name": "Piece", - "printedName": "DouShouQiModel.Piece", - "usr": "s:14DouShouQiModel5PieceV" - } - ], - "hasDefaultArg": true, - "usr": "s:Sq" - } - ], - "declKind": "Constructor", - "usr": "s:14DouShouQiModel4CellV6ofType7ownedBy9withPieceAcA0eG0O_AA5OwnerOAA0K0VSgtcfc", - "mangledName": "$s14DouShouQiModel4CellV6ofType7ownedBy9withPieceAcA0eG0O_AA5OwnerOAA0K0VSgtcfc", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "init_kind": "Designated" - }, - { - "kind": "Function", - "name": "==", - "printedName": "==(_:_:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Bool", - "printedName": "Swift.Bool", - "usr": "s:Sb" - }, - { - "kind": "TypeNominal", - "name": "Cell", - "printedName": "DouShouQiModel.Cell", - "usr": "s:14DouShouQiModel4CellV" - }, - { - "kind": "TypeNominal", - "name": "Cell", - "printedName": "DouShouQiModel.Cell", - "usr": "s:14DouShouQiModel4CellV" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel4CellV2eeoiySbAC_ACtFZ", - "mangledName": "$s14DouShouQiModel4CellV2eeoiySbAC_ACtFZ", - "moduleName": "DouShouQiModel", - "static": true, - "implicit": true, - "funcSelfKind": "NonMutating" - } - ], - "declKind": "Struct", - "usr": "s:14DouShouQiModel4CellV", - "mangledName": "$s14DouShouQiModel4CellV", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "conformances": [ - { - "kind": "Conformance", - "name": "CustomStringConvertible", - "printedName": "CustomStringConvertible", - "usr": "s:s23CustomStringConvertibleP", - "mangledName": "$ss23CustomStringConvertibleP" - }, - { - "kind": "Conformance", - "name": "Equatable", - "printedName": "Equatable", - "usr": "s:SQ", - "mangledName": "$sSQ" - } - ] - }, - { - "kind": "Import", - "name": "Foundation", - "printedName": "Foundation", - "declKind": "Import", - "moduleName": "DouShouQiModel" - }, - { - "kind": "TypeDecl", - "name": "VerySimpleRules", - "printedName": "VerySimpleRules", - "children": [ - { - "kind": "Function", - "name": "createBoard", - "printedName": "createBoard()", - "children": [ - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel15VerySimpleRulesV11createBoardAA0I0VyFZ", - "mangledName": "$s14DouShouQiModel15VerySimpleRulesV11createBoardAA0I0VyFZ", - "moduleName": "DouShouQiModel", - "static": true, - "declAttributes": [ - "AccessControl" - ], - "funcSelfKind": "NonMutating" - }, - { - "kind": "Function", - "name": "checkBoard", - "printedName": "checkBoard(_:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - }, - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel15VerySimpleRulesV10checkBoardyyAA0I0VKFZ", - "mangledName": "$s14DouShouQiModel15VerySimpleRulesV10checkBoardyyAA0I0VKFZ", - "moduleName": "DouShouQiModel", - "static": true, - "declAttributes": [ - "AccessControl" - ], - "throwing": true, - "funcSelfKind": "NonMutating" - }, - { - "kind": "Constructor", - "name": "init", - "printedName": "init()", - "children": [ - { - "kind": "TypeNominal", - "name": "VerySimpleRules", - "printedName": "DouShouQiModel.VerySimpleRules", - "usr": "s:14DouShouQiModel15VerySimpleRulesV" - } - ], - "declKind": "Constructor", - "usr": "s:14DouShouQiModel15VerySimpleRulesVACycfc", - "mangledName": "$s14DouShouQiModel15VerySimpleRulesVACycfc", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "init_kind": "Designated" - }, - { - "kind": "Constructor", - "name": "init", - "printedName": "init(occurences:historic:)", - "children": [ - { - "kind": "TypeNominal", - "name": "VerySimpleRules", - "printedName": "DouShouQiModel.VerySimpleRules", - "usr": "s:14DouShouQiModel15VerySimpleRulesV" - }, - { - "kind": "TypeNominal", - "name": "Dictionary", - "printedName": "[DouShouQiModel.Board : Swift.Int]", - "children": [ - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ], - "usr": "s:SD" - }, - { - "kind": "TypeNominal", - "name": "Array", - "printedName": "[DouShouQiModel.Move]", - "children": [ - { - "kind": "TypeNominal", - "name": "Move", - "printedName": "DouShouQiModel.Move", - "usr": "s:14DouShouQiModel4MoveV" - } - ], - "usr": "s:Sa" - } - ], - "declKind": "Constructor", - "usr": "s:14DouShouQiModel15VerySimpleRulesV10occurences8historicACSDyAA5BoardVSiG_SayAA4MoveVGtcfc", - "mangledName": "$s14DouShouQiModel15VerySimpleRulesV10occurences8historicACSDyAA5BoardVSiG_SayAA4MoveVGtcfc", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "init_kind": "Designated" - }, - { - "kind": "Function", - "name": "getMoves", - "printedName": "getMoves(in:of:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Array", - "printedName": "[DouShouQiModel.Move]", - "children": [ - { - "kind": "TypeNominal", - "name": "Move", - "printedName": "DouShouQiModel.Move", - "usr": "s:14DouShouQiModel4MoveV" - } - ], - "usr": "s:Sa" - }, - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - }, - { - "kind": "TypeNominal", - "name": "Owner", - "printedName": "DouShouQiModel.Owner", - "usr": "s:14DouShouQiModel5OwnerO" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel15VerySimpleRulesV8getMoves2in2ofSayAA4MoveVGAA5BoardV_AA5OwnerOtF", - "mangledName": "$s14DouShouQiModel15VerySimpleRulesV8getMoves2in2ofSayAA4MoveVGAA5BoardV_AA5OwnerOtF", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "funcSelfKind": "NonMutating" - }, - { - "kind": "Function", - "name": "getMoves", - "printedName": "getMoves(in:of:fromRow:andColumn:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Array", - "printedName": "[DouShouQiModel.Move]", - "children": [ - { - "kind": "TypeNominal", - "name": "Move", - "printedName": "DouShouQiModel.Move", - "usr": "s:14DouShouQiModel4MoveV" - } - ], - "usr": "s:Sa" - }, - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - }, - { - "kind": "TypeNominal", - "name": "Owner", - "printedName": "DouShouQiModel.Owner", - "usr": "s:14DouShouQiModel5OwnerO" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel15VerySimpleRulesV8getMoves2in2of7fromRow9andColumnSayAA4MoveVGAA5BoardV_AA5OwnerOS2itF", - "mangledName": "$s14DouShouQiModel15VerySimpleRulesV8getMoves2in2of7fromRow9andColumnSayAA4MoveVGAA5BoardV_AA5OwnerOS2itF", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "funcSelfKind": "NonMutating" - }, - { - "kind": "Function", - "name": "isMoveValid", - "printedName": "isMoveValid(onBoard:fromRow:andFromColumn:toRow:andToColumn:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Bool", - "printedName": "Swift.Bool", - "usr": "s:Sb" - }, - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel15VerySimpleRulesV11isMoveValid7onBoard7fromRow13andFromColumn02toN00o2ToQ0SbAA0L0V_S4itF", - "mangledName": "$s14DouShouQiModel15VerySimpleRulesV11isMoveValid7onBoard7fromRow13andFromColumn02toN00o2ToQ0SbAA0L0V_S4itF", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "funcSelfKind": "NonMutating" - }, - { - "kind": "Function", - "name": "isMoveValid", - "printedName": "isMoveValid(onBoard:withMove:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Bool", - "printedName": "Swift.Bool", - "usr": "s:Sb" - }, - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - }, - { - "kind": "TypeNominal", - "name": "Move", - "printedName": "DouShouQiModel.Move", - "usr": "s:14DouShouQiModel4MoveV" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel15VerySimpleRulesV11isMoveValid7onBoard04withI0SbAA0L0V_AA0I0VtF", - "mangledName": "$s14DouShouQiModel15VerySimpleRulesV11isMoveValid7onBoard04withI0SbAA0L0V_AA0I0VtF", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "funcSelfKind": "NonMutating" - }, - { - "kind": "Function", - "name": "isGameOver", - "printedName": "isGameOver(withBoard:andLastRowPlayed:andLastColumnPlayer:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Tuple", - "printedName": "(Swift.Bool, DouShouQiModel.Result)", - "children": [ - { - "kind": "TypeNominal", - "name": "Bool", - "printedName": "Swift.Bool", - "usr": "s:Sb" - }, - { - "kind": "TypeNominal", - "name": "Result", - "printedName": "DouShouQiModel.Result", - "usr": "s:14DouShouQiModel6ResultO" - } - ] - }, - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel15VerySimpleRulesV10isGameOver9withBoard16andLastRowPlayed0mN12ColumnPlayerSb_AA6ResultOtAA0L0V_S2itF", - "mangledName": "$s14DouShouQiModel15VerySimpleRulesV10isGameOver9withBoard16andLastRowPlayed0mN12ColumnPlayerSb_AA6ResultOtAA0L0V_S2itF", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "funcSelfKind": "NonMutating" - }, - { - "kind": "Function", - "name": "playedMove", - "printedName": "playedMove(_:onStartingBoard:andResultingBoard:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - }, - { - "kind": "TypeNominal", - "name": "Move", - "printedName": "DouShouQiModel.Move", - "usr": "s:14DouShouQiModel4MoveV" - }, - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - }, - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel15VerySimpleRulesV10playedMove_15onStartingBoard012andResultingL0yAA0I0V_AA0L0VAJtKF", - "mangledName": "$s14DouShouQiModel15VerySimpleRulesV10playedMove_15onStartingBoard012andResultingL0yAA0I0V_AA0L0VAJtKF", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "Mutating", - "AccessControl" - ], - "throwing": true, - "funcSelfKind": "Mutating" - }, - { - "kind": "Function", - "name": "getNextPlayer", - "printedName": "getNextPlayer()", - "children": [ - { - "kind": "TypeNominal", - "name": "Owner", - "printedName": "DouShouQiModel.Owner", - "usr": "s:14DouShouQiModel5OwnerO" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel15VerySimpleRulesV13getNextPlayerAA5OwnerOyF", - "mangledName": "$s14DouShouQiModel15VerySimpleRulesV13getNextPlayerAA5OwnerOyF", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "funcSelfKind": "NonMutating" - }, - { - "kind": "Var", - "name": "occurences", - "printedName": "occurences", - "children": [ - { - "kind": "TypeNominal", - "name": "Dictionary", - "printedName": "[DouShouQiModel.Board : Swift.Int]", - "children": [ - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ], - "usr": "s:SD" - } - ], - "declKind": "Var", - "usr": "s:14DouShouQiModel15VerySimpleRulesV10occurencesSDyAA5BoardVSiGvp", - "mangledName": "$s14DouShouQiModel15VerySimpleRulesV10occurencesSDyAA5BoardVSiGvp", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "HasInitialValue", - "HasStorage", - "SetterAccess", - "AccessControl" - ], - "hasStorage": true, - "accessors": [ - { - "kind": "Accessor", - "name": "Get", - "printedName": "Get()", - "children": [ - { - "kind": "TypeNominal", - "name": "Dictionary", - "printedName": "[DouShouQiModel.Board : Swift.Int]", - "children": [ - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ], - "usr": "s:SD" - } - ], - "declKind": "Accessor", - "usr": "s:14DouShouQiModel15VerySimpleRulesV10occurencesSDyAA5BoardVSiGvg", - "mangledName": "$s14DouShouQiModel15VerySimpleRulesV10occurencesSDyAA5BoardVSiGvg", - "moduleName": "DouShouQiModel", - "implicit": true, - "accessorKind": "get" - } - ] - }, - { - "kind": "Var", - "name": "historic", - "printedName": "historic", - "children": [ - { - "kind": "TypeNominal", - "name": "Array", - "printedName": "[DouShouQiModel.Move]", - "children": [ - { - "kind": "TypeNominal", - "name": "Move", - "printedName": "DouShouQiModel.Move", - "usr": "s:14DouShouQiModel4MoveV" - } - ], - "usr": "s:Sa" - } - ], - "declKind": "Var", - "usr": "s:14DouShouQiModel15VerySimpleRulesV8historicSayAA4MoveVGvp", - "mangledName": "$s14DouShouQiModel15VerySimpleRulesV8historicSayAA4MoveVGvp", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "HasInitialValue", - "HasStorage", - "SetterAccess", - "AccessControl" - ], - "hasStorage": true, - "accessors": [ - { - "kind": "Accessor", - "name": "Get", - "printedName": "Get()", - "children": [ - { - "kind": "TypeNominal", - "name": "Array", - "printedName": "[DouShouQiModel.Move]", - "children": [ - { - "kind": "TypeNominal", - "name": "Move", - "printedName": "DouShouQiModel.Move", - "usr": "s:14DouShouQiModel4MoveV" - } - ], - "usr": "s:Sa" - } - ], - "declKind": "Accessor", - "usr": "s:14DouShouQiModel15VerySimpleRulesV8historicSayAA4MoveVGvg", - "mangledName": "$s14DouShouQiModel15VerySimpleRulesV8historicSayAA4MoveVGvg", - "moduleName": "DouShouQiModel", - "implicit": true, - "accessorKind": "get" - } - ] - } - ], - "declKind": "Struct", - "usr": "s:14DouShouQiModel15VerySimpleRulesV", - "mangledName": "$s14DouShouQiModel15VerySimpleRulesV", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "conformances": [ - { - "kind": "Conformance", - "name": "Rules", - "printedName": "Rules", - "usr": "s:14DouShouQiModel5RulesP", - "mangledName": "$s14DouShouQiModel5RulesP" - } - ] - }, - { - "kind": "Import", - "name": "Foundation", - "printedName": "Foundation", - "declKind": "Import", - "moduleName": "DouShouQiModel" - }, - { - "kind": "TypeDecl", - "name": "Rules", - "printedName": "Rules", - "children": [ - { - "kind": "Function", - "name": "createBoard", - "printedName": "createBoard()", - "children": [ - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel5RulesP11createBoardAA0G0VyFZ", - "mangledName": "$s14DouShouQiModel5RulesP11createBoardAA0G0VyFZ", - "moduleName": "DouShouQiModel", - "genericSig": "<τ_0_0 where τ_0_0 : DouShouQiModel.Rules>", - "sugared_genericSig": "", - "static": true, - "protocolReq": true, - "reqNewWitnessTableEntry": true, - "funcSelfKind": "NonMutating" - }, - { - "kind": "Function", - "name": "checkBoard", - "printedName": "checkBoard(_:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - }, - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel5RulesP10checkBoardyyAA0G0VKFZ", - "mangledName": "$s14DouShouQiModel5RulesP10checkBoardyyAA0G0VKFZ", - "moduleName": "DouShouQiModel", - "genericSig": "<τ_0_0 where τ_0_0 : DouShouQiModel.Rules>", - "sugared_genericSig": "", - "static": true, - "protocolReq": true, - "throwing": true, - "reqNewWitnessTableEntry": true, - "funcSelfKind": "NonMutating" - }, - { - "kind": "Function", - "name": "getNextPlayer", - "printedName": "getNextPlayer()", - "children": [ - { - "kind": "TypeNominal", - "name": "Owner", - "printedName": "DouShouQiModel.Owner", - "usr": "s:14DouShouQiModel5OwnerO" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel5RulesP13getNextPlayerAA5OwnerOyF", - "mangledName": "$s14DouShouQiModel5RulesP13getNextPlayerAA5OwnerOyF", - "moduleName": "DouShouQiModel", - "genericSig": "<τ_0_0 where τ_0_0 : DouShouQiModel.Rules>", - "sugared_genericSig": "", - "protocolReq": true, - "reqNewWitnessTableEntry": true, - "funcSelfKind": "NonMutating" - }, - { - "kind": "Function", - "name": "getMoves", - "printedName": "getMoves(in:of:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Array", - "printedName": "[DouShouQiModel.Move]", - "children": [ - { - "kind": "TypeNominal", - "name": "Move", - "printedName": "DouShouQiModel.Move", - "usr": "s:14DouShouQiModel4MoveV" - } - ], - "usr": "s:Sa" - }, - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - }, - { - "kind": "TypeNominal", - "name": "Owner", - "printedName": "DouShouQiModel.Owner", - "usr": "s:14DouShouQiModel5OwnerO" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel5RulesP8getMoves2in2ofSayAA4MoveVGAA5BoardV_AA5OwnerOtF", - "mangledName": "$s14DouShouQiModel5RulesP8getMoves2in2ofSayAA4MoveVGAA5BoardV_AA5OwnerOtF", - "moduleName": "DouShouQiModel", - "genericSig": "<τ_0_0 where τ_0_0 : DouShouQiModel.Rules>", - "sugared_genericSig": "", - "protocolReq": true, - "reqNewWitnessTableEntry": true, - "funcSelfKind": "NonMutating" - }, - { - "kind": "Function", - "name": "getMoves", - "printedName": "getMoves(in:of:fromRow:andColumn:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Array", - "printedName": "[DouShouQiModel.Move]", - "children": [ - { - "kind": "TypeNominal", - "name": "Move", - "printedName": "DouShouQiModel.Move", - "usr": "s:14DouShouQiModel4MoveV" - } - ], - "usr": "s:Sa" - }, - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - }, - { - "kind": "TypeNominal", - "name": "Owner", - "printedName": "DouShouQiModel.Owner", - "usr": "s:14DouShouQiModel5OwnerO" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel5RulesP8getMoves2in2of7fromRow9andColumnSayAA4MoveVGAA5BoardV_AA5OwnerOS2itF", - "mangledName": "$s14DouShouQiModel5RulesP8getMoves2in2of7fromRow9andColumnSayAA4MoveVGAA5BoardV_AA5OwnerOS2itF", - "moduleName": "DouShouQiModel", - "genericSig": "<τ_0_0 where τ_0_0 : DouShouQiModel.Rules>", - "sugared_genericSig": "", - "protocolReq": true, - "reqNewWitnessTableEntry": true, - "funcSelfKind": "NonMutating" - }, - { - "kind": "Function", - "name": "isMoveValid", - "printedName": "isMoveValid(onBoard:fromRow:andFromColumn:toRow:andToColumn:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Bool", - "printedName": "Swift.Bool", - "usr": "s:Sb" - }, - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel5RulesP11isMoveValid7onBoard7fromRow13andFromColumn02toL00m2ToO0SbAA0J0V_S4itF", - "mangledName": "$s14DouShouQiModel5RulesP11isMoveValid7onBoard7fromRow13andFromColumn02toL00m2ToO0SbAA0J0V_S4itF", - "moduleName": "DouShouQiModel", - "genericSig": "<τ_0_0 where τ_0_0 : DouShouQiModel.Rules>", - "sugared_genericSig": "", - "protocolReq": true, - "reqNewWitnessTableEntry": true, - "funcSelfKind": "NonMutating" - }, - { - "kind": "Function", - "name": "isMoveValid", - "printedName": "isMoveValid(onBoard:withMove:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Bool", - "printedName": "Swift.Bool", - "usr": "s:Sb" - }, - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - }, - { - "kind": "TypeNominal", - "name": "Move", - "printedName": "DouShouQiModel.Move", - "usr": "s:14DouShouQiModel4MoveV" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel5RulesP11isMoveValid7onBoard04withG0SbAA0J0V_AA0G0VtF", - "mangledName": "$s14DouShouQiModel5RulesP11isMoveValid7onBoard04withG0SbAA0J0V_AA0G0VtF", - "moduleName": "DouShouQiModel", - "genericSig": "<τ_0_0 where τ_0_0 : DouShouQiModel.Rules>", - "sugared_genericSig": "", - "protocolReq": true, - "reqNewWitnessTableEntry": true, - "funcSelfKind": "NonMutating" - }, - { - "kind": "Function", - "name": "isGameOver", - "printedName": "isGameOver(withBoard:andLastRowPlayed:andLastColumnPlayer:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Tuple", - "printedName": "(Swift.Bool, DouShouQiModel.Result)", - "children": [ - { - "kind": "TypeNominal", - "name": "Bool", - "printedName": "Swift.Bool", - "usr": "s:Sb" - }, - { - "kind": "TypeNominal", - "name": "Result", - "printedName": "DouShouQiModel.Result", - "usr": "s:14DouShouQiModel6ResultO" - } - ] - }, - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel5RulesP10isGameOver9withBoard16andLastRowPlayed0kL12ColumnPlayerSb_AA6ResultOtAA0J0V_S2itF", - "mangledName": "$s14DouShouQiModel5RulesP10isGameOver9withBoard16andLastRowPlayed0kL12ColumnPlayerSb_AA6ResultOtAA0J0V_S2itF", - "moduleName": "DouShouQiModel", - "genericSig": "<τ_0_0 where τ_0_0 : DouShouQiModel.Rules>", - "sugared_genericSig": "", - "protocolReq": true, - "reqNewWitnessTableEntry": true, - "funcSelfKind": "NonMutating" - }, - { - "kind": "Function", - "name": "playedMove", - "printedName": "playedMove(_:onStartingBoard:andResultingBoard:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - }, - { - "kind": "TypeNominal", - "name": "Move", - "printedName": "DouShouQiModel.Move", - "usr": "s:14DouShouQiModel4MoveV" - }, - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - }, - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel5RulesP10playedMove_15onStartingBoard012andResultingJ0yAA0G0V_AA0J0VAJtKF", - "mangledName": "$s14DouShouQiModel5RulesP10playedMove_15onStartingBoard012andResultingJ0yAA0G0V_AA0J0VAJtKF", - "moduleName": "DouShouQiModel", - "genericSig": "<τ_0_0 where τ_0_0 : DouShouQiModel.Rules>", - "sugared_genericSig": "", - "protocolReq": true, - "declAttributes": [ - "Mutating" - ], - "throwing": true, - "reqNewWitnessTableEntry": true, - "funcSelfKind": "Mutating" - }, - { - "kind": "Var", - "name": "occurences", - "printedName": "occurences", - "children": [ - { - "kind": "TypeNominal", - "name": "Dictionary", - "printedName": "[DouShouQiModel.Board : Swift.Int]", - "children": [ - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ], - "usr": "s:SD" - } - ], - "declKind": "Var", - "usr": "s:14DouShouQiModel5RulesP10occurencesSDyAA5BoardVSiGvp", - "mangledName": "$s14DouShouQiModel5RulesP10occurencesSDyAA5BoardVSiGvp", - "moduleName": "DouShouQiModel", - "protocolReq": true, - "accessors": [ - { - "kind": "Accessor", - "name": "Get", - "printedName": "Get()", - "children": [ - { - "kind": "TypeNominal", - "name": "Dictionary", - "printedName": "[DouShouQiModel.Board : Swift.Int]", - "children": [ - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ], - "usr": "s:SD" - } - ], - "declKind": "Accessor", - "usr": "s:14DouShouQiModel5RulesP10occurencesSDyAA5BoardVSiGvg", - "mangledName": "$s14DouShouQiModel5RulesP10occurencesSDyAA5BoardVSiGvg", - "moduleName": "DouShouQiModel", - "genericSig": "<τ_0_0 where τ_0_0 : DouShouQiModel.Rules>", - "sugared_genericSig": "", - "protocolReq": true, - "reqNewWitnessTableEntry": true, - "accessorKind": "get" - } - ] - }, - { - "kind": "Var", - "name": "historic", - "printedName": "historic", - "children": [ - { - "kind": "TypeNominal", - "name": "Array", - "printedName": "[DouShouQiModel.Move]", - "children": [ - { - "kind": "TypeNominal", - "name": "Move", - "printedName": "DouShouQiModel.Move", - "usr": "s:14DouShouQiModel4MoveV" - } - ], - "usr": "s:Sa" - } - ], - "declKind": "Var", - "usr": "s:14DouShouQiModel5RulesP8historicSayAA4MoveVGvp", - "mangledName": "$s14DouShouQiModel5RulesP8historicSayAA4MoveVGvp", - "moduleName": "DouShouQiModel", - "protocolReq": true, - "accessors": [ - { - "kind": "Accessor", - "name": "Get", - "printedName": "Get()", - "children": [ - { - "kind": "TypeNominal", - "name": "Array", - "printedName": "[DouShouQiModel.Move]", - "children": [ - { - "kind": "TypeNominal", - "name": "Move", - "printedName": "DouShouQiModel.Move", - "usr": "s:14DouShouQiModel4MoveV" - } - ], - "usr": "s:Sa" - } - ], - "declKind": "Accessor", - "usr": "s:14DouShouQiModel5RulesP8historicSayAA4MoveVGvg", - "mangledName": "$s14DouShouQiModel5RulesP8historicSayAA4MoveVGvg", - "moduleName": "DouShouQiModel", - "genericSig": "<τ_0_0 where τ_0_0 : DouShouQiModel.Rules>", - "sugared_genericSig": "", - "protocolReq": true, - "reqNewWitnessTableEntry": true, - "accessorKind": "get" - } - ] - } - ], - "declKind": "Protocol", - "usr": "s:14DouShouQiModel5RulesP", - "mangledName": "$s14DouShouQiModel5RulesP", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ] - }, - { - "kind": "Import", - "name": "Foundation", - "printedName": "Foundation", - "declKind": "Import", - "moduleName": "DouShouQiModel" - }, - { - "kind": "TypeDecl", - "name": "Player", - "printedName": "Player", - "children": [ - { - "kind": "Var", - "name": "name", - "printedName": "name", - "children": [ - { - "kind": "TypeNominal", - "name": "String", - "printedName": "Swift.String", - "usr": "s:SS" - } - ], - "declKind": "Var", - "usr": "s:14DouShouQiModel6PlayerC4nameSSvp", - "mangledName": "$s14DouShouQiModel6PlayerC4nameSSvp", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "HasStorage", - "Final", - "AccessControl" - ], - "isLet": true, - "hasStorage": true, - "accessors": [ - { - "kind": "Accessor", - "name": "Get", - "printedName": "Get()", - "children": [ - { - "kind": "TypeNominal", - "name": "String", - "printedName": "Swift.String", - "usr": "s:SS" - } - ], - "declKind": "Accessor", - "usr": "s:14DouShouQiModel6PlayerC4nameSSvg", - "mangledName": "$s14DouShouQiModel6PlayerC4nameSSvg", - "moduleName": "DouShouQiModel", - "implicit": true, - "declAttributes": [ - "Final" - ], - "accessorKind": "get" - } - ] - }, - { - "kind": "Var", - "name": "id", - "printedName": "id", - "children": [ - { - "kind": "TypeNominal", - "name": "Owner", - "printedName": "DouShouQiModel.Owner", - "usr": "s:14DouShouQiModel5OwnerO" - } - ], - "declKind": "Var", - "usr": "s:14DouShouQiModel6PlayerC2idAA5OwnerOvp", - "mangledName": "$s14DouShouQiModel6PlayerC2idAA5OwnerOvp", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "HasStorage", - "Final", - "AccessControl" - ], - "isLet": true, - "hasStorage": true, - "accessors": [ - { - "kind": "Accessor", - "name": "Get", - "printedName": "Get()", - "children": [ - { - "kind": "TypeNominal", - "name": "Owner", - "printedName": "DouShouQiModel.Owner", - "usr": "s:14DouShouQiModel5OwnerO" - } - ], - "declKind": "Accessor", - "usr": "s:14DouShouQiModel6PlayerC2idAA5OwnerOvg", - "mangledName": "$s14DouShouQiModel6PlayerC2idAA5OwnerOvg", - "moduleName": "DouShouQiModel", - "implicit": true, - "declAttributes": [ - "Final" - ], - "accessorKind": "get" - } - ] - }, - { - "kind": "Constructor", - "name": "init", - "printedName": "init(withName:andId:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Optional", - "printedName": "DouShouQiModel.Player?", - "children": [ - { - "kind": "TypeNominal", - "name": "Player", - "printedName": "DouShouQiModel.Player", - "usr": "s:14DouShouQiModel6PlayerC" - } - ], - "usr": "s:Sq" - }, - { - "kind": "TypeNominal", - "name": "String", - "printedName": "Swift.String", - "usr": "s:SS" - }, - { - "kind": "TypeNominal", - "name": "Owner", - "printedName": "DouShouQiModel.Owner", - "usr": "s:14DouShouQiModel5OwnerO" - } - ], - "declKind": "Constructor", - "usr": "s:14DouShouQiModel6PlayerC8withName5andIdACSgSS_AA5OwnerOtcfc", - "mangledName": "$s14DouShouQiModel6PlayerC8withName5andIdACSgSS_AA5OwnerOtcfc", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "init_kind": "Designated" - }, - { - "kind": "Function", - "name": "chooseMove", - "printedName": "chooseMove(in:with:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - }, - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - }, - { - "kind": "TypeNominal", - "name": "Rules", - "printedName": "DouShouQiModel.Rules", - "usr": "s:14DouShouQiModel5RulesP" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel6PlayerC10chooseMove2in4withyAA5BoardV_AA5Rules_ptYaKF", - "mangledName": "$s14DouShouQiModel6PlayerC10chooseMove2in4withyAA5BoardV_AA5Rules_ptYaKF", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "throwing": true, - "funcSelfKind": "NonMutating" - }, - { - "kind": "Function", - "name": "addPlayedCallbacksListener", - "printedName": "addPlayedCallbacksListener(_:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - }, - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.Move?, DouShouQiModel.Player) async throws -> ()", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - }, - { - "kind": "TypeNominal", - "name": "Tuple", - "printedName": "(DouShouQiModel.Move?, DouShouQiModel.Player)", - "children": [ - { - "kind": "TypeNominal", - "name": "Optional", - "printedName": "DouShouQiModel.Move?", - "children": [ - { - "kind": "TypeNominal", - "name": "Move", - "printedName": "DouShouQiModel.Move", - "usr": "s:14DouShouQiModel4MoveV" - } - ], - "usr": "s:Sq" - }, - { - "kind": "TypeNominal", - "name": "Player", - "printedName": "DouShouQiModel.Player", - "usr": "s:14DouShouQiModel6PlayerC" - } - ] - } - ] - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel6PlayerC26addPlayedCallbacksListeneryyyAA4MoveVSg_ACtYaKcF", - "mangledName": "$s14DouShouQiModel6PlayerC26addPlayedCallbacksListeneryyyAA4MoveVSg_ACtYaKcF", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "funcSelfKind": "NonMutating" - }, - { - "kind": "Function", - "name": "notifyPlayed", - "printedName": "notifyPlayed(withMove:andPlayer:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - }, - { - "kind": "TypeNominal", - "name": "Optional", - "printedName": "DouShouQiModel.Move?", - "children": [ - { - "kind": "TypeNominal", - "name": "Move", - "printedName": "DouShouQiModel.Move", - "usr": "s:14DouShouQiModel4MoveV" - } - ], - "usr": "s:Sq" - }, - { - "kind": "TypeNominal", - "name": "Player", - "printedName": "DouShouQiModel.Player", - "usr": "s:14DouShouQiModel6PlayerC" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel6PlayerC12notifyPlayed8withMove03andE0yAA0I0VSg_ACtYaKF", - "mangledName": "$s14DouShouQiModel6PlayerC12notifyPlayed8withMove03andE0yAA0I0VSg_ACtYaKF", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "throwing": true, - "funcSelfKind": "NonMutating" - } - ], - "declKind": "Class", - "usr": "s:14DouShouQiModel6PlayerC", - "mangledName": "$s14DouShouQiModel6PlayerC", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ] - }, - { - "kind": "Import", - "name": "Foundation", - "printedName": "Foundation", - "declKind": "Import", - "moduleName": "DouShouQiModel" - }, - { - "kind": "TypeDecl", - "name": "GameError", - "printedName": "GameError", - "children": [ - { - "kind": "Var", - "name": "invalidMove", - "printedName": "invalidMove", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.GameError.Type) -> DouShouQiModel.GameError", - "children": [ - { - "kind": "TypeNominal", - "name": "GameError", - "printedName": "DouShouQiModel.GameError", - "usr": "s:14DouShouQiModel9GameErrorO" - }, - { - "kind": "TypeNominal", - "name": "Metatype", - "printedName": "DouShouQiModel.GameError.Type", - "children": [ - { - "kind": "TypeNominal", - "name": "GameError", - "printedName": "DouShouQiModel.GameError", - "usr": "s:14DouShouQiModel9GameErrorO" - } - ] - } - ] - } - ], - "declKind": "EnumElement", - "usr": "s:14DouShouQiModel9GameErrorO11invalidMoveyA2CmF", - "mangledName": "$s14DouShouQiModel9GameErrorO11invalidMoveyA2CmF", - "moduleName": "DouShouQiModel" - }, - { - "kind": "Var", - "name": "nextPlayerError", - "printedName": "nextPlayerError", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.GameError.Type) -> DouShouQiModel.GameError", - "children": [ - { - "kind": "TypeNominal", - "name": "GameError", - "printedName": "DouShouQiModel.GameError", - "usr": "s:14DouShouQiModel9GameErrorO" - }, - { - "kind": "TypeNominal", - "name": "Metatype", - "printedName": "DouShouQiModel.GameError.Type", - "children": [ - { - "kind": "TypeNominal", - "name": "GameError", - "printedName": "DouShouQiModel.GameError", - "usr": "s:14DouShouQiModel9GameErrorO" - } - ] - } - ] - } - ], - "declKind": "EnumElement", - "usr": "s:14DouShouQiModel9GameErrorO010nextPlayerF0yA2CmF", - "mangledName": "$s14DouShouQiModel9GameErrorO010nextPlayerF0yA2CmF", - "moduleName": "DouShouQiModel" - }, - { - "kind": "Var", - "name": "badPlayerId", - "printedName": "badPlayerId", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.GameError.Type) -> (Swift.String) -> DouShouQiModel.GameError", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(Swift.String) -> DouShouQiModel.GameError", - "children": [ - { - "kind": "TypeNominal", - "name": "GameError", - "printedName": "DouShouQiModel.GameError", - "usr": "s:14DouShouQiModel9GameErrorO" - }, - { - "kind": "TypeNominal", - "name": "Tuple", - "printedName": "(message: Swift.String)", - "children": [ - { - "kind": "TypeNominal", - "name": "String", - "printedName": "Swift.String", - "usr": "s:SS" - } - ] - } - ] - }, - { - "kind": "TypeNominal", - "name": "Metatype", - "printedName": "DouShouQiModel.GameError.Type", - "children": [ - { - "kind": "TypeNominal", - "name": "GameError", - "printedName": "DouShouQiModel.GameError", - "usr": "s:14DouShouQiModel9GameErrorO" - } - ] - } - ] - } - ], - "declKind": "EnumElement", - "usr": "s:14DouShouQiModel9GameErrorO11badPlayerIdyACSS_tcACmF", - "mangledName": "$s14DouShouQiModel9GameErrorO11badPlayerIdyACSS_tcACmF", - "moduleName": "DouShouQiModel" - }, - { - "kind": "Var", - "name": "invalidRules", - "printedName": "invalidRules", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.GameError.Type) -> DouShouQiModel.GameError", - "children": [ - { - "kind": "TypeNominal", - "name": "GameError", - "printedName": "DouShouQiModel.GameError", - "usr": "s:14DouShouQiModel9GameErrorO" - }, - { - "kind": "TypeNominal", - "name": "Metatype", - "printedName": "DouShouQiModel.GameError.Type", - "children": [ - { - "kind": "TypeNominal", - "name": "GameError", - "printedName": "DouShouQiModel.GameError", - "usr": "s:14DouShouQiModel9GameErrorO" - } - ] - } - ] - } - ], - "declKind": "EnumElement", - "usr": "s:14DouShouQiModel9GameErrorO12invalidRulesyA2CmF", - "mangledName": "$s14DouShouQiModel9GameErrorO12invalidRulesyA2CmF", - "moduleName": "DouShouQiModel" - }, - { - "kind": "Var", - "name": "invalidPlayer", - "printedName": "invalidPlayer", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.GameError.Type) -> DouShouQiModel.GameError", - "children": [ - { - "kind": "TypeNominal", - "name": "GameError", - "printedName": "DouShouQiModel.GameError", - "usr": "s:14DouShouQiModel9GameErrorO" - }, - { - "kind": "TypeNominal", - "name": "Metatype", - "printedName": "DouShouQiModel.GameError.Type", - "children": [ - { - "kind": "TypeNominal", - "name": "GameError", - "printedName": "DouShouQiModel.GameError", - "usr": "s:14DouShouQiModel9GameErrorO" - } - ] - } - ] - } - ], - "declKind": "EnumElement", - "usr": "s:14DouShouQiModel9GameErrorO13invalidPlayeryA2CmF", - "mangledName": "$s14DouShouQiModel9GameErrorO13invalidPlayeryA2CmF", - "moduleName": "DouShouQiModel" - }, - { - "kind": "Var", - "name": "invalidGame", - "printedName": "invalidGame", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.GameError.Type) -> DouShouQiModel.GameError", - "children": [ - { - "kind": "TypeNominal", - "name": "GameError", - "printedName": "DouShouQiModel.GameError", - "usr": "s:14DouShouQiModel9GameErrorO" - }, - { - "kind": "TypeNominal", - "name": "Metatype", - "printedName": "DouShouQiModel.GameError.Type", - "children": [ - { - "kind": "TypeNominal", - "name": "GameError", - "printedName": "DouShouQiModel.GameError", - "usr": "s:14DouShouQiModel9GameErrorO" - } - ] - } - ] - } - ], - "declKind": "EnumElement", - "usr": "s:14DouShouQiModel9GameErrorO07invalidE0yA2CmF", - "mangledName": "$s14DouShouQiModel9GameErrorO07invalidE0yA2CmF", - "moduleName": "DouShouQiModel" - }, - { - "kind": "Var", - "name": "invalidBoard", - "printedName": "invalidBoard", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.GameError.Type) -> DouShouQiModel.GameError", - "children": [ - { - "kind": "TypeNominal", - "name": "GameError", - "printedName": "DouShouQiModel.GameError", - "usr": "s:14DouShouQiModel9GameErrorO" - }, - { - "kind": "TypeNominal", - "name": "Metatype", - "printedName": "DouShouQiModel.GameError.Type", - "children": [ - { - "kind": "TypeNominal", - "name": "GameError", - "printedName": "DouShouQiModel.GameError", - "usr": "s:14DouShouQiModel9GameErrorO" - } - ] - } - ] - } - ], - "declKind": "EnumElement", - "usr": "s:14DouShouQiModel9GameErrorO12invalidBoardyA2CmF", - "mangledName": "$s14DouShouQiModel9GameErrorO12invalidBoardyA2CmF", - "moduleName": "DouShouQiModel" - } - ], - "declKind": "Enum", - "usr": "s:14DouShouQiModel9GameErrorO", - "mangledName": "$s14DouShouQiModel9GameErrorO", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "conformances": [ - { - "kind": "Conformance", - "name": "Error", - "printedName": "Error", - "usr": "s:s5ErrorP", - "mangledName": "$ss5ErrorP" - }, - { - "kind": "Conformance", - "name": "Sendable", - "printedName": "Sendable", - "usr": "s:s8SendableP", - "mangledName": "$ss8SendableP" - } - ] - }, - { - "kind": "Import", - "name": "Foundation", - "printedName": "Foundation", - "declKind": "Import", - "moduleName": "DouShouQiModel" - }, - { - "kind": "TypeDecl", - "name": "RandomPlayer", - "printedName": "RandomPlayer", - "children": [ - { - "kind": "Function", - "name": "chooseMove", - "printedName": "chooseMove(in:with:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - }, - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - }, - { - "kind": "TypeNominal", - "name": "Rules", - "printedName": "DouShouQiModel.Rules", - "usr": "s:14DouShouQiModel5RulesP" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel12RandomPlayerC10chooseMove2in4withyAA5BoardV_AA5Rules_ptYaKF", - "mangledName": "$s14DouShouQiModel12RandomPlayerC10chooseMove2in4withyAA5BoardV_AA5Rules_ptYaKF", - "moduleName": "DouShouQiModel", - "overriding": true, - "declAttributes": [ - "Override", - "AccessControl" - ], - "throwing": true, - "funcSelfKind": "NonMutating" - }, - { - "kind": "Constructor", - "name": "init", - "printedName": "init(withName:andId:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Optional", - "printedName": "DouShouQiModel.RandomPlayer?", - "children": [ - { - "kind": "TypeNominal", - "name": "RandomPlayer", - "printedName": "DouShouQiModel.RandomPlayer", - "usr": "s:14DouShouQiModel12RandomPlayerC" - } - ], - "usr": "s:Sq" - }, - { - "kind": "TypeNominal", - "name": "String", - "printedName": "Swift.String", - "usr": "s:SS" - }, - { - "kind": "TypeNominal", - "name": "Owner", - "printedName": "DouShouQiModel.Owner", - "usr": "s:14DouShouQiModel5OwnerO" - } - ], - "declKind": "Constructor", - "usr": "s:14DouShouQiModel12RandomPlayerC8withName5andIdACSgSS_AA5OwnerOtcfc", - "mangledName": "$s14DouShouQiModel12RandomPlayerC8withName5andIdACSgSS_AA5OwnerOtcfc", - "moduleName": "DouShouQiModel", - "overriding": true, - "implicit": true, - "declAttributes": [ - "Override" - ], - "init_kind": "Designated" - } - ], - "declKind": "Class", - "usr": "s:14DouShouQiModel12RandomPlayerC", - "mangledName": "$s14DouShouQiModel12RandomPlayerC", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "superclassUsr": "s:14DouShouQiModel8IAPlayerC", - "inheritsConvenienceInitializers": true, - "superclassNames": [ - "DouShouQiModel.IAPlayer", - "DouShouQiModel.Player" - ] - }, - { - "kind": "Import", - "name": "Foundation", - "printedName": "Foundation", - "declKind": "Import", - "moduleName": "DouShouQiModel" - }, - { - "kind": "TypeDecl", - "name": "CellType", - "printedName": "CellType", - "children": [ - { - "kind": "Var", - "name": "unknown", - "printedName": "unknown", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.CellType.Type) -> DouShouQiModel.CellType", - "children": [ - { - "kind": "TypeNominal", - "name": "CellType", - "printedName": "DouShouQiModel.CellType", - "usr": "s:14DouShouQiModel8CellTypeO" - }, - { - "kind": "TypeNominal", - "name": "Metatype", - "printedName": "DouShouQiModel.CellType.Type", - "children": [ - { - "kind": "TypeNominal", - "name": "CellType", - "printedName": "DouShouQiModel.CellType", - "usr": "s:14DouShouQiModel8CellTypeO" - } - ] - } - ] - } - ], - "declKind": "EnumElement", - "usr": "s:14DouShouQiModel8CellTypeO7unknownyA2CmF", - "mangledName": "$s14DouShouQiModel8CellTypeO7unknownyA2CmF", - "moduleName": "DouShouQiModel" - }, - { - "kind": "Var", - "name": "jungle", - "printedName": "jungle", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.CellType.Type) -> DouShouQiModel.CellType", - "children": [ - { - "kind": "TypeNominal", - "name": "CellType", - "printedName": "DouShouQiModel.CellType", - "usr": "s:14DouShouQiModel8CellTypeO" - }, - { - "kind": "TypeNominal", - "name": "Metatype", - "printedName": "DouShouQiModel.CellType.Type", - "children": [ - { - "kind": "TypeNominal", - "name": "CellType", - "printedName": "DouShouQiModel.CellType", - "usr": "s:14DouShouQiModel8CellTypeO" - } - ] - } - ] - } - ], - "declKind": "EnumElement", - "usr": "s:14DouShouQiModel8CellTypeO6jungleyA2CmF", - "mangledName": "$s14DouShouQiModel8CellTypeO6jungleyA2CmF", - "moduleName": "DouShouQiModel" - }, - { - "kind": "Var", - "name": "water", - "printedName": "water", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.CellType.Type) -> DouShouQiModel.CellType", - "children": [ - { - "kind": "TypeNominal", - "name": "CellType", - "printedName": "DouShouQiModel.CellType", - "usr": "s:14DouShouQiModel8CellTypeO" - }, - { - "kind": "TypeNominal", - "name": "Metatype", - "printedName": "DouShouQiModel.CellType.Type", - "children": [ - { - "kind": "TypeNominal", - "name": "CellType", - "printedName": "DouShouQiModel.CellType", - "usr": "s:14DouShouQiModel8CellTypeO" - } - ] - } - ] - } - ], - "declKind": "EnumElement", - "usr": "s:14DouShouQiModel8CellTypeO5wateryA2CmF", - "mangledName": "$s14DouShouQiModel8CellTypeO5wateryA2CmF", - "moduleName": "DouShouQiModel" - }, - { - "kind": "Var", - "name": "trap", - "printedName": "trap", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.CellType.Type) -> DouShouQiModel.CellType", - "children": [ - { - "kind": "TypeNominal", - "name": "CellType", - "printedName": "DouShouQiModel.CellType", - "usr": "s:14DouShouQiModel8CellTypeO" - }, - { - "kind": "TypeNominal", - "name": "Metatype", - "printedName": "DouShouQiModel.CellType.Type", - "children": [ - { - "kind": "TypeNominal", - "name": "CellType", - "printedName": "DouShouQiModel.CellType", - "usr": "s:14DouShouQiModel8CellTypeO" - } - ] - } - ] - } - ], - "declKind": "EnumElement", - "usr": "s:14DouShouQiModel8CellTypeO4trapyA2CmF", - "mangledName": "$s14DouShouQiModel8CellTypeO4trapyA2CmF", - "moduleName": "DouShouQiModel" - }, - { - "kind": "Var", - "name": "den", - "printedName": "den", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.CellType.Type) -> DouShouQiModel.CellType", - "children": [ - { - "kind": "TypeNominal", - "name": "CellType", - "printedName": "DouShouQiModel.CellType", - "usr": "s:14DouShouQiModel8CellTypeO" - }, - { - "kind": "TypeNominal", - "name": "Metatype", - "printedName": "DouShouQiModel.CellType.Type", - "children": [ - { - "kind": "TypeNominal", - "name": "CellType", - "printedName": "DouShouQiModel.CellType", - "usr": "s:14DouShouQiModel8CellTypeO" - } - ] - } - ] - } - ], - "declKind": "EnumElement", - "usr": "s:14DouShouQiModel8CellTypeO3denyA2CmF", - "mangledName": "$s14DouShouQiModel8CellTypeO3denyA2CmF", - "moduleName": "DouShouQiModel" - }, - { - "kind": "Var", - "name": "allCases", - "printedName": "allCases", - "children": [ - { - "kind": "TypeNominal", - "name": "Array", - "printedName": "[DouShouQiModel.CellType]", - "children": [ - { - "kind": "TypeNominal", - "name": "CellType", - "printedName": "DouShouQiModel.CellType", - "usr": "s:14DouShouQiModel8CellTypeO" - } - ], - "usr": "s:Sa" - } - ], - "declKind": "Var", - "usr": "s:14DouShouQiModel8CellTypeO8allCasesSayACGvpZ", - "mangledName": "$s14DouShouQiModel8CellTypeO8allCasesSayACGvpZ", - "moduleName": "DouShouQiModel", - "static": true, - "implicit": true, - "accessors": [ - { - "kind": "Accessor", - "name": "Get", - "printedName": "Get()", - "children": [ - { - "kind": "TypeNominal", - "name": "Array", - "printedName": "[DouShouQiModel.CellType]", - "children": [ - { - "kind": "TypeNominal", - "name": "CellType", - "printedName": "DouShouQiModel.CellType", - "usr": "s:14DouShouQiModel8CellTypeO" - } - ], - "usr": "s:Sa" - } - ], - "declKind": "Accessor", - "usr": "s:14DouShouQiModel8CellTypeO8allCasesSayACGvgZ", - "mangledName": "$s14DouShouQiModel8CellTypeO8allCasesSayACGvgZ", - "moduleName": "DouShouQiModel", - "static": true, - "implicit": true, - "accessorKind": "get" - } - ] - }, - { - "kind": "Function", - "name": "==", - "printedName": "==(_:_:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Bool", - "printedName": "Swift.Bool", - "usr": "s:Sb" - }, - { - "kind": "TypeNominal", - "name": "CellType", - "printedName": "DouShouQiModel.CellType", - "usr": "s:14DouShouQiModel8CellTypeO" - }, - { - "kind": "TypeNominal", - "name": "CellType", - "printedName": "DouShouQiModel.CellType", - "usr": "s:14DouShouQiModel8CellTypeO" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel8CellTypeO2eeoiySbAC_ACtFZ", - "mangledName": "$s14DouShouQiModel8CellTypeO2eeoiySbAC_ACtFZ", - "moduleName": "DouShouQiModel", - "static": true, - "implicit": true, - "funcSelfKind": "NonMutating" - }, - { - "kind": "Var", - "name": "hashValue", - "printedName": "hashValue", - "children": [ - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ], - "declKind": "Var", - "usr": "s:14DouShouQiModel8CellTypeO9hashValueSivp", - "mangledName": "$s14DouShouQiModel8CellTypeO9hashValueSivp", - "moduleName": "DouShouQiModel", - "implicit": true, - "accessors": [ - { - "kind": "Accessor", - "name": "Get", - "printedName": "Get()", - "children": [ - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ], - "declKind": "Accessor", - "usr": "s:14DouShouQiModel8CellTypeO9hashValueSivg", - "mangledName": "$s14DouShouQiModel8CellTypeO9hashValueSivg", - "moduleName": "DouShouQiModel", - "implicit": true, - "accessorKind": "get" - } - ] - }, - { - "kind": "Function", - "name": "hash", - "printedName": "hash(into:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - }, - { - "kind": "TypeNominal", - "name": "Hasher", - "printedName": "Swift.Hasher", - "paramValueOwnership": "InOut", - "usr": "s:s6HasherV" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel8CellTypeO4hash4intoys6HasherVz_tF", - "mangledName": "$s14DouShouQiModel8CellTypeO4hash4intoys6HasherVz_tF", - "moduleName": "DouShouQiModel", - "implicit": true, - "funcSelfKind": "NonMutating" - } - ], - "declKind": "Enum", - "usr": "s:14DouShouQiModel8CellTypeO", - "mangledName": "$s14DouShouQiModel8CellTypeO", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "conformances": [ - { - "kind": "Conformance", - "name": "Equatable", - "printedName": "Equatable", - "usr": "s:SQ", - "mangledName": "$sSQ" - }, - { - "kind": "Conformance", - "name": "Hashable", - "printedName": "Hashable", - "usr": "s:SH", - "mangledName": "$sSH" - }, - { - "kind": "Conformance", - "name": "CaseIterable", - "printedName": "CaseIterable", - "children": [ - { - "kind": "TypeWitness", - "name": "AllCases", - "printedName": "AllCases", - "children": [ - { - "kind": "TypeNominal", - "name": "Array", - "printedName": "[DouShouQiModel.CellType]", - "children": [ - { - "kind": "TypeNominal", - "name": "CellType", - "printedName": "DouShouQiModel.CellType", - "usr": "s:14DouShouQiModel8CellTypeO" - } - ], - "usr": "s:Sa" - } - ] - } - ], - "usr": "s:s12CaseIterableP", - "mangledName": "$ss12CaseIterableP" - } - ] - }, - { - "kind": "Import", - "name": "Foundation", - "printedName": "Foundation", - "declKind": "Import", - "moduleName": "DouShouQiModel" - }, - { - "kind": "TypeDecl", - "name": "Board", - "printedName": "Board", - "children": [ - { - "kind": "Function", - "name": "hash", - "printedName": "hash(into:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - }, - { - "kind": "TypeNominal", - "name": "Hasher", - "printedName": "Swift.Hasher", - "paramValueOwnership": "InOut", - "usr": "s:s6HasherV" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel5BoardV4hash4intoys6HasherVz_tF", - "mangledName": "$s14DouShouQiModel5BoardV4hash4intoys6HasherVz_tF", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "funcSelfKind": "NonMutating" - }, - { - "kind": "Var", - "name": "nbRows", - "printedName": "nbRows", - "children": [ - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ], - "declKind": "Var", - "usr": "s:14DouShouQiModel5BoardV6nbRowsSivp", - "mangledName": "$s14DouShouQiModel5BoardV6nbRowsSivp", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "HasStorage", - "AccessControl", - "RawDocComment" - ], - "isLet": true, - "hasStorage": true, - "accessors": [ - { - "kind": "Accessor", - "name": "Get", - "printedName": "Get()", - "children": [ - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ], - "declKind": "Accessor", - "usr": "s:14DouShouQiModel5BoardV6nbRowsSivg", - "mangledName": "$s14DouShouQiModel5BoardV6nbRowsSivg", - "moduleName": "DouShouQiModel", - "implicit": true, - "accessorKind": "get" - } - ] - }, - { - "kind": "Var", - "name": "nbColumns", - "printedName": "nbColumns", - "children": [ - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ], - "declKind": "Var", - "usr": "s:14DouShouQiModel5BoardV9nbColumnsSivp", - "mangledName": "$s14DouShouQiModel5BoardV9nbColumnsSivp", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "HasStorage", - "AccessControl", - "RawDocComment" - ], - "isLet": true, - "hasStorage": true, - "accessors": [ - { - "kind": "Accessor", - "name": "Get", - "printedName": "Get()", - "children": [ - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ], - "declKind": "Accessor", - "usr": "s:14DouShouQiModel5BoardV9nbColumnsSivg", - "mangledName": "$s14DouShouQiModel5BoardV9nbColumnsSivg", - "moduleName": "DouShouQiModel", - "implicit": true, - "accessorKind": "get" - } - ] - }, - { - "kind": "Var", - "name": "grid", - "printedName": "grid", - "children": [ - { - "kind": "TypeNominal", - "name": "Array", - "printedName": "[[DouShouQiModel.Cell]]", - "children": [ - { - "kind": "TypeNominal", - "name": "Array", - "printedName": "[DouShouQiModel.Cell]", - "children": [ - { - "kind": "TypeNominal", - "name": "Cell", - "printedName": "DouShouQiModel.Cell", - "usr": "s:14DouShouQiModel4CellV" - } - ], - "usr": "s:Sa" - } - ], - "usr": "s:Sa" - } - ], - "declKind": "Var", - "usr": "s:14DouShouQiModel5BoardV4gridSaySayAA4CellVGGvp", - "mangledName": "$s14DouShouQiModel5BoardV4gridSaySayAA4CellVGGvp", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "HasStorage", - "SetterAccess", - "AccessControl" - ], - "hasStorage": true, - "accessors": [ - { - "kind": "Accessor", - "name": "Get", - "printedName": "Get()", - "children": [ - { - "kind": "TypeNominal", - "name": "Array", - "printedName": "[[DouShouQiModel.Cell]]", - "children": [ - { - "kind": "TypeNominal", - "name": "Array", - "printedName": "[DouShouQiModel.Cell]", - "children": [ - { - "kind": "TypeNominal", - "name": "Cell", - "printedName": "DouShouQiModel.Cell", - "usr": "s:14DouShouQiModel4CellV" - } - ], - "usr": "s:Sa" - } - ], - "usr": "s:Sa" - } - ], - "declKind": "Accessor", - "usr": "s:14DouShouQiModel5BoardV4gridSaySayAA4CellVGGvg", - "mangledName": "$s14DouShouQiModel5BoardV4gridSaySayAA4CellVGGvg", - "moduleName": "DouShouQiModel", - "implicit": true, - "accessorKind": "get" - } - ] - }, - { - "kind": "Constructor", - "name": "init", - "printedName": "init(withGrid:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Optional", - "printedName": "DouShouQiModel.Board?", - "children": [ - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - } - ], - "usr": "s:Sq" - }, - { - "kind": "TypeNominal", - "name": "Array", - "printedName": "[[DouShouQiModel.Cell]]", - "children": [ - { - "kind": "TypeNominal", - "name": "Array", - "printedName": "[DouShouQiModel.Cell]", - "children": [ - { - "kind": "TypeNominal", - "name": "Cell", - "printedName": "DouShouQiModel.Cell", - "usr": "s:14DouShouQiModel4CellV" - } - ], - "usr": "s:Sa" - } - ], - "usr": "s:Sa" - } - ], - "declKind": "Constructor", - "usr": "s:14DouShouQiModel5BoardV8withGridACSgSaySayAA4CellVGG_tcfc", - "mangledName": "$s14DouShouQiModel5BoardV8withGridACSgSaySayAA4CellVGG_tcfc", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "init_kind": "Designated" - }, - { - "kind": "Function", - "name": "countPieces", - "printedName": "countPieces(of:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - }, - { - "kind": "TypeNominal", - "name": "Owner", - "printedName": "DouShouQiModel.Owner", - "usr": "s:14DouShouQiModel5OwnerO" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel5BoardV11countPieces2ofSiAA5OwnerO_tF", - "mangledName": "$s14DouShouQiModel5BoardV11countPieces2ofSiAA5OwnerO_tF", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "funcSelfKind": "NonMutating" - }, - { - "kind": "Function", - "name": "countPieces", - "printedName": "countPieces()", - "children": [ - { - "kind": "TypeNominal", - "name": "Tuple", - "printedName": "(nbOfPiecesOfPlayer1: Swift.Int, nbOfPiecesOfPlayer2: Swift.Int)", - "children": [ - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ] - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel5BoardV11countPiecesSi04nbOfgI7Player1_Si0higI7Player2tyF", - "mangledName": "$s14DouShouQiModel5BoardV11countPiecesSi04nbOfgI7Player1_Si0higI7Player2tyF", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "funcSelfKind": "NonMutating" - }, - { - "kind": "Function", - "name": "insert", - "printedName": "insert(piece:atRow:andColumn:)", - "children": [ - { - "kind": "TypeNominal", - "name": "BoardResult", - "printedName": "DouShouQiModel.BoardResult", - "usr": "s:14DouShouQiModel11BoardResultO" - }, - { - "kind": "TypeNominal", - "name": "Piece", - "printedName": "DouShouQiModel.Piece", - "usr": "s:14DouShouQiModel5PieceV" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel5BoardV6insert5piece5atRow9andColumnAA0E6ResultOAA5PieceV_S2itF", - "mangledName": "$s14DouShouQiModel5BoardV6insert5piece5atRow9andColumnAA0E6ResultOAA5PieceV_S2itF", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "Mutating", - "AccessControl" - ], - "funcSelfKind": "Mutating" - }, - { - "kind": "Function", - "name": "removePiece", - "printedName": "removePiece(atRow:andColumn:)", - "children": [ - { - "kind": "TypeNominal", - "name": "BoardResult", - "printedName": "DouShouQiModel.BoardResult", - "usr": "s:14DouShouQiModel11BoardResultO" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel5BoardV11removePiece5atRow9andColumnAA0E6ResultOSi_SitF", - "mangledName": "$s14DouShouQiModel5BoardV11removePiece5atRow9andColumnAA0E6ResultOSi_SitF", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "Mutating", - "AccessControl" - ], - "funcSelfKind": "Mutating" - }, - { - "kind": "Var", - "name": "hashValue", - "printedName": "hashValue", - "children": [ - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ], - "declKind": "Var", - "usr": "s:14DouShouQiModel5BoardV9hashValueSivp", - "mangledName": "$s14DouShouQiModel5BoardV9hashValueSivp", - "moduleName": "DouShouQiModel", - "implicit": true, - "accessors": [ - { - "kind": "Accessor", - "name": "Get", - "printedName": "Get()", - "children": [ - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ], - "declKind": "Accessor", - "usr": "s:14DouShouQiModel5BoardV9hashValueSivg", - "mangledName": "$s14DouShouQiModel5BoardV9hashValueSivg", - "moduleName": "DouShouQiModel", - "implicit": true, - "accessorKind": "get" - } - ] - }, - { - "kind": "Function", - "name": "==", - "printedName": "==(_:_:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Bool", - "printedName": "Swift.Bool", - "usr": "s:Sb" - }, - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - }, - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel5BoardV2eeoiySbAC_ACtFZ", - "mangledName": "$s14DouShouQiModel5BoardV2eeoiySbAC_ACtFZ", - "moduleName": "DouShouQiModel", - "static": true, - "implicit": true, - "funcSelfKind": "NonMutating" - } - ], - "declKind": "Struct", - "usr": "s:14DouShouQiModel5BoardV", - "mangledName": "$s14DouShouQiModel5BoardV", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "conformances": [ - { - "kind": "Conformance", - "name": "Hashable", - "printedName": "Hashable", - "usr": "s:SH", - "mangledName": "$sSH" - }, - { - "kind": "Conformance", - "name": "Equatable", - "printedName": "Equatable", - "usr": "s:SQ", - "mangledName": "$sSQ" - } - ] - }, - { - "kind": "Import", - "name": "Foundation", - "printedName": "Foundation", - "declKind": "Import", - "moduleName": "DouShouQiModel" - }, - { - "kind": "TypeDecl", - "name": "Piece", - "printedName": "Piece", - "children": [ - { - "kind": "Var", - "name": "description", - "printedName": "description", - "children": [ - { - "kind": "TypeNominal", - "name": "String", - "printedName": "Swift.String", - "usr": "s:SS" - } - ], - "declKind": "Var", - "usr": "s:14DouShouQiModel5PieceV11descriptionSSvp", - "mangledName": "$s14DouShouQiModel5PieceV11descriptionSSvp", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "accessors": [ - { - "kind": "Accessor", - "name": "Get", - "printedName": "Get()", - "children": [ - { - "kind": "TypeNominal", - "name": "String", - "printedName": "Swift.String", - "usr": "s:SS" - } - ], - "declKind": "Accessor", - "usr": "s:14DouShouQiModel5PieceV11descriptionSSvg", - "mangledName": "$s14DouShouQiModel5PieceV11descriptionSSvg", - "moduleName": "DouShouQiModel", - "accessorKind": "get" - } - ] - }, - { - "kind": "Var", - "name": "owner", - "printedName": "owner", - "children": [ - { - "kind": "TypeNominal", - "name": "Owner", - "printedName": "DouShouQiModel.Owner", - "usr": "s:14DouShouQiModel5OwnerO" - } - ], - "declKind": "Var", - "usr": "s:14DouShouQiModel5PieceV5ownerAA5OwnerOvp", - "mangledName": "$s14DouShouQiModel5PieceV5ownerAA5OwnerOvp", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "HasStorage", - "AccessControl" - ], - "isLet": true, - "hasStorage": true, - "accessors": [ - { - "kind": "Accessor", - "name": "Get", - "printedName": "Get()", - "children": [ - { - "kind": "TypeNominal", - "name": "Owner", - "printedName": "DouShouQiModel.Owner", - "usr": "s:14DouShouQiModel5OwnerO" - } - ], - "declKind": "Accessor", - "usr": "s:14DouShouQiModel5PieceV5ownerAA5OwnerOvg", - "mangledName": "$s14DouShouQiModel5PieceV5ownerAA5OwnerOvg", - "moduleName": "DouShouQiModel", - "implicit": true, - "accessorKind": "get" - } - ] - }, - { - "kind": "Var", - "name": "animal", - "printedName": "animal", - "children": [ - { - "kind": "TypeNominal", - "name": "Animal", - "printedName": "DouShouQiModel.Animal", - "usr": "s:14DouShouQiModel6AnimalO" - } - ], - "declKind": "Var", - "usr": "s:14DouShouQiModel5PieceV6animalAA6AnimalOvp", - "mangledName": "$s14DouShouQiModel5PieceV6animalAA6AnimalOvp", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "HasStorage", - "AccessControl" - ], - "isLet": true, - "hasStorage": true, - "accessors": [ - { - "kind": "Accessor", - "name": "Get", - "printedName": "Get()", - "children": [ - { - "kind": "TypeNominal", - "name": "Animal", - "printedName": "DouShouQiModel.Animal", - "usr": "s:14DouShouQiModel6AnimalO" - } - ], - "declKind": "Accessor", - "usr": "s:14DouShouQiModel5PieceV6animalAA6AnimalOvg", - "mangledName": "$s14DouShouQiModel5PieceV6animalAA6AnimalOvg", - "moduleName": "DouShouQiModel", - "implicit": true, - "accessorKind": "get" - } - ] - }, - { - "kind": "Constructor", - "name": "init", - "printedName": "init(withOwner:andAnimal:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Piece", - "printedName": "DouShouQiModel.Piece", - "usr": "s:14DouShouQiModel5PieceV" - }, - { - "kind": "TypeNominal", - "name": "Owner", - "printedName": "DouShouQiModel.Owner", - "usr": "s:14DouShouQiModel5OwnerO" - }, - { - "kind": "TypeNominal", - "name": "Animal", - "printedName": "DouShouQiModel.Animal", - "usr": "s:14DouShouQiModel6AnimalO" - } - ], - "declKind": "Constructor", - "usr": "s:14DouShouQiModel5PieceV9withOwner9andAnimalAcA0G0O_AA0I0Otcfc", - "mangledName": "$s14DouShouQiModel5PieceV9withOwner9andAnimalAcA0G0O_AA0I0Otcfc", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "init_kind": "Designated" - }, - { - "kind": "Var", - "name": "hashValue", - "printedName": "hashValue", - "children": [ - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ], - "declKind": "Var", - "usr": "s:14DouShouQiModel5PieceV9hashValueSivp", - "mangledName": "$s14DouShouQiModel5PieceV9hashValueSivp", - "moduleName": "DouShouQiModel", - "implicit": true, - "accessors": [ - { - "kind": "Accessor", - "name": "Get", - "printedName": "Get()", - "children": [ - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ], - "declKind": "Accessor", - "usr": "s:14DouShouQiModel5PieceV9hashValueSivg", - "mangledName": "$s14DouShouQiModel5PieceV9hashValueSivg", - "moduleName": "DouShouQiModel", - "implicit": true, - "accessorKind": "get" - } - ] - }, - { - "kind": "Function", - "name": "hash", - "printedName": "hash(into:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - }, - { - "kind": "TypeNominal", - "name": "Hasher", - "printedName": "Swift.Hasher", - "paramValueOwnership": "InOut", - "usr": "s:s6HasherV" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel5PieceV4hash4intoys6HasherVz_tF", - "mangledName": "$s14DouShouQiModel5PieceV4hash4intoys6HasherVz_tF", - "moduleName": "DouShouQiModel", - "implicit": true, - "funcSelfKind": "NonMutating" - }, - { - "kind": "Function", - "name": "==", - "printedName": "==(_:_:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Bool", - "printedName": "Swift.Bool", - "usr": "s:Sb" - }, - { - "kind": "TypeNominal", - "name": "Piece", - "printedName": "DouShouQiModel.Piece", - "usr": "s:14DouShouQiModel5PieceV" - }, - { - "kind": "TypeNominal", - "name": "Piece", - "printedName": "DouShouQiModel.Piece", - "usr": "s:14DouShouQiModel5PieceV" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel5PieceV2eeoiySbAC_ACtFZ", - "mangledName": "$s14DouShouQiModel5PieceV2eeoiySbAC_ACtFZ", - "moduleName": "DouShouQiModel", - "static": true, - "implicit": true, - "funcSelfKind": "NonMutating" - } - ], - "declKind": "Struct", - "usr": "s:14DouShouQiModel5PieceV", - "mangledName": "$s14DouShouQiModel5PieceV", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "conformances": [ - { - "kind": "Conformance", - "name": "CustomStringConvertible", - "printedName": "CustomStringConvertible", - "usr": "s:s23CustomStringConvertibleP", - "mangledName": "$ss23CustomStringConvertibleP" - }, - { - "kind": "Conformance", - "name": "Hashable", - "printedName": "Hashable", - "usr": "s:SH", - "mangledName": "$sSH" - }, - { - "kind": "Conformance", - "name": "Equatable", - "printedName": "Equatable", - "usr": "s:SQ", - "mangledName": "$sSQ" - } - ] - }, - { - "kind": "Import", - "name": "Foundation", - "printedName": "Foundation", - "declKind": "Import", - "moduleName": "DouShouQiModel" - }, - { - "kind": "TypeDecl", - "name": "InvalidBoardError", - "printedName": "InvalidBoardError", - "children": [ - { - "kind": "Var", - "name": "unknownError", - "printedName": "unknownError", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.InvalidBoardError.Type) -> DouShouQiModel.InvalidBoardError", - "children": [ - { - "kind": "TypeNominal", - "name": "InvalidBoardError", - "printedName": "DouShouQiModel.InvalidBoardError", - "usr": "s:14DouShouQiModel17InvalidBoardErrorO" - }, - { - "kind": "TypeNominal", - "name": "Metatype", - "printedName": "DouShouQiModel.InvalidBoardError.Type", - "children": [ - { - "kind": "TypeNominal", - "name": "InvalidBoardError", - "printedName": "DouShouQiModel.InvalidBoardError", - "usr": "s:14DouShouQiModel17InvalidBoardErrorO" - } - ] - } - ] - } - ], - "declKind": "EnumElement", - "usr": "s:14DouShouQiModel17InvalidBoardErrorO07unknownG0yA2CmF", - "mangledName": "$s14DouShouQiModel17InvalidBoardErrorO07unknownG0yA2CmF", - "moduleName": "DouShouQiModel" - }, - { - "kind": "Var", - "name": "badDimensions", - "printedName": "badDimensions", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.InvalidBoardError.Type) -> (Swift.Int, Swift.Int) -> DouShouQiModel.InvalidBoardError", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(Swift.Int, Swift.Int) -> DouShouQiModel.InvalidBoardError", - "children": [ - { - "kind": "TypeNominal", - "name": "InvalidBoardError", - "printedName": "DouShouQiModel.InvalidBoardError", - "usr": "s:14DouShouQiModel17InvalidBoardErrorO" - }, - { - "kind": "TypeNominal", - "name": "Tuple", - "printedName": "(nbRows: Swift.Int, nbColumns: Swift.Int)", - "children": [ - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ] - } - ] - }, - { - "kind": "TypeNominal", - "name": "Metatype", - "printedName": "DouShouQiModel.InvalidBoardError.Type", - "children": [ - { - "kind": "TypeNominal", - "name": "InvalidBoardError", - "printedName": "DouShouQiModel.InvalidBoardError", - "usr": "s:14DouShouQiModel17InvalidBoardErrorO" - } - ] - } - ] - } - ], - "declKind": "EnumElement", - "usr": "s:14DouShouQiModel17InvalidBoardErrorO13badDimensionsyACSi_SitcACmF", - "mangledName": "$s14DouShouQiModel17InvalidBoardErrorO13badDimensionsyACSi_SitcACmF", - "moduleName": "DouShouQiModel" - }, - { - "kind": "Var", - "name": "badCellType", - "printedName": "badCellType", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.InvalidBoardError.Type) -> (DouShouQiModel.CellType, Swift.Int, Swift.Int) -> DouShouQiModel.InvalidBoardError", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.CellType, Swift.Int, Swift.Int) -> DouShouQiModel.InvalidBoardError", - "children": [ - { - "kind": "TypeNominal", - "name": "InvalidBoardError", - "printedName": "DouShouQiModel.InvalidBoardError", - "usr": "s:14DouShouQiModel17InvalidBoardErrorO" - }, - { - "kind": "TypeNominal", - "name": "Tuple", - "printedName": "(cellType: DouShouQiModel.CellType, row: Swift.Int, column: Swift.Int)", - "children": [ - { - "kind": "TypeNominal", - "name": "CellType", - "printedName": "DouShouQiModel.CellType", - "usr": "s:14DouShouQiModel8CellTypeO" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ] - } - ] - }, - { - "kind": "TypeNominal", - "name": "Metatype", - "printedName": "DouShouQiModel.InvalidBoardError.Type", - "children": [ - { - "kind": "TypeNominal", - "name": "InvalidBoardError", - "printedName": "DouShouQiModel.InvalidBoardError", - "usr": "s:14DouShouQiModel17InvalidBoardErrorO" - } - ] - } - ] - } - ], - "declKind": "EnumElement", - "usr": "s:14DouShouQiModel17InvalidBoardErrorO11badCellTypeyAcA0iJ0O_S2itcACmF", - "mangledName": "$s14DouShouQiModel17InvalidBoardErrorO11badCellTypeyAcA0iJ0O_S2itcACmF", - "moduleName": "DouShouQiModel" - }, - { - "kind": "Var", - "name": "multipleOccurenceOfSamePiece", - "printedName": "multipleOccurenceOfSamePiece", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.InvalidBoardError.Type) -> (DouShouQiModel.Piece) -> DouShouQiModel.InvalidBoardError", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.Piece) -> DouShouQiModel.InvalidBoardError", - "children": [ - { - "kind": "TypeNominal", - "name": "InvalidBoardError", - "printedName": "DouShouQiModel.InvalidBoardError", - "usr": "s:14DouShouQiModel17InvalidBoardErrorO" - }, - { - "kind": "TypeNominal", - "name": "Tuple", - "printedName": "(piece: DouShouQiModel.Piece)", - "children": [ - { - "kind": "TypeNominal", - "name": "Piece", - "printedName": "DouShouQiModel.Piece", - "usr": "s:14DouShouQiModel5PieceV" - } - ] - } - ] - }, - { - "kind": "TypeNominal", - "name": "Metatype", - "printedName": "DouShouQiModel.InvalidBoardError.Type", - "children": [ - { - "kind": "TypeNominal", - "name": "InvalidBoardError", - "printedName": "DouShouQiModel.InvalidBoardError", - "usr": "s:14DouShouQiModel17InvalidBoardErrorO" - } - ] - } - ] - } - ], - "declKind": "EnumElement", - "usr": "s:14DouShouQiModel17InvalidBoardErrorO28multipleOccurenceOfSamePieceyAcA0L0V_tcACmF", - "mangledName": "$s14DouShouQiModel17InvalidBoardErrorO28multipleOccurenceOfSamePieceyAcA0L0V_tcACmF", - "moduleName": "DouShouQiModel" - }, - { - "kind": "Var", - "name": "pieceWithNoOwner", - "printedName": "pieceWithNoOwner", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.InvalidBoardError.Type) -> (DouShouQiModel.Piece) -> DouShouQiModel.InvalidBoardError", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.Piece) -> DouShouQiModel.InvalidBoardError", - "children": [ - { - "kind": "TypeNominal", - "name": "InvalidBoardError", - "printedName": "DouShouQiModel.InvalidBoardError", - "usr": "s:14DouShouQiModel17InvalidBoardErrorO" - }, - { - "kind": "TypeNominal", - "name": "Tuple", - "printedName": "(piece: DouShouQiModel.Piece)", - "children": [ - { - "kind": "TypeNominal", - "name": "Piece", - "printedName": "DouShouQiModel.Piece", - "usr": "s:14DouShouQiModel5PieceV" - } - ] - } - ] - }, - { - "kind": "TypeNominal", - "name": "Metatype", - "printedName": "DouShouQiModel.InvalidBoardError.Type", - "children": [ - { - "kind": "TypeNominal", - "name": "InvalidBoardError", - "printedName": "DouShouQiModel.InvalidBoardError", - "usr": "s:14DouShouQiModel17InvalidBoardErrorO" - } - ] - } - ] - } - ], - "declKind": "EnumElement", - "usr": "s:14DouShouQiModel17InvalidBoardErrorO16pieceWithNoOwneryAcA5PieceV_tcACmF", - "mangledName": "$s14DouShouQiModel17InvalidBoardErrorO16pieceWithNoOwneryAcA5PieceV_tcACmF", - "moduleName": "DouShouQiModel" - }, - { - "kind": "Var", - "name": "pieceNotAllowedOnThisCell", - "printedName": "pieceNotAllowedOnThisCell", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.InvalidBoardError.Type) -> (DouShouQiModel.Piece, DouShouQiModel.Cell) -> DouShouQiModel.InvalidBoardError", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.Piece, DouShouQiModel.Cell) -> DouShouQiModel.InvalidBoardError", - "children": [ - { - "kind": "TypeNominal", - "name": "InvalidBoardError", - "printedName": "DouShouQiModel.InvalidBoardError", - "usr": "s:14DouShouQiModel17InvalidBoardErrorO" - }, - { - "kind": "TypeNominal", - "name": "Tuple", - "printedName": "(piece: DouShouQiModel.Piece, cell: DouShouQiModel.Cell)", - "children": [ - { - "kind": "TypeNominal", - "name": "Piece", - "printedName": "DouShouQiModel.Piece", - "usr": "s:14DouShouQiModel5PieceV" - }, - { - "kind": "TypeNominal", - "name": "Cell", - "printedName": "DouShouQiModel.Cell", - "usr": "s:14DouShouQiModel4CellV" - } - ] - } - ] - }, - { - "kind": "TypeNominal", - "name": "Metatype", - "printedName": "DouShouQiModel.InvalidBoardError.Type", - "children": [ - { - "kind": "TypeNominal", - "name": "InvalidBoardError", - "printedName": "DouShouQiModel.InvalidBoardError", - "usr": "s:14DouShouQiModel17InvalidBoardErrorO" - } - ] - } - ] - } - ], - "declKind": "EnumElement", - "usr": "s:14DouShouQiModel17InvalidBoardErrorO25pieceNotAllowedOnThisCellyAcA5PieceV_AA0M0VtcACmF", - "mangledName": "$s14DouShouQiModel17InvalidBoardErrorO25pieceNotAllowedOnThisCellyAcA5PieceV_AA0M0VtcACmF", - "moduleName": "DouShouQiModel" - }, - { - "kind": "Function", - "name": "==", - "printedName": "==(_:_:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Bool", - "printedName": "Swift.Bool", - "usr": "s:Sb" - }, - { - "kind": "TypeNominal", - "name": "InvalidBoardError", - "printedName": "DouShouQiModel.InvalidBoardError", - "usr": "s:14DouShouQiModel17InvalidBoardErrorO" - }, - { - "kind": "TypeNominal", - "name": "InvalidBoardError", - "printedName": "DouShouQiModel.InvalidBoardError", - "usr": "s:14DouShouQiModel17InvalidBoardErrorO" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel17InvalidBoardErrorO2eeoiySbAC_ACtFZ", - "mangledName": "$s14DouShouQiModel17InvalidBoardErrorO2eeoiySbAC_ACtFZ", - "moduleName": "DouShouQiModel", - "static": true, - "implicit": true, - "funcSelfKind": "NonMutating" - } - ], - "declKind": "Enum", - "usr": "s:14DouShouQiModel17InvalidBoardErrorO", - "mangledName": "$s14DouShouQiModel17InvalidBoardErrorO", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "conformances": [ - { - "kind": "Conformance", - "name": "Error", - "printedName": "Error", - "usr": "s:s5ErrorP", - "mangledName": "$ss5ErrorP" - }, - { - "kind": "Conformance", - "name": "Equatable", - "printedName": "Equatable", - "usr": "s:SQ", - "mangledName": "$sSQ" - }, - { - "kind": "Conformance", - "name": "Sendable", - "printedName": "Sendable", - "usr": "s:s8SendableP", - "mangledName": "$ss8SendableP" - } - ] - }, - { - "kind": "Import", - "name": "Foundation", - "printedName": "Foundation", - "declKind": "Import", - "moduleName": "DouShouQiModel" - }, - { - "kind": "TypeDecl", - "name": "Owner", - "printedName": "Owner", - "children": [ - { - "kind": "Var", - "name": "noOne", - "printedName": "noOne", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.Owner.Type) -> DouShouQiModel.Owner", - "children": [ - { - "kind": "TypeNominal", - "name": "Owner", - "printedName": "DouShouQiModel.Owner", - "usr": "s:14DouShouQiModel5OwnerO" - }, - { - "kind": "TypeNominal", - "name": "Metatype", - "printedName": "DouShouQiModel.Owner.Type", - "children": [ - { - "kind": "TypeNominal", - "name": "Owner", - "printedName": "DouShouQiModel.Owner", - "usr": "s:14DouShouQiModel5OwnerO" - } - ] - } - ] - } - ], - "declKind": "EnumElement", - "usr": "s:14DouShouQiModel5OwnerO5noOneyA2CmF", - "mangledName": "$s14DouShouQiModel5OwnerO5noOneyA2CmF", - "moduleName": "DouShouQiModel" - }, - { - "kind": "Var", - "name": "player1", - "printedName": "player1", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.Owner.Type) -> DouShouQiModel.Owner", - "children": [ - { - "kind": "TypeNominal", - "name": "Owner", - "printedName": "DouShouQiModel.Owner", - "usr": "s:14DouShouQiModel5OwnerO" - }, - { - "kind": "TypeNominal", - "name": "Metatype", - "printedName": "DouShouQiModel.Owner.Type", - "children": [ - { - "kind": "TypeNominal", - "name": "Owner", - "printedName": "DouShouQiModel.Owner", - "usr": "s:14DouShouQiModel5OwnerO" - } - ] - } - ] - } - ], - "declKind": "EnumElement", - "usr": "s:14DouShouQiModel5OwnerO7player1yA2CmF", - "mangledName": "$s14DouShouQiModel5OwnerO7player1yA2CmF", - "moduleName": "DouShouQiModel" - }, - { - "kind": "Var", - "name": "player2", - "printedName": "player2", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.Owner.Type) -> DouShouQiModel.Owner", - "children": [ - { - "kind": "TypeNominal", - "name": "Owner", - "printedName": "DouShouQiModel.Owner", - "usr": "s:14DouShouQiModel5OwnerO" - }, - { - "kind": "TypeNominal", - "name": "Metatype", - "printedName": "DouShouQiModel.Owner.Type", - "children": [ - { - "kind": "TypeNominal", - "name": "Owner", - "printedName": "DouShouQiModel.Owner", - "usr": "s:14DouShouQiModel5OwnerO" - } - ] - } - ] - } - ], - "declKind": "EnumElement", - "usr": "s:14DouShouQiModel5OwnerO7player2yA2CmF", - "mangledName": "$s14DouShouQiModel5OwnerO7player2yA2CmF", - "moduleName": "DouShouQiModel" - }, - { - "kind": "Var", - "name": "simpleDescription", - "printedName": "simpleDescription", - "children": [ - { - "kind": "TypeNominal", - "name": "String", - "printedName": "Swift.String", - "usr": "s:SS" - } - ], - "declKind": "Var", - "usr": "s:14DouShouQiModel5OwnerO17simpleDescriptionSSvp", - "mangledName": "$s14DouShouQiModel5OwnerO17simpleDescriptionSSvp", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "accessors": [ - { - "kind": "Accessor", - "name": "Get", - "printedName": "Get()", - "children": [ - { - "kind": "TypeNominal", - "name": "String", - "printedName": "Swift.String", - "usr": "s:SS" - } - ], - "declKind": "Accessor", - "usr": "s:14DouShouQiModel5OwnerO17simpleDescriptionSSvg", - "mangledName": "$s14DouShouQiModel5OwnerO17simpleDescriptionSSvg", - "moduleName": "DouShouQiModel", - "accessorKind": "get" - } - ] - }, - { - "kind": "Function", - "name": "==", - "printedName": "==(_:_:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Bool", - "printedName": "Swift.Bool", - "usr": "s:Sb" - }, - { - "kind": "TypeNominal", - "name": "Owner", - "printedName": "DouShouQiModel.Owner", - "usr": "s:14DouShouQiModel5OwnerO" - }, - { - "kind": "TypeNominal", - "name": "Owner", - "printedName": "DouShouQiModel.Owner", - "usr": "s:14DouShouQiModel5OwnerO" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel5OwnerO2eeoiySbAC_ACtFZ", - "mangledName": "$s14DouShouQiModel5OwnerO2eeoiySbAC_ACtFZ", - "moduleName": "DouShouQiModel", - "static": true, - "implicit": true, - "funcSelfKind": "NonMutating" - }, - { - "kind": "Var", - "name": "hashValue", - "printedName": "hashValue", - "children": [ - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ], - "declKind": "Var", - "usr": "s:14DouShouQiModel5OwnerO9hashValueSivp", - "mangledName": "$s14DouShouQiModel5OwnerO9hashValueSivp", - "moduleName": "DouShouQiModel", - "implicit": true, - "accessors": [ - { - "kind": "Accessor", - "name": "Get", - "printedName": "Get()", - "children": [ - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ], - "declKind": "Accessor", - "usr": "s:14DouShouQiModel5OwnerO9hashValueSivg", - "mangledName": "$s14DouShouQiModel5OwnerO9hashValueSivg", - "moduleName": "DouShouQiModel", - "implicit": true, - "accessorKind": "get" - } - ] - }, - { - "kind": "Function", - "name": "hash", - "printedName": "hash(into:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - }, - { - "kind": "TypeNominal", - "name": "Hasher", - "printedName": "Swift.Hasher", - "paramValueOwnership": "InOut", - "usr": "s:s6HasherV" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel5OwnerO4hash4intoys6HasherVz_tF", - "mangledName": "$s14DouShouQiModel5OwnerO4hash4intoys6HasherVz_tF", - "moduleName": "DouShouQiModel", - "implicit": true, - "funcSelfKind": "NonMutating" - } - ], - "declKind": "Enum", - "usr": "s:14DouShouQiModel5OwnerO", - "mangledName": "$s14DouShouQiModel5OwnerO", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "conformances": [ - { - "kind": "Conformance", - "name": "Equatable", - "printedName": "Equatable", - "usr": "s:SQ", - "mangledName": "$sSQ" - }, - { - "kind": "Conformance", - "name": "Hashable", - "printedName": "Hashable", - "usr": "s:SH", - "mangledName": "$sSH" - } - ] - }, - { - "kind": "Import", - "name": "Foundation", - "printedName": "Foundation", - "declKind": "Import", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "RawDocComment" - ] - }, - { - "kind": "TypeDecl", - "name": "IAPlayer", - "printedName": "IAPlayer", - "children": [ - { - "kind": "Constructor", - "name": "init", - "printedName": "init(withName:andId:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Optional", - "printedName": "DouShouQiModel.IAPlayer?", - "children": [ - { - "kind": "TypeNominal", - "name": "IAPlayer", - "printedName": "DouShouQiModel.IAPlayer", - "usr": "s:14DouShouQiModel8IAPlayerC" - } - ], - "usr": "s:Sq" - }, - { - "kind": "TypeNominal", - "name": "String", - "printedName": "Swift.String", - "usr": "s:SS" - }, - { - "kind": "TypeNominal", - "name": "Owner", - "printedName": "DouShouQiModel.Owner", - "usr": "s:14DouShouQiModel5OwnerO" - } - ], - "declKind": "Constructor", - "usr": "s:14DouShouQiModel8IAPlayerC8withName5andIdACSgSS_AA5OwnerOtcfc", - "mangledName": "$s14DouShouQiModel8IAPlayerC8withName5andIdACSgSS_AA5OwnerOtcfc", - "moduleName": "DouShouQiModel", - "overriding": true, - "implicit": true, - "declAttributes": [ - "Override" - ], - "init_kind": "Designated" - } - ], - "declKind": "Class", - "usr": "s:14DouShouQiModel8IAPlayerC", - "mangledName": "$s14DouShouQiModel8IAPlayerC", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "superclassUsr": "s:14DouShouQiModel6PlayerC", - "inheritsConvenienceInitializers": true, - "superclassNames": [ - "DouShouQiModel.Player" - ] - }, - { - "kind": "Import", - "name": "Foundation", - "printedName": "Foundation", - "declKind": "Import", - "moduleName": "DouShouQiModel" - }, - { - "kind": "TypeDecl", - "name": "Move", - "printedName": "Move", - "children": [ - { - "kind": "Var", - "name": "owner", - "printedName": "owner", - "children": [ - { - "kind": "TypeNominal", - "name": "Owner", - "printedName": "DouShouQiModel.Owner", - "usr": "s:14DouShouQiModel5OwnerO" - } - ], - "declKind": "Var", - "usr": "s:14DouShouQiModel4MoveV5ownerAA5OwnerOvp", - "mangledName": "$s14DouShouQiModel4MoveV5ownerAA5OwnerOvp", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "HasStorage", - "AccessControl" - ], - "isLet": true, - "hasStorage": true, - "accessors": [ - { - "kind": "Accessor", - "name": "Get", - "printedName": "Get()", - "children": [ - { - "kind": "TypeNominal", - "name": "Owner", - "printedName": "DouShouQiModel.Owner", - "usr": "s:14DouShouQiModel5OwnerO" - } - ], - "declKind": "Accessor", - "usr": "s:14DouShouQiModel4MoveV5ownerAA5OwnerOvg", - "mangledName": "$s14DouShouQiModel4MoveV5ownerAA5OwnerOvg", - "moduleName": "DouShouQiModel", - "implicit": true, - "accessorKind": "get" - } - ] - }, - { - "kind": "Var", - "name": "rowOrigin", - "printedName": "rowOrigin", - "children": [ - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ], - "declKind": "Var", - "usr": "s:14DouShouQiModel4MoveV9rowOriginSivp", - "mangledName": "$s14DouShouQiModel4MoveV9rowOriginSivp", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "HasStorage", - "AccessControl" - ], - "isLet": true, - "hasStorage": true, - "accessors": [ - { - "kind": "Accessor", - "name": "Get", - "printedName": "Get()", - "children": [ - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ], - "declKind": "Accessor", - "usr": "s:14DouShouQiModel4MoveV9rowOriginSivg", - "mangledName": "$s14DouShouQiModel4MoveV9rowOriginSivg", - "moduleName": "DouShouQiModel", - "implicit": true, - "accessorKind": "get" - } - ] - }, - { - "kind": "Var", - "name": "columnOrigin", - "printedName": "columnOrigin", - "children": [ - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ], - "declKind": "Var", - "usr": "s:14DouShouQiModel4MoveV12columnOriginSivp", - "mangledName": "$s14DouShouQiModel4MoveV12columnOriginSivp", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "HasStorage", - "AccessControl" - ], - "isLet": true, - "hasStorage": true, - "accessors": [ - { - "kind": "Accessor", - "name": "Get", - "printedName": "Get()", - "children": [ - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ], - "declKind": "Accessor", - "usr": "s:14DouShouQiModel4MoveV12columnOriginSivg", - "mangledName": "$s14DouShouQiModel4MoveV12columnOriginSivg", - "moduleName": "DouShouQiModel", - "implicit": true, - "accessorKind": "get" - } - ] - }, - { - "kind": "Var", - "name": "rowDestination", - "printedName": "rowDestination", - "children": [ - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ], - "declKind": "Var", - "usr": "s:14DouShouQiModel4MoveV14rowDestinationSivp", - "mangledName": "$s14DouShouQiModel4MoveV14rowDestinationSivp", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "HasStorage", - "AccessControl" - ], - "isLet": true, - "hasStorage": true, - "accessors": [ - { - "kind": "Accessor", - "name": "Get", - "printedName": "Get()", - "children": [ - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ], - "declKind": "Accessor", - "usr": "s:14DouShouQiModel4MoveV14rowDestinationSivg", - "mangledName": "$s14DouShouQiModel4MoveV14rowDestinationSivg", - "moduleName": "DouShouQiModel", - "implicit": true, - "accessorKind": "get" - } - ] - }, - { - "kind": "Var", - "name": "columnDestination", - "printedName": "columnDestination", - "children": [ - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ], - "declKind": "Var", - "usr": "s:14DouShouQiModel4MoveV17columnDestinationSivp", - "mangledName": "$s14DouShouQiModel4MoveV17columnDestinationSivp", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "HasStorage", - "AccessControl" - ], - "isLet": true, - "hasStorage": true, - "accessors": [ - { - "kind": "Accessor", - "name": "Get", - "printedName": "Get()", - "children": [ - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ], - "declKind": "Accessor", - "usr": "s:14DouShouQiModel4MoveV17columnDestinationSivg", - "mangledName": "$s14DouShouQiModel4MoveV17columnDestinationSivg", - "moduleName": "DouShouQiModel", - "implicit": true, - "accessorKind": "get" - } - ] - }, - { - "kind": "Constructor", - "name": "init", - "printedName": "init(of:fromRow:andFromColumn:toRow:andToColumn:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Move", - "printedName": "DouShouQiModel.Move", - "usr": "s:14DouShouQiModel4MoveV" - }, - { - "kind": "TypeNominal", - "name": "Owner", - "printedName": "DouShouQiModel.Owner", - "usr": "s:14DouShouQiModel5OwnerO" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ], - "declKind": "Constructor", - "usr": "s:14DouShouQiModel4MoveV2of7fromRow13andFromColumn02toH00i2ToK0AcA5OwnerO_S4itcfc", - "mangledName": "$s14DouShouQiModel4MoveV2of7fromRow13andFromColumn02toH00i2ToK0AcA5OwnerO_S4itcfc", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "init_kind": "Designated" - }, - { - "kind": "Var", - "name": "description", - "printedName": "description", - "children": [ - { - "kind": "TypeNominal", - "name": "String", - "printedName": "Swift.String", - "usr": "s:SS" - } - ], - "declKind": "Var", - "usr": "s:14DouShouQiModel4MoveV11descriptionSSvp", - "mangledName": "$s14DouShouQiModel4MoveV11descriptionSSvp", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "accessors": [ - { - "kind": "Accessor", - "name": "Get", - "printedName": "Get()", - "children": [ - { - "kind": "TypeNominal", - "name": "String", - "printedName": "Swift.String", - "usr": "s:SS" - } - ], - "declKind": "Accessor", - "usr": "s:14DouShouQiModel4MoveV11descriptionSSvg", - "mangledName": "$s14DouShouQiModel4MoveV11descriptionSSvg", - "moduleName": "DouShouQiModel", - "accessorKind": "get" - } - ] - }, - { - "kind": "Function", - "name": "==", - "printedName": "==(_:_:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Bool", - "printedName": "Swift.Bool", - "usr": "s:Sb" - }, - { - "kind": "TypeNominal", - "name": "Move", - "printedName": "DouShouQiModel.Move", - "usr": "s:14DouShouQiModel4MoveV" - }, - { - "kind": "TypeNominal", - "name": "Move", - "printedName": "DouShouQiModel.Move", - "usr": "s:14DouShouQiModel4MoveV" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel4MoveV2eeoiySbAC_ACtFZ", - "mangledName": "$s14DouShouQiModel4MoveV2eeoiySbAC_ACtFZ", - "moduleName": "DouShouQiModel", - "static": true, - "implicit": true, - "funcSelfKind": "NonMutating" - } - ], - "declKind": "Struct", - "usr": "s:14DouShouQiModel4MoveV", - "mangledName": "$s14DouShouQiModel4MoveV", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "conformances": [ - { - "kind": "Conformance", - "name": "CustomStringConvertible", - "printedName": "CustomStringConvertible", - "usr": "s:s23CustomStringConvertibleP", - "mangledName": "$ss23CustomStringConvertibleP" - }, - { - "kind": "Conformance", - "name": "Equatable", - "printedName": "Equatable", - "usr": "s:SQ", - "mangledName": "$sSQ" - } - ] - }, - { - "kind": "Import", - "name": "Foundation", - "printedName": "Foundation", - "declKind": "Import", - "moduleName": "DouShouQiModel" - }, - { - "kind": "TypeDecl", - "name": "Animal", - "printedName": "Animal", - "children": [ - { - "kind": "Var", - "name": "rat", - "printedName": "rat", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.Animal.Type) -> DouShouQiModel.Animal", - "children": [ - { - "kind": "TypeNominal", - "name": "Animal", - "printedName": "DouShouQiModel.Animal", - "usr": "s:14DouShouQiModel6AnimalO" - }, - { - "kind": "TypeNominal", - "name": "Metatype", - "printedName": "DouShouQiModel.Animal.Type", - "children": [ - { - "kind": "TypeNominal", - "name": "Animal", - "printedName": "DouShouQiModel.Animal", - "usr": "s:14DouShouQiModel6AnimalO" - } - ] - } - ] - } - ], - "declKind": "EnumElement", - "usr": "s:14DouShouQiModel6AnimalO3ratyA2CmF", - "mangledName": "$s14DouShouQiModel6AnimalO3ratyA2CmF", - "moduleName": "DouShouQiModel" - }, - { - "kind": "Var", - "name": "cat", - "printedName": "cat", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.Animal.Type) -> DouShouQiModel.Animal", - "children": [ - { - "kind": "TypeNominal", - "name": "Animal", - "printedName": "DouShouQiModel.Animal", - "usr": "s:14DouShouQiModel6AnimalO" - }, - { - "kind": "TypeNominal", - "name": "Metatype", - "printedName": "DouShouQiModel.Animal.Type", - "children": [ - { - "kind": "TypeNominal", - "name": "Animal", - "printedName": "DouShouQiModel.Animal", - "usr": "s:14DouShouQiModel6AnimalO" - } - ] - } - ] - } - ], - "declKind": "EnumElement", - "usr": "s:14DouShouQiModel6AnimalO3catyA2CmF", - "mangledName": "$s14DouShouQiModel6AnimalO3catyA2CmF", - "moduleName": "DouShouQiModel" - }, - { - "kind": "Var", - "name": "dog", - "printedName": "dog", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.Animal.Type) -> DouShouQiModel.Animal", - "children": [ - { - "kind": "TypeNominal", - "name": "Animal", - "printedName": "DouShouQiModel.Animal", - "usr": "s:14DouShouQiModel6AnimalO" - }, - { - "kind": "TypeNominal", - "name": "Metatype", - "printedName": "DouShouQiModel.Animal.Type", - "children": [ - { - "kind": "TypeNominal", - "name": "Animal", - "printedName": "DouShouQiModel.Animal", - "usr": "s:14DouShouQiModel6AnimalO" - } - ] - } - ] - } - ], - "declKind": "EnumElement", - "usr": "s:14DouShouQiModel6AnimalO3dogyA2CmF", - "mangledName": "$s14DouShouQiModel6AnimalO3dogyA2CmF", - "moduleName": "DouShouQiModel" - }, - { - "kind": "Var", - "name": "wolf", - "printedName": "wolf", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.Animal.Type) -> DouShouQiModel.Animal", - "children": [ - { - "kind": "TypeNominal", - "name": "Animal", - "printedName": "DouShouQiModel.Animal", - "usr": "s:14DouShouQiModel6AnimalO" - }, - { - "kind": "TypeNominal", - "name": "Metatype", - "printedName": "DouShouQiModel.Animal.Type", - "children": [ - { - "kind": "TypeNominal", - "name": "Animal", - "printedName": "DouShouQiModel.Animal", - "usr": "s:14DouShouQiModel6AnimalO" - } - ] - } - ] - } - ], - "declKind": "EnumElement", - "usr": "s:14DouShouQiModel6AnimalO4wolfyA2CmF", - "mangledName": "$s14DouShouQiModel6AnimalO4wolfyA2CmF", - "moduleName": "DouShouQiModel" - }, - { - "kind": "Var", - "name": "leopard", - "printedName": "leopard", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.Animal.Type) -> DouShouQiModel.Animal", - "children": [ - { - "kind": "TypeNominal", - "name": "Animal", - "printedName": "DouShouQiModel.Animal", - "usr": "s:14DouShouQiModel6AnimalO" - }, - { - "kind": "TypeNominal", - "name": "Metatype", - "printedName": "DouShouQiModel.Animal.Type", - "children": [ - { - "kind": "TypeNominal", - "name": "Animal", - "printedName": "DouShouQiModel.Animal", - "usr": "s:14DouShouQiModel6AnimalO" - } - ] - } - ] - } - ], - "declKind": "EnumElement", - "usr": "s:14DouShouQiModel6AnimalO7leopardyA2CmF", - "mangledName": "$s14DouShouQiModel6AnimalO7leopardyA2CmF", - "moduleName": "DouShouQiModel" - }, - { - "kind": "Var", - "name": "tiger", - "printedName": "tiger", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.Animal.Type) -> DouShouQiModel.Animal", - "children": [ - { - "kind": "TypeNominal", - "name": "Animal", - "printedName": "DouShouQiModel.Animal", - "usr": "s:14DouShouQiModel6AnimalO" - }, - { - "kind": "TypeNominal", - "name": "Metatype", - "printedName": "DouShouQiModel.Animal.Type", - "children": [ - { - "kind": "TypeNominal", - "name": "Animal", - "printedName": "DouShouQiModel.Animal", - "usr": "s:14DouShouQiModel6AnimalO" - } - ] - } - ] - } - ], - "declKind": "EnumElement", - "usr": "s:14DouShouQiModel6AnimalO5tigeryA2CmF", - "mangledName": "$s14DouShouQiModel6AnimalO5tigeryA2CmF", - "moduleName": "DouShouQiModel" - }, - { - "kind": "Var", - "name": "lion", - "printedName": "lion", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.Animal.Type) -> DouShouQiModel.Animal", - "children": [ - { - "kind": "TypeNominal", - "name": "Animal", - "printedName": "DouShouQiModel.Animal", - "usr": "s:14DouShouQiModel6AnimalO" - }, - { - "kind": "TypeNominal", - "name": "Metatype", - "printedName": "DouShouQiModel.Animal.Type", - "children": [ - { - "kind": "TypeNominal", - "name": "Animal", - "printedName": "DouShouQiModel.Animal", - "usr": "s:14DouShouQiModel6AnimalO" - } - ] - } - ] - } - ], - "declKind": "EnumElement", - "usr": "s:14DouShouQiModel6AnimalO4lionyA2CmF", - "mangledName": "$s14DouShouQiModel6AnimalO4lionyA2CmF", - "moduleName": "DouShouQiModel" - }, - { - "kind": "Var", - "name": "elephant", - "printedName": "elephant", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.Animal.Type) -> DouShouQiModel.Animal", - "children": [ - { - "kind": "TypeNominal", - "name": "Animal", - "printedName": "DouShouQiModel.Animal", - "usr": "s:14DouShouQiModel6AnimalO" - }, - { - "kind": "TypeNominal", - "name": "Metatype", - "printedName": "DouShouQiModel.Animal.Type", - "children": [ - { - "kind": "TypeNominal", - "name": "Animal", - "printedName": "DouShouQiModel.Animal", - "usr": "s:14DouShouQiModel6AnimalO" - } - ] - } - ] - } - ], - "declKind": "EnumElement", - "usr": "s:14DouShouQiModel6AnimalO8elephantyA2CmF", - "mangledName": "$s14DouShouQiModel6AnimalO8elephantyA2CmF", - "moduleName": "DouShouQiModel" - }, - { - "kind": "Var", - "name": "rawValue", - "printedName": "rawValue", - "children": [ - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ], - "declKind": "Var", - "usr": "s:14DouShouQiModel6AnimalO8rawValueSivp", - "mangledName": "$s14DouShouQiModel6AnimalO8rawValueSivp", - "moduleName": "DouShouQiModel", - "implicit": true, - "accessors": [ - { - "kind": "Accessor", - "name": "Get", - "printedName": "Get()", - "children": [ - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ], - "declKind": "Accessor", - "usr": "s:14DouShouQiModel6AnimalO8rawValueSivg", - "mangledName": "$s14DouShouQiModel6AnimalO8rawValueSivg", - "moduleName": "DouShouQiModel", - "implicit": true, - "accessorKind": "get" - } - ] - }, - { - "kind": "Constructor", - "name": "init", - "printedName": "init(rawValue:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Optional", - "printedName": "DouShouQiModel.Animal?", - "children": [ - { - "kind": "TypeNominal", - "name": "Animal", - "printedName": "DouShouQiModel.Animal", - "usr": "s:14DouShouQiModel6AnimalO" - } - ], - "usr": "s:Sq" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ], - "declKind": "Constructor", - "usr": "s:14DouShouQiModel6AnimalO8rawValueACSgSi_tcfc", - "mangledName": "$s14DouShouQiModel6AnimalO8rawValueACSgSi_tcfc", - "moduleName": "DouShouQiModel", - "implicit": true, - "init_kind": "Designated" - } - ], - "declKind": "Enum", - "usr": "s:14DouShouQiModel6AnimalO", - "mangledName": "$s14DouShouQiModel6AnimalO", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "enumRawTypeName": "Int", - "conformances": [ - { - "kind": "Conformance", - "name": "Equatable", - "printedName": "Equatable", - "usr": "s:SQ", - "mangledName": "$sSQ" - }, - { - "kind": "Conformance", - "name": "Hashable", - "printedName": "Hashable", - "usr": "s:SH", - "mangledName": "$sSH" - }, - { - "kind": "Conformance", - "name": "RawRepresentable", - "printedName": "RawRepresentable", - "children": [ - { - "kind": "TypeWitness", - "name": "RawValue", - "printedName": "RawValue", - "children": [ - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ] - } - ], - "usr": "s:SY", - "mangledName": "$sSY" - } - ] - }, - { - "kind": "Import", - "name": "Foundation", - "printedName": "Foundation", - "declKind": "Import", - "moduleName": "DouShouQiModel" - }, - { - "kind": "TypeDecl", - "name": "Game", - "printedName": "Game", - "children": [ - { - "kind": "Var", - "name": "board", - "printedName": "board", - "children": [ - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - } - ], - "declKind": "Var", - "usr": "s:14DouShouQiModel4GameC5boardAA5BoardVvp", - "mangledName": "$s14DouShouQiModel4GameC5boardAA5BoardVvp", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "HasStorage", - "SetterAccess", - "AccessControl" - ], - "hasStorage": true, - "accessors": [ - { - "kind": "Accessor", - "name": "Get", - "printedName": "Get()", - "children": [ - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - } - ], - "declKind": "Accessor", - "usr": "s:14DouShouQiModel4GameC5boardAA5BoardVvg", - "mangledName": "$s14DouShouQiModel4GameC5boardAA5BoardVvg", - "moduleName": "DouShouQiModel", - "implicit": true, - "accessorKind": "get" - } - ] - }, - { - "kind": "Var", - "name": "rules", - "printedName": "rules", - "children": [ - { - "kind": "TypeNominal", - "name": "Rules", - "printedName": "DouShouQiModel.Rules", - "usr": "s:14DouShouQiModel5RulesP" - } - ], - "declKind": "Var", - "usr": "s:14DouShouQiModel4GameC5rulesAA5Rules_pvp", - "mangledName": "$s14DouShouQiModel4GameC5rulesAA5Rules_pvp", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "HasStorage", - "SetterAccess", - "AccessControl" - ], - "hasStorage": true, - "accessors": [ - { - "kind": "Accessor", - "name": "Get", - "printedName": "Get()", - "children": [ - { - "kind": "TypeNominal", - "name": "Rules", - "printedName": "DouShouQiModel.Rules", - "usr": "s:14DouShouQiModel5RulesP" - } - ], - "declKind": "Accessor", - "usr": "s:14DouShouQiModel4GameC5rulesAA5Rules_pvg", - "mangledName": "$s14DouShouQiModel4GameC5rulesAA5Rules_pvg", - "moduleName": "DouShouQiModel", - "implicit": true, - "accessorKind": "get" - } - ] - }, - { - "kind": "Var", - "name": "players", - "printedName": "players", - "children": [ - { - "kind": "TypeNominal", - "name": "Dictionary", - "printedName": "[DouShouQiModel.Owner : DouShouQiModel.Player]", - "children": [ - { - "kind": "TypeNominal", - "name": "Owner", - "printedName": "DouShouQiModel.Owner", - "usr": "s:14DouShouQiModel5OwnerO" - }, - { - "kind": "TypeNominal", - "name": "Player", - "printedName": "DouShouQiModel.Player", - "usr": "s:14DouShouQiModel6PlayerC" - } - ], - "usr": "s:SD" - } - ], - "declKind": "Var", - "usr": "s:14DouShouQiModel4GameC7playersSDyAA5OwnerOAA6PlayerCGvp", - "mangledName": "$s14DouShouQiModel4GameC7playersSDyAA5OwnerOAA6PlayerCGvp", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "Final", - "HasStorage", - "AccessControl" - ], - "isLet": true, - "hasStorage": true, - "accessors": [ - { - "kind": "Accessor", - "name": "Get", - "printedName": "Get()", - "children": [ - { - "kind": "TypeNominal", - "name": "Dictionary", - "printedName": "[DouShouQiModel.Owner : DouShouQiModel.Player]", - "children": [ - { - "kind": "TypeNominal", - "name": "Owner", - "printedName": "DouShouQiModel.Owner", - "usr": "s:14DouShouQiModel5OwnerO" - }, - { - "kind": "TypeNominal", - "name": "Player", - "printedName": "DouShouQiModel.Player", - "usr": "s:14DouShouQiModel6PlayerC" - } - ], - "usr": "s:SD" - } - ], - "declKind": "Accessor", - "usr": "s:14DouShouQiModel4GameC7playersSDyAA5OwnerOAA6PlayerCGvg", - "mangledName": "$s14DouShouQiModel4GameC7playersSDyAA5OwnerOAA6PlayerCGvg", - "moduleName": "DouShouQiModel", - "implicit": true, - "declAttributes": [ - "Final" - ], - "accessorKind": "get" - } - ] - }, - { - "kind": "Constructor", - "name": "init", - "printedName": "init(withRules:andPlayer1:andPlayer2:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Game", - "printedName": "DouShouQiModel.Game", - "usr": "s:14DouShouQiModel4GameC" - }, - { - "kind": "TypeNominal", - "name": "Rules", - "printedName": "DouShouQiModel.Rules", - "usr": "s:14DouShouQiModel5RulesP" - }, - { - "kind": "TypeNominal", - "name": "Player", - "printedName": "DouShouQiModel.Player", - "usr": "s:14DouShouQiModel6PlayerC" - }, - { - "kind": "TypeNominal", - "name": "Player", - "printedName": "DouShouQiModel.Player", - "usr": "s:14DouShouQiModel6PlayerC" - } - ], - "declKind": "Constructor", - "usr": "s:14DouShouQiModel4GameC9withRules10andPlayer10H7Player2AcA0G0_p_AA6PlayerCAItKcfc", - "mangledName": "$s14DouShouQiModel4GameC9withRules10andPlayer10H7Player2AcA0G0_p_AA6PlayerCAItKcfc", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "throwing": true, - "init_kind": "Designated" - }, - { - "kind": "Constructor", - "name": "init", - "printedName": "init(withBoard:andRules:andPlayer1:andPlayer2:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Game", - "printedName": "DouShouQiModel.Game", - "usr": "s:14DouShouQiModel4GameC" - }, - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - }, - { - "kind": "TypeNominal", - "name": "Rules", - "printedName": "DouShouQiModel.Rules", - "usr": "s:14DouShouQiModel5RulesP" - }, - { - "kind": "TypeNominal", - "name": "Player", - "printedName": "DouShouQiModel.Player", - "usr": "s:14DouShouQiModel6PlayerC" - }, - { - "kind": "TypeNominal", - "name": "Player", - "printedName": "DouShouQiModel.Player", - "usr": "s:14DouShouQiModel6PlayerC" - } - ], - "declKind": "Constructor", - "usr": "s:14DouShouQiModel4GameC9withBoard8andRules0H7Player10H7Player2AcA0G0V_AA0I0_pAA6PlayerCALtKcfc", - "mangledName": "$s14DouShouQiModel4GameC9withBoard8andRules0H7Player10H7Player2AcA0G0V_AA0I0_pAA6PlayerCALtKcfc", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl", - "RawDocComment" - ], - "throwing": true, - "init_kind": "Designated" - }, - { - "kind": "Function", - "name": "addGameStartedListener", - "printedName": "addGameStartedListener(_:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - }, - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.Board) -> ()", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - }, - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - } - ] - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel4GameC03addE15StartedListeneryyyAA5BoardVcF", - "mangledName": "$s14DouShouQiModel4GameC03addE15StartedListeneryyyAA5BoardVcF", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "funcSelfKind": "NonMutating" - }, - { - "kind": "Function", - "name": "addPlayerNotifiedListener", - "printedName": "addPlayerNotifiedListener(_:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - }, - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.Board, DouShouQiModel.Player) async throws -> ()", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - }, - { - "kind": "TypeNominal", - "name": "Tuple", - "printedName": "(DouShouQiModel.Board, DouShouQiModel.Player)", - "children": [ - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - }, - { - "kind": "TypeNominal", - "name": "Player", - "printedName": "DouShouQiModel.Player", - "usr": "s:14DouShouQiModel6PlayerC" - } - ] - } - ] - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel4GameC25addPlayerNotifiedListeneryyyAA5BoardV_AA0G0CtYaKcF", - "mangledName": "$s14DouShouQiModel4GameC25addPlayerNotifiedListeneryyyAA5BoardV_AA0G0CtYaKcF", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "funcSelfKind": "NonMutating" - }, - { - "kind": "Function", - "name": "addGameChangedListener", - "printedName": "addGameChangedListener(_:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - }, - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.Game) async -> ()", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - }, - { - "kind": "TypeNominal", - "name": "Game", - "printedName": "DouShouQiModel.Game", - "usr": "s:14DouShouQiModel4GameC" - } - ] - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel4GameC03addE15ChangedListeneryyyACYacF", - "mangledName": "$s14DouShouQiModel4GameC03addE15ChangedListeneryyyACYacF", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "funcSelfKind": "NonMutating" - }, - { - "kind": "Function", - "name": "addGameOverListener", - "printedName": "addGameOverListener(_:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - }, - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.Board, DouShouQiModel.Result, DouShouQiModel.Player?) -> ()", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - }, - { - "kind": "TypeNominal", - "name": "Tuple", - "printedName": "(DouShouQiModel.Board, DouShouQiModel.Result, DouShouQiModel.Player?)", - "children": [ - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - }, - { - "kind": "TypeNominal", - "name": "Result", - "printedName": "DouShouQiModel.Result", - "usr": "s:14DouShouQiModel6ResultO" - }, - { - "kind": "TypeNominal", - "name": "Optional", - "printedName": "DouShouQiModel.Player?", - "children": [ - { - "kind": "TypeNominal", - "name": "Player", - "printedName": "DouShouQiModel.Player", - "usr": "s:14DouShouQiModel6PlayerC" - } - ], - "usr": "s:Sq" - } - ] - } - ] - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel4GameC03addE12OverListeneryyyAA5BoardV_AA6ResultOAA6PlayerCSgtcF", - "mangledName": "$s14DouShouQiModel4GameC03addE12OverListeneryyyAA5BoardV_AA6ResultOAA6PlayerCSgtcF", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "funcSelfKind": "NonMutating" - }, - { - "kind": "Function", - "name": "addMoveChosenCallbacksListener", - "printedName": "addMoveChosenCallbacksListener(_:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - }, - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.Board, DouShouQiModel.Move, DouShouQiModel.Player) -> ()", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - }, - { - "kind": "TypeNominal", - "name": "Tuple", - "printedName": "(DouShouQiModel.Board, DouShouQiModel.Move, DouShouQiModel.Player)", - "children": [ - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - }, - { - "kind": "TypeNominal", - "name": "Move", - "printedName": "DouShouQiModel.Move", - "usr": "s:14DouShouQiModel4MoveV" - }, - { - "kind": "TypeNominal", - "name": "Player", - "printedName": "DouShouQiModel.Player", - "usr": "s:14DouShouQiModel6PlayerC" - } - ] - } - ] - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel4GameC30addMoveChosenCallbacksListeneryyyAA5BoardV_AA0G0VAA6PlayerCtcF", - "mangledName": "$s14DouShouQiModel4GameC30addMoveChosenCallbacksListeneryyyAA5BoardV_AA0G0VAA6PlayerCtcF", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "funcSelfKind": "NonMutating" - }, - { - "kind": "Function", - "name": "addInvalidMoveCallbacksListener", - "printedName": "addInvalidMoveCallbacksListener(_:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - }, - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.Board, DouShouQiModel.Move, DouShouQiModel.Player, Swift.Bool) -> ()", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - }, - { - "kind": "TypeNominal", - "name": "Tuple", - "printedName": "(DouShouQiModel.Board, DouShouQiModel.Move, DouShouQiModel.Player, Swift.Bool)", - "children": [ - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - }, - { - "kind": "TypeNominal", - "name": "Move", - "printedName": "DouShouQiModel.Move", - "usr": "s:14DouShouQiModel4MoveV" - }, - { - "kind": "TypeNominal", - "name": "Player", - "printedName": "DouShouQiModel.Player", - "usr": "s:14DouShouQiModel6PlayerC" - }, - { - "kind": "TypeNominal", - "name": "Bool", - "printedName": "Swift.Bool", - "usr": "s:Sb" - } - ] - } - ] - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel4GameC31addInvalidMoveCallbacksListeneryyyAA5BoardV_AA0H0VAA6PlayerCSbtcF", - "mangledName": "$s14DouShouQiModel4GameC31addInvalidMoveCallbacksListeneryyyAA5BoardV_AA0H0VAA6PlayerCSbtcF", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "funcSelfKind": "NonMutating" - }, - { - "kind": "Function", - "name": "addBoardChangedListener", - "printedName": "addBoardChangedListener(_:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - }, - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.Board) -> ()", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - }, - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - } - ] - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel4GameC23addBoardChangedListeneryyyAA0G0VcF", - "mangledName": "$s14DouShouQiModel4GameC23addBoardChangedListeneryyyAA0G0VcF", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "funcSelfKind": "NonMutating" - }, - { - "kind": "Function", - "name": "addPieceRemovedListener", - "printedName": "addPieceRemovedListener(_:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - }, - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(Swift.Int, Swift.Int, DouShouQiModel.Piece) -> ()", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - }, - { - "kind": "TypeNominal", - "name": "Tuple", - "printedName": "(Swift.Int, Swift.Int, DouShouQiModel.Piece)", - "children": [ - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - }, - { - "kind": "TypeNominal", - "name": "Piece", - "printedName": "DouShouQiModel.Piece", - "usr": "s:14DouShouQiModel5PieceV" - } - ] - } - ] - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel4GameC23addPieceRemovedListeneryyySi_SiAA0G0VtcF", - "mangledName": "$s14DouShouQiModel4GameC23addPieceRemovedListeneryyySi_SiAA0G0VtcF", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "funcSelfKind": "NonMutating" - }, - { - "kind": "Function", - "name": "onPlayed", - "printedName": "onPlayed(with:from:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - }, - { - "kind": "TypeNominal", - "name": "Optional", - "printedName": "DouShouQiModel.Move?", - "children": [ - { - "kind": "TypeNominal", - "name": "Move", - "printedName": "DouShouQiModel.Move", - "usr": "s:14DouShouQiModel4MoveV" - } - ], - "usr": "s:Sq" - }, - { - "kind": "TypeNominal", - "name": "Player", - "printedName": "DouShouQiModel.Player", - "usr": "s:14DouShouQiModel6PlayerC" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel4GameC8onPlayed4with4fromyAA4MoveVSg_AA6PlayerCtYaKF", - "mangledName": "$s14DouShouQiModel4GameC8onPlayed4with4fromyAA4MoveVSg_AA6PlayerCtYaKF", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "throwing": true, - "funcSelfKind": "NonMutating" - }, - { - "kind": "Var", - "name": "isOver", - "printedName": "isOver", - "children": [ - { - "kind": "TypeNominal", - "name": "Bool", - "printedName": "Swift.Bool", - "usr": "s:Sb" - } - ], - "declKind": "Var", - "usr": "s:14DouShouQiModel4GameC6isOverSbvp", - "mangledName": "$s14DouShouQiModel4GameC6isOverSbvp", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "HasInitialValue", - "HasStorage", - "SetterAccess", - "AccessControl" - ], - "hasStorage": true, - "accessors": [ - { - "kind": "Accessor", - "name": "Get", - "printedName": "Get()", - "children": [ - { - "kind": "TypeNominal", - "name": "Bool", - "printedName": "Swift.Bool", - "usr": "s:Sb" - } - ], - "declKind": "Accessor", - "usr": "s:14DouShouQiModel4GameC6isOverSbvg", - "mangledName": "$s14DouShouQiModel4GameC6isOverSbvg", - "moduleName": "DouShouQiModel", - "implicit": true, - "accessorKind": "get" - } - ] - }, - { - "kind": "Function", - "name": "start", - "printedName": "start()", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel4GameC5startyyYaKF", - "mangledName": "$s14DouShouQiModel4GameC5startyyYaKF", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "throwing": true, - "funcSelfKind": "NonMutating" - } - ], - "declKind": "Class", - "usr": "s:14DouShouQiModel4GameC", - "mangledName": "$s14DouShouQiModel4GameC", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl", - "RawDocComment" - ] - } - ], - "json_format_version": 8 - }, - "ConstValues": [ - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", - "kind": "IntegerLiteral", - "offset": 81, - "length": 1, - "value": "9" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", - "kind": "IntegerLiteral", - "offset": 111, - "length": 1, - "value": "7" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", - "kind": "IntegerLiteral", - "offset": 148, - "length": 1, - "value": "3" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", - "kind": "IntegerLiteral", - "offset": 3048, - "length": 1, - "value": "0" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", - "kind": "IntegerLiteral", - "offset": 3088, - "length": 1, - "value": "0" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", - "kind": "Array", - "offset": 3941, - "length": 2, - "value": "[]" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", - "kind": "Dictionary", - "offset": 4285, - "length": 3, - "value": "[]" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", - "kind": "Array", - "offset": 4475, - "length": 2, - "value": "[]" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", - "kind": "IntegerLiteral", - "offset": 4517, - "length": 1, - "value": "0" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", - "kind": "IntegerLiteral", - "offset": 4565, - "length": 1, - "value": "0" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", - "kind": "BooleanLiteral", - "offset": 4967, - "length": 5, - "value": "false" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", - "kind": "Array", - "offset": 6169, - "length": 2, - "value": "[]" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", - "kind": "IntegerLiteral", - "offset": 6189, - "length": 1, - "value": "0" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", - "kind": "IntegerLiteral", - "offset": 6229, - "length": 1, - "value": "0" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", - "kind": "IntegerLiteral", - "offset": 9685, - "length": 1, - "value": "0" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", - "kind": "IntegerLiteral", - "offset": 10586, - "length": 1, - "value": "0" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", - "kind": "IntegerLiteral", - "offset": 10906, - "length": 1, - "value": "0" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", - "kind": "IntegerLiteral", - "offset": 11013, - "length": 1, - "value": "0" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", - "kind": "Array", - "offset": 11170, - "length": 2, - "value": "[]" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", - "kind": "IntegerLiteral", - "offset": 11188, - "length": 1, - "value": "0" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", - "kind": "IntegerLiteral", - "offset": 11280, - "length": 1, - "value": "1" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", - "kind": "IntegerLiteral", - "offset": 11325, - "length": 1, - "value": "0" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", - "kind": "IntegerLiteral", - "offset": 11433, - "length": 1, - "value": "1" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", - "kind": "IntegerLiteral", - "offset": 11477, - "length": 1, - "value": "1" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", - "kind": "IntegerLiteral", - "offset": 11569, - "length": 1, - "value": "1" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", - "kind": "IntegerLiteral", - "offset": 11632, - "length": 1, - "value": "1" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", - "kind": "IntegerLiteral", - "offset": 11740, - "length": 1, - "value": "1" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", - "kind": "Array", - "offset": 12266, - "length": 2, - "value": "[]" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", - "kind": "IntegerLiteral", - "offset": 12307, - "length": 1, - "value": "1" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", - "kind": "IntegerLiteral", - "offset": 12319, - "length": 1, - "value": "0" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", - "kind": "IntegerLiteral", - "offset": 12326, - "length": 2, - "value": "-1" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", - "kind": "IntegerLiteral", - "offset": 12703, - "length": 1, - "value": "1" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", - "kind": "IntegerLiteral", - "offset": 12714, - "length": 1, - "value": "0" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", - "kind": "IntegerLiteral", - "offset": 12721, - "length": 2, - "value": "-1" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", - "kind": "IntegerLiteral", - "offset": 13086, - "length": 1, - "value": "1" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", - "kind": "IntegerLiteral", - "offset": 13464, - "length": 1, - "value": "1" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", - "kind": "BooleanLiteral", - "offset": 15597, - "length": 4, - "value": "true" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", - "kind": "IntegerLiteral", - "offset": 15704, - "length": 1, - "value": "0" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", - "kind": "BooleanLiteral", - "offset": 15728, - "length": 4, - "value": "true" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", - "kind": "IntegerLiteral", - "offset": 15845, - "length": 1, - "value": "0" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", - "kind": "BooleanLiteral", - "offset": 15869, - "length": 4, - "value": "true" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", - "kind": "BooleanLiteral", - "offset": 16049, - "length": 4, - "value": "true" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", - "kind": "BooleanLiteral", - "offset": 16149, - "length": 5, - "value": "false" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", - "kind": "IntegerLiteral", - "offset": 16579, - "length": 1, - "value": "0" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", - "kind": "IntegerLiteral", - "offset": 16584, - "length": 1, - "value": "1" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", - "kind": "Dictionary", - "offset": 16948, - "length": 3, - "value": "[]" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", - "kind": "Array", - "offset": 17004, - "length": 2, - "value": "[]" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Cell.swift", - "kind": "StringLiteral", - "offset": 122, - "length": 81, - "value": "\"\"" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Cell.swift", - "kind": "StringLiteral", - "offset": 147, - "length": 4, - "value": "\"ø\"" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Cell.swift", - "kind": "StringLiteral", - "offset": 152, - "length": 2, - "value": "\" on \"" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Cell.swift", - "kind": "StringLiteral", - "offset": 167, - "length": 1, - "value": "\", \"" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Cell.swift", - "kind": "StringLiteral", - "offset": 202, - "length": 1, - "value": "\"\"" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", - "kind": "IntegerLiteral", - "offset": 89, - "length": 1, - "value": "5" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", - "kind": "IntegerLiteral", - "offset": 119, - "length": 1, - "value": "5" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", - "kind": "IntegerLiteral", - "offset": 2067, - "length": 1, - "value": "0" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", - "kind": "IntegerLiteral", - "offset": 2107, - "length": 1, - "value": "0" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", - "kind": "IntegerLiteral", - "offset": 2267, - "length": 1, - "value": "0" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", - "kind": "IntegerLiteral", - "offset": 2277, - "length": 1, - "value": "2" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", - "kind": "IntegerLiteral", - "offset": 2419, - "length": 1, - "value": "4" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", - "kind": "IntegerLiteral", - "offset": 2429, - "length": 1, - "value": "2" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", - "kind": "IntegerLiteral", - "offset": 2964, - "length": 1, - "value": "0" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", - "kind": "IntegerLiteral", - "offset": 3004, - "length": 1, - "value": "0" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", - "kind": "Array", - "offset": 3773, - "length": 2, - "value": "[]" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", - "kind": "IntegerLiteral", - "offset": 3793, - "length": 1, - "value": "0" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", - "kind": "IntegerLiteral", - "offset": 3833, - "length": 1, - "value": "0" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", - "kind": "BooleanLiteral", - "offset": 4182, - "length": 4, - "value": "true" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", - "kind": "BooleanLiteral", - "offset": 4292, - "length": 5, - "value": "false" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", - "kind": "Array", - "offset": 4531, - "length": 2, - "value": "[]" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", - "kind": "Array", - "offset": 4639, - "length": 2, - "value": "[]" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", - "kind": "IntegerLiteral", - "offset": 4773, - "length": 1, - "value": "1" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", - "kind": "IntegerLiteral", - "offset": 4782, - "length": 1, - "value": "1" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", - "kind": "IntegerLiteral", - "offset": 4800, - "length": 1, - "value": "1" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", - "kind": "IntegerLiteral", - "offset": 4809, - "length": 1, - "value": "1" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", - "kind": "IntegerLiteral", - "offset": 4925, - "length": 1, - "value": "0" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", - "kind": "IntegerLiteral", - "offset": 5013, - "length": 1, - "value": "0" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", - "kind": "BooleanLiteral", - "offset": 6962, - "length": 4, - "value": "true" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", - "kind": "IntegerLiteral", - "offset": 7077, - "length": 1, - "value": "0" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", - "kind": "BooleanLiteral", - "offset": 7105, - "length": 4, - "value": "true" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", - "kind": "IntegerLiteral", - "offset": 7230, - "length": 1, - "value": "0" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", - "kind": "BooleanLiteral", - "offset": 7258, - "length": 4, - "value": "true" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", - "kind": "BooleanLiteral", - "offset": 7350, - "length": 5, - "value": "false" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", - "kind": "Dictionary", - "offset": 8072, - "length": 3, - "value": "[]" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", - "kind": "Array", - "offset": 8128, - "length": 2, - "value": "[]" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Player.swift", - "kind": "Array", - "offset": 418, - "length": 2, - "value": "[]" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Board.swift", - "kind": "BooleanLiteral", - "offset": 475, - "length": 5, - "value": "false" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Board.swift", - "kind": "IntegerLiteral", - "offset": 570, - "length": 1, - "value": "0" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Board.swift", - "kind": "IntegerLiteral", - "offset": 694, - "length": 1, - "value": "0" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Board.swift", - "kind": "IntegerLiteral", - "offset": 981, - "length": 1, - "value": "0" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Board.swift", - "kind": "IntegerLiteral", - "offset": 996, - "length": 1, - "value": "0" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Board.swift", - "kind": "IntegerLiteral", - "offset": 1015, - "length": 1, - "value": "0" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Board.swift", - "kind": "IntegerLiteral", - "offset": 1049, - "length": 1, - "value": "0" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Board.swift", - "kind": "IntegerLiteral", - "offset": 1212, - "length": 1, - "value": "1" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Board.swift", - "kind": "IntegerLiteral", - "offset": 1278, - "length": 1, - "value": "1" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Board.swift", - "kind": "IntegerLiteral", - "offset": 1548, - "length": 1, - "value": "0" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Board.swift", - "kind": "IntegerLiteral", - "offset": 1579, - "length": 1, - "value": "0" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Board.swift", - "kind": "IntegerLiteral", - "offset": 1979, - "length": 1, - "value": "0" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Board.swift", - "kind": "IntegerLiteral", - "offset": 2010, - "length": 1, - "value": "0" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Piece.swift", - "kind": "StringLiteral", - "offset": 122, - "length": 40, - "value": "\"[\"" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Piece.swift", - "kind": "StringLiteral", - "offset": 150, - "length": 1, - "value": "\":\"" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Piece.swift", - "kind": "StringLiteral", - "offset": 160, - "length": 1, - "value": "\"]\"" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Owner.swift", - "kind": "StringLiteral", - "offset": 183, - "length": 3, - "value": "\"x\"" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Owner.swift", - "kind": "StringLiteral", - "offset": 229, - "length": 3, - "value": "\"1\"" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Owner.swift", - "kind": "StringLiteral", - "offset": 275, - "length": 3, - "value": "\"2\"" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Move.swift", - "kind": "StringLiteral", - "offset": 616, - "length": 87, - "value": "\"\"" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Move.swift", - "kind": "StringLiteral", - "offset": 625, - "length": 1, - "value": "\": [\"" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Move.swift", - "kind": "StringLiteral", - "offset": 640, - "length": 1, - "value": "\",\"" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Move.swift", - "kind": "StringLiteral", - "offset": 656, - "length": 1, - "value": "\"] -> [\"" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Move.swift", - "kind": "StringLiteral", - "offset": 679, - "length": 1, - "value": "\", \"" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Move.swift", - "kind": "StringLiteral", - "offset": 701, - "length": 1, - "value": "\"]\"" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", - "kind": "IntegerLiteral", - "offset": 60, - "length": 1, - "value": "1" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", - "kind": "IntegerLiteral", - "offset": 63, - "length": 3, - "value": "2" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", - "kind": "IntegerLiteral", - "offset": 68, - "length": 3, - "value": "3" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", - "kind": "IntegerLiteral", - "offset": 73, - "length": 4, - "value": "4" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", - "kind": "IntegerLiteral", - "offset": 79, - "length": 7, - "value": "5" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", - "kind": "IntegerLiteral", - "offset": 88, - "length": 5, - "value": "6" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", - "kind": "IntegerLiteral", - "offset": 95, - "length": 4, - "value": "7" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", - "kind": "IntegerLiteral", - "offset": 101, - "length": 8, - "value": "8" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", - "kind": "IntegerLiteral", - "offset": 60, - "length": 1, - "value": "1" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", - "kind": "IntegerLiteral", - "offset": 63, - "length": 3, - "value": "2" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", - "kind": "IntegerLiteral", - "offset": 68, - "length": 3, - "value": "3" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", - "kind": "IntegerLiteral", - "offset": 73, - "length": 4, - "value": "4" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", - "kind": "IntegerLiteral", - "offset": 79, - "length": 7, - "value": "5" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", - "kind": "IntegerLiteral", - "offset": 88, - "length": 5, - "value": "6" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", - "kind": "IntegerLiteral", - "offset": 95, - "length": 4, - "value": "7" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", - "kind": "IntegerLiteral", - "offset": 101, - "length": 8, - "value": "8" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", - "kind": "IntegerLiteral", - "offset": 60, - "length": 1, - "value": "1" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", - "kind": "IntegerLiteral", - "offset": 63, - "length": 3, - "value": "2" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", - "kind": "IntegerLiteral", - "offset": 68, - "length": 3, - "value": "3" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", - "kind": "IntegerLiteral", - "offset": 73, - "length": 4, - "value": "4" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", - "kind": "IntegerLiteral", - "offset": 79, - "length": 7, - "value": "5" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", - "kind": "IntegerLiteral", - "offset": 88, - "length": 5, - "value": "6" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", - "kind": "IntegerLiteral", - "offset": 95, - "length": 4, - "value": "7" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", - "kind": "IntegerLiteral", - "offset": 101, - "length": 8, - "value": "8" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Game.swift", - "kind": "StringLiteral", - "offset": 513, - "length": 55, - "value": "\"The ids of players are not .player1 and then .player2\"" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Game.swift", - "kind": "StringLiteral", - "offset": 1483, - "length": 55, - "value": "\"The ids of players are not .player1 and then .player2\"" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Game.swift", - "kind": "Array", - "offset": 1754, - "length": 2, - "value": "[]" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Game.swift", - "kind": "Array", - "offset": 2090, - "length": 2, - "value": "[]" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Game.swift", - "kind": "Array", - "offset": 2582, - "length": 2, - "value": "[]" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Game.swift", - "kind": "Array", - "offset": 3012, - "length": 2, - "value": "[]" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Game.swift", - "kind": "Array", - "offset": 3416, - "length": 2, - "value": "[]" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Game.swift", - "kind": "Array", - "offset": 3827, - "length": 2, - "value": "[]" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Game.swift", - "kind": "Array", - "offset": 4261, - "length": 2, - "value": "[]" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Game.swift", - "kind": "Array", - "offset": 4580, - "length": 2, - "value": "[]" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Game.swift", - "kind": "BooleanLiteral", - "offset": 6361, - "length": 4, - "value": "true" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Game.swift", - "kind": "BooleanLiteral", - "offset": 7044, - "length": 5, - "value": "false" - } - ] -} \ No newline at end of file diff --git a/DouShouQi_App/DSQ.xcframework/ios-arm64_x86_64-simulator/DouShouQiModel.framework/Modules/DouShouQiModel.swiftmodule/x86_64-apple-ios-simulator.private.swiftinterface b/DouShouQi_App/DSQ.xcframework/ios-arm64_x86_64-simulator/DouShouQiModel.framework/Modules/DouShouQiModel.swiftmodule/x86_64-apple-ios-simulator.private.swiftinterface deleted file mode 100644 index 9404081..0000000 --- a/DouShouQi_App/DSQ.xcframework/ios-arm64_x86_64-simulator/DouShouQiModel.framework/Modules/DouShouQiModel.swiftmodule/x86_64-apple-ios-simulator.private.swiftinterface +++ /dev/null @@ -1,266 +0,0 @@ -// swift-interface-format-version: 1.0 -// swift-compiler-version: Apple Swift version 5.9.2 (swiftlang-5.9.2.2.56 clang-1500.1.0.2.5) -// swift-module-flags: -target x86_64-apple-ios16.0-simulator -enable-objc-interop -enable-library-evolution -swift-version 5 -enforce-exclusivity=checked -O -module-name DouShouQiModel -// swift-module-flags-ignorable: -enable-bare-slash-regex -@_exported import DouShouQiModel -import Foundation -import Swift -import _Concurrency -import _StringProcessing -import _SwiftConcurrencyShims -public enum Result : Swift.Equatable { - case notFinished - case even - case winner(winner: DouShouQiModel.Owner, reason: DouShouQiModel.WinningReason) - public static func == (a: DouShouQiModel.Result, b: DouShouQiModel.Result) -> Swift.Bool -} -public enum WinningReason { - case denReached, noMorePieces, tooManyOccurences, noMovesLeft - public static func == (a: DouShouQiModel.WinningReason, b: DouShouQiModel.WinningReason) -> Swift.Bool - public func hash(into hasher: inout Swift.Hasher) - public var hashValue: Swift.Int { - get - } -} -public enum BoardResult : Swift.Equatable { - case unknown - case ok(piece: DouShouQiModel.Piece?) - case failed(reason: DouShouQiModel.BoardFailingReason) - public static func == (a: DouShouQiModel.BoardResult, b: DouShouQiModel.BoardResult) -> Swift.Bool -} -public enum BoardFailingReason { - case unknown, outOfBounds, cellNotEmpty, cellEmpty - public static func == (a: DouShouQiModel.BoardFailingReason, b: DouShouQiModel.BoardFailingReason) -> Swift.Bool - public func hash(into hasher: inout Swift.Hasher) - public var hashValue: Swift.Int { - get - } -} -@_inheritsConvenienceInitializers public class HumanPlayer : DouShouQiModel.Player { - public init?(withName name: Swift.String, andId id: DouShouQiModel.Owner, andInputMethod input: @escaping (_ hp: DouShouQiModel.HumanPlayer) -> DouShouQiModel.Move?) - override public init?(withName name: Swift.String, andId id: DouShouQiModel.Owner) - #if compiler(>=5.3) && $AsyncAwait - override public func chooseMove(in board: DouShouQiModel.Board, with rules: any DouShouQiModel.Rules) async throws - #endif - public func changeInput(input: @escaping (_ hp: DouShouQiModel.HumanPlayer) -> DouShouQiModel.Move?) - #if compiler(>=5.3) && $AsyncAwait - public func chooseMove(_ move: DouShouQiModel.Move?) async throws - #endif - @objc deinit -} -public struct ClassicRules : DouShouQiModel.Rules { - public static func createBoard() -> DouShouQiModel.Board - public static func checkBoard(_ board: DouShouQiModel.Board) throws - public init() - public init(occurences: [DouShouQiModel.Board : Swift.Int], historic: [DouShouQiModel.Move]) - public func getMoves(in board: DouShouQiModel.Board, of owner: DouShouQiModel.Owner) -> [DouShouQiModel.Move] - public func getMoves(in board: DouShouQiModel.Board, of owner: DouShouQiModel.Owner, fromRow row: Swift.Int, andColumn col: Swift.Int) -> [DouShouQiModel.Move] - public func isMoveValid(onBoard board: DouShouQiModel.Board, fromRow originRow: Swift.Int, andFromColumn originColumn: Swift.Int, toRow destinationRow: Swift.Int, andToColumn destinationColumn: Swift.Int) -> Swift.Bool - public func isMoveValid(onBoard board: DouShouQiModel.Board, withMove move: DouShouQiModel.Move) -> Swift.Bool - public func isGameOver(withBoard board: DouShouQiModel.Board, andLastRowPlayed lastRow: Swift.Int, andLastColumnPlayer lastColumn: Swift.Int) -> (Swift.Bool, DouShouQiModel.Result) - public mutating func playedMove(_ move: DouShouQiModel.Move, onStartingBoard board: DouShouQiModel.Board, andResultingBoard resultingBoard: DouShouQiModel.Board) throws - public func getNextPlayer() -> DouShouQiModel.Owner - public var occurences: [DouShouQiModel.Board : Swift.Int] { - get - } - public var historic: [DouShouQiModel.Move] { - get - } -} -public struct Cell : Swift.CustomStringConvertible, Swift.Equatable { - public var description: Swift.String { - get - } - public let cellType: DouShouQiModel.CellType - public let initialOwner: DouShouQiModel.Owner - public var piece: DouShouQiModel.Piece? - public init(ofType cellType: DouShouQiModel.CellType, ownedBy initialOwner: DouShouQiModel.Owner = .noOne, withPiece piece: DouShouQiModel.Piece? = nil) - public static func == (a: DouShouQiModel.Cell, b: DouShouQiModel.Cell) -> Swift.Bool -} -public struct VerySimpleRules : DouShouQiModel.Rules { - public static func createBoard() -> DouShouQiModel.Board - public static func checkBoard(_ board: DouShouQiModel.Board) throws - public init() - public init(occurences: [DouShouQiModel.Board : Swift.Int], historic: [DouShouQiModel.Move]) - public func getMoves(in board: DouShouQiModel.Board, of owner: DouShouQiModel.Owner) -> [DouShouQiModel.Move] - public func getMoves(in board: DouShouQiModel.Board, of owner: DouShouQiModel.Owner, fromRow row: Swift.Int, andColumn col: Swift.Int) -> [DouShouQiModel.Move] - public func isMoveValid(onBoard board: DouShouQiModel.Board, fromRow originRow: Swift.Int, andFromColumn originColumn: Swift.Int, toRow destinationRow: Swift.Int, andToColumn destinationColumn: Swift.Int) -> Swift.Bool - public func isMoveValid(onBoard board: DouShouQiModel.Board, withMove move: DouShouQiModel.Move) -> Swift.Bool - public func isGameOver(withBoard board: DouShouQiModel.Board, andLastRowPlayed lastRow: Swift.Int, andLastColumnPlayer lastColumn: Swift.Int) -> (Swift.Bool, DouShouQiModel.Result) - public mutating func playedMove(_ move: DouShouQiModel.Move, onStartingBoard board: DouShouQiModel.Board, andResultingBoard resultingBoard: DouShouQiModel.Board) throws - public func getNextPlayer() -> DouShouQiModel.Owner - public var occurences: [DouShouQiModel.Board : Swift.Int] { - get - } - public var historic: [DouShouQiModel.Move] { - get - } -} -public protocol Rules { - static func createBoard() -> DouShouQiModel.Board - static func checkBoard(_ board: DouShouQiModel.Board) throws - func getNextPlayer() -> DouShouQiModel.Owner - func getMoves(in board: DouShouQiModel.Board, of: DouShouQiModel.Owner) -> [DouShouQiModel.Move] - func getMoves(in board: DouShouQiModel.Board, of: DouShouQiModel.Owner, fromRow row: Swift.Int, andColumn col: Swift.Int) -> [DouShouQiModel.Move] - func isMoveValid(onBoard: DouShouQiModel.Board, fromRow: Swift.Int, andFromColumn: Swift.Int, toRow: Swift.Int, andToColumn: Swift.Int) -> Swift.Bool - func isMoveValid(onBoard: DouShouQiModel.Board, withMove move: DouShouQiModel.Move) -> Swift.Bool - func isGameOver(withBoard: DouShouQiModel.Board, andLastRowPlayed: Swift.Int, andLastColumnPlayer: Swift.Int) -> (Swift.Bool, DouShouQiModel.Result) - mutating func playedMove(_ move: DouShouQiModel.Move, onStartingBoard board: DouShouQiModel.Board, andResultingBoard resultingBoard: DouShouQiModel.Board) throws - var occurences: [DouShouQiModel.Board : Swift.Int] { get } - var historic: [DouShouQiModel.Move] { get } -} -public class Player { - final public let name: Swift.String - final public let id: DouShouQiModel.Owner - public init?(withName name: Swift.String, andId id: DouShouQiModel.Owner) - #if compiler(>=5.3) && $AsyncAwait - public func chooseMove(in board: DouShouQiModel.Board, with rules: any DouShouQiModel.Rules) async throws - #endif - #if compiler(>=5.3) && $AsyncAwait - public func addPlayedCallbacksListener(_ listener: @escaping (DouShouQiModel.Move?, DouShouQiModel.Player) async throws -> Swift.Void) - #endif - #if compiler(>=5.3) && $AsyncAwait - public func notifyPlayed(withMove move: DouShouQiModel.Move?, andPlayer player: DouShouQiModel.Player) async throws - #endif - @objc deinit -} -public enum GameError : Swift.Error { - case invalidMove, nextPlayerError, badPlayerId(message: Swift.String), invalidRules, invalidPlayer, invalidGame, invalidBoard -} -@_inheritsConvenienceInitializers public class RandomPlayer : DouShouQiModel.IAPlayer { - #if compiler(>=5.3) && $AsyncAwait - override public func chooseMove(in board: DouShouQiModel.Board, with rules: any DouShouQiModel.Rules) async throws - #endif - override public init?(withName name: Swift.String, andId id: DouShouQiModel.Owner) - @objc deinit -} -public enum CellType : Swift.CaseIterable { - case unknown, jungle, water, trap, den - public static func == (a: DouShouQiModel.CellType, b: DouShouQiModel.CellType) -> Swift.Bool - public func hash(into hasher: inout Swift.Hasher) - public typealias AllCases = [DouShouQiModel.CellType] - public static var allCases: [DouShouQiModel.CellType] { - get - } - public var hashValue: Swift.Int { - get - } -} -public struct Board : Swift.Hashable { - public func hash(into hasher: inout Swift.Hasher) - public let nbRows: Swift.Int - public let nbColumns: Swift.Int - public var grid: [[DouShouQiModel.Cell]] { - get - } - public init?(withGrid grid: [[DouShouQiModel.Cell]]) - public func countPieces(of owner: DouShouQiModel.Owner) -> Swift.Int - public func countPieces() -> (nbOfPiecesOfPlayer1: Swift.Int, nbOfPiecesOfPlayer2: Swift.Int) - public mutating func insert(piece: DouShouQiModel.Piece, atRow row: Swift.Int, andColumn column: Swift.Int) -> DouShouQiModel.BoardResult - public mutating func removePiece(atRow row: Swift.Int, andColumn column: Swift.Int) -> DouShouQiModel.BoardResult - public static func == (a: DouShouQiModel.Board, b: DouShouQiModel.Board) -> Swift.Bool - public var hashValue: Swift.Int { - get - } -} -public struct Piece : Swift.CustomStringConvertible, Swift.Hashable { - public var description: Swift.String { - get - } - public let owner: DouShouQiModel.Owner - public let animal: DouShouQiModel.Animal - public init(withOwner owner: DouShouQiModel.Owner, andAnimal animal: DouShouQiModel.Animal) - public func hash(into hasher: inout Swift.Hasher) - public static func == (a: DouShouQiModel.Piece, b: DouShouQiModel.Piece) -> Swift.Bool - public var hashValue: Swift.Int { - get - } -} -public enum InvalidBoardError : Swift.Error, Swift.Equatable { - case unknownError - case badDimensions(nbRows: Swift.Int, nbColumns: Swift.Int) - case badCellType(cellType: DouShouQiModel.CellType, row: Swift.Int, column: Swift.Int) - case multipleOccurenceOfSamePiece(piece: DouShouQiModel.Piece) - case pieceWithNoOwner(piece: DouShouQiModel.Piece) - case pieceNotAllowedOnThisCell(piece: DouShouQiModel.Piece, cell: DouShouQiModel.Cell) - public static func == (a: DouShouQiModel.InvalidBoardError, b: DouShouQiModel.InvalidBoardError) -> Swift.Bool -} -public enum Owner { - case noOne, player1, player2 - public var simpleDescription: Swift.String { - get - } - public static func == (a: DouShouQiModel.Owner, b: DouShouQiModel.Owner) -> Swift.Bool - public func hash(into hasher: inout Swift.Hasher) - public var hashValue: Swift.Int { - get - } -} -@_inheritsConvenienceInitializers public class IAPlayer : DouShouQiModel.Player { - override public init?(withName name: Swift.String, andId id: DouShouQiModel.Owner) - @objc deinit -} -public struct Move : Swift.CustomStringConvertible, Swift.Equatable { - public let owner: DouShouQiModel.Owner - public let rowOrigin: Swift.Int - public let columnOrigin: Swift.Int - public let rowDestination: Swift.Int - public let columnDestination: Swift.Int - public init(of owner: DouShouQiModel.Owner, fromRow rowOrigin: Swift.Int, andFromColumn colOrigin: Swift.Int, toRow rowDest: Swift.Int, andToColumn colDest: Swift.Int) - public var description: Swift.String { - get - } - public static func == (a: DouShouQiModel.Move, b: DouShouQiModel.Move) -> Swift.Bool -} -public enum Animal : Swift.Int { - case rat, cat, dog, wolf, leopard, tiger, lion, elephant - public init?(rawValue: Swift.Int) - public typealias RawValue = Swift.Int - public var rawValue: Swift.Int { - get - } -} -public class Game { - public var board: DouShouQiModel.Board { - get - } - public var rules: any DouShouQiModel.Rules { - get - } - final public let players: [DouShouQiModel.Owner : DouShouQiModel.Player] - public init(withRules rules: any DouShouQiModel.Rules, andPlayer1 player1: DouShouQiModel.Player, andPlayer2 player2: DouShouQiModel.Player) throws - public init(withBoard board: DouShouQiModel.Board, andRules rules: any DouShouQiModel.Rules, andPlayer1 player1: DouShouQiModel.Player, andPlayer2 player2: DouShouQiModel.Player) throws - public func addGameStartedListener(_ listener: @escaping (DouShouQiModel.Board) -> Swift.Void) - #if compiler(>=5.3) && $AsyncAwait - public func addPlayerNotifiedListener(_ listener: @escaping (DouShouQiModel.Board, DouShouQiModel.Player) async throws -> Swift.Void) - #endif - #if compiler(>=5.3) && $AsyncAwait - public func addGameChangedListener(_ listener: @escaping (DouShouQiModel.Game) async -> Swift.Void) - #endif - public func addGameOverListener(_ listener: @escaping (DouShouQiModel.Board, DouShouQiModel.Result, DouShouQiModel.Player?) -> Swift.Void) - public func addMoveChosenCallbacksListener(_ listener: @escaping (DouShouQiModel.Board, DouShouQiModel.Move, DouShouQiModel.Player) -> Swift.Void) - public func addInvalidMoveCallbacksListener(_ listener: @escaping (DouShouQiModel.Board, DouShouQiModel.Move, DouShouQiModel.Player, Swift.Bool) -> Swift.Void) - public func addBoardChangedListener(_ listener: @escaping (DouShouQiModel.Board) -> Swift.Void) - public func addPieceRemovedListener(_ listener: @escaping (Swift.Int, Swift.Int, DouShouQiModel.Piece) -> Swift.Void) - #if compiler(>=5.3) && $AsyncAwait - public func onPlayed(with move: DouShouQiModel.Move?, from player: DouShouQiModel.Player) async throws - #endif - public var isOver: Swift.Bool { - get - } - #if compiler(>=5.3) && $AsyncAwait - public func start() async throws - #endif - @objc deinit -} -extension DouShouQiModel.WinningReason : Swift.Equatable {} -extension DouShouQiModel.WinningReason : Swift.Hashable {} -extension DouShouQiModel.BoardFailingReason : Swift.Equatable {} -extension DouShouQiModel.BoardFailingReason : Swift.Hashable {} -extension DouShouQiModel.CellType : Swift.Equatable {} -extension DouShouQiModel.CellType : Swift.Hashable {} -extension DouShouQiModel.Owner : Swift.Equatable {} -extension DouShouQiModel.Owner : Swift.Hashable {} -extension DouShouQiModel.Animal : Swift.Equatable {} -extension DouShouQiModel.Animal : Swift.Hashable {} -extension DouShouQiModel.Animal : Swift.RawRepresentable {} diff --git a/DouShouQi_App/DSQ.xcframework/ios-arm64_x86_64-simulator/DouShouQiModel.framework/Modules/DouShouQiModel.swiftmodule/x86_64-apple-ios-simulator.swiftdoc b/DouShouQi_App/DSQ.xcframework/ios-arm64_x86_64-simulator/DouShouQiModel.framework/Modules/DouShouQiModel.swiftmodule/x86_64-apple-ios-simulator.swiftdoc deleted file mode 100644 index a83d9d1..0000000 Binary files a/DouShouQi_App/DSQ.xcframework/ios-arm64_x86_64-simulator/DouShouQiModel.framework/Modules/DouShouQiModel.swiftmodule/x86_64-apple-ios-simulator.swiftdoc and /dev/null differ diff --git a/DouShouQi_App/DSQ.xcframework/ios-arm64_x86_64-simulator/DouShouQiModel.framework/Modules/DouShouQiModel.swiftmodule/x86_64-apple-ios-simulator.swiftinterface b/DouShouQi_App/DSQ.xcframework/ios-arm64_x86_64-simulator/DouShouQiModel.framework/Modules/DouShouQiModel.swiftmodule/x86_64-apple-ios-simulator.swiftinterface deleted file mode 100644 index 9404081..0000000 --- a/DouShouQi_App/DSQ.xcframework/ios-arm64_x86_64-simulator/DouShouQiModel.framework/Modules/DouShouQiModel.swiftmodule/x86_64-apple-ios-simulator.swiftinterface +++ /dev/null @@ -1,266 +0,0 @@ -// swift-interface-format-version: 1.0 -// swift-compiler-version: Apple Swift version 5.9.2 (swiftlang-5.9.2.2.56 clang-1500.1.0.2.5) -// swift-module-flags: -target x86_64-apple-ios16.0-simulator -enable-objc-interop -enable-library-evolution -swift-version 5 -enforce-exclusivity=checked -O -module-name DouShouQiModel -// swift-module-flags-ignorable: -enable-bare-slash-regex -@_exported import DouShouQiModel -import Foundation -import Swift -import _Concurrency -import _StringProcessing -import _SwiftConcurrencyShims -public enum Result : Swift.Equatable { - case notFinished - case even - case winner(winner: DouShouQiModel.Owner, reason: DouShouQiModel.WinningReason) - public static func == (a: DouShouQiModel.Result, b: DouShouQiModel.Result) -> Swift.Bool -} -public enum WinningReason { - case denReached, noMorePieces, tooManyOccurences, noMovesLeft - public static func == (a: DouShouQiModel.WinningReason, b: DouShouQiModel.WinningReason) -> Swift.Bool - public func hash(into hasher: inout Swift.Hasher) - public var hashValue: Swift.Int { - get - } -} -public enum BoardResult : Swift.Equatable { - case unknown - case ok(piece: DouShouQiModel.Piece?) - case failed(reason: DouShouQiModel.BoardFailingReason) - public static func == (a: DouShouQiModel.BoardResult, b: DouShouQiModel.BoardResult) -> Swift.Bool -} -public enum BoardFailingReason { - case unknown, outOfBounds, cellNotEmpty, cellEmpty - public static func == (a: DouShouQiModel.BoardFailingReason, b: DouShouQiModel.BoardFailingReason) -> Swift.Bool - public func hash(into hasher: inout Swift.Hasher) - public var hashValue: Swift.Int { - get - } -} -@_inheritsConvenienceInitializers public class HumanPlayer : DouShouQiModel.Player { - public init?(withName name: Swift.String, andId id: DouShouQiModel.Owner, andInputMethod input: @escaping (_ hp: DouShouQiModel.HumanPlayer) -> DouShouQiModel.Move?) - override public init?(withName name: Swift.String, andId id: DouShouQiModel.Owner) - #if compiler(>=5.3) && $AsyncAwait - override public func chooseMove(in board: DouShouQiModel.Board, with rules: any DouShouQiModel.Rules) async throws - #endif - public func changeInput(input: @escaping (_ hp: DouShouQiModel.HumanPlayer) -> DouShouQiModel.Move?) - #if compiler(>=5.3) && $AsyncAwait - public func chooseMove(_ move: DouShouQiModel.Move?) async throws - #endif - @objc deinit -} -public struct ClassicRules : DouShouQiModel.Rules { - public static func createBoard() -> DouShouQiModel.Board - public static func checkBoard(_ board: DouShouQiModel.Board) throws - public init() - public init(occurences: [DouShouQiModel.Board : Swift.Int], historic: [DouShouQiModel.Move]) - public func getMoves(in board: DouShouQiModel.Board, of owner: DouShouQiModel.Owner) -> [DouShouQiModel.Move] - public func getMoves(in board: DouShouQiModel.Board, of owner: DouShouQiModel.Owner, fromRow row: Swift.Int, andColumn col: Swift.Int) -> [DouShouQiModel.Move] - public func isMoveValid(onBoard board: DouShouQiModel.Board, fromRow originRow: Swift.Int, andFromColumn originColumn: Swift.Int, toRow destinationRow: Swift.Int, andToColumn destinationColumn: Swift.Int) -> Swift.Bool - public func isMoveValid(onBoard board: DouShouQiModel.Board, withMove move: DouShouQiModel.Move) -> Swift.Bool - public func isGameOver(withBoard board: DouShouQiModel.Board, andLastRowPlayed lastRow: Swift.Int, andLastColumnPlayer lastColumn: Swift.Int) -> (Swift.Bool, DouShouQiModel.Result) - public mutating func playedMove(_ move: DouShouQiModel.Move, onStartingBoard board: DouShouQiModel.Board, andResultingBoard resultingBoard: DouShouQiModel.Board) throws - public func getNextPlayer() -> DouShouQiModel.Owner - public var occurences: [DouShouQiModel.Board : Swift.Int] { - get - } - public var historic: [DouShouQiModel.Move] { - get - } -} -public struct Cell : Swift.CustomStringConvertible, Swift.Equatable { - public var description: Swift.String { - get - } - public let cellType: DouShouQiModel.CellType - public let initialOwner: DouShouQiModel.Owner - public var piece: DouShouQiModel.Piece? - public init(ofType cellType: DouShouQiModel.CellType, ownedBy initialOwner: DouShouQiModel.Owner = .noOne, withPiece piece: DouShouQiModel.Piece? = nil) - public static func == (a: DouShouQiModel.Cell, b: DouShouQiModel.Cell) -> Swift.Bool -} -public struct VerySimpleRules : DouShouQiModel.Rules { - public static func createBoard() -> DouShouQiModel.Board - public static func checkBoard(_ board: DouShouQiModel.Board) throws - public init() - public init(occurences: [DouShouQiModel.Board : Swift.Int], historic: [DouShouQiModel.Move]) - public func getMoves(in board: DouShouQiModel.Board, of owner: DouShouQiModel.Owner) -> [DouShouQiModel.Move] - public func getMoves(in board: DouShouQiModel.Board, of owner: DouShouQiModel.Owner, fromRow row: Swift.Int, andColumn col: Swift.Int) -> [DouShouQiModel.Move] - public func isMoveValid(onBoard board: DouShouQiModel.Board, fromRow originRow: Swift.Int, andFromColumn originColumn: Swift.Int, toRow destinationRow: Swift.Int, andToColumn destinationColumn: Swift.Int) -> Swift.Bool - public func isMoveValid(onBoard board: DouShouQiModel.Board, withMove move: DouShouQiModel.Move) -> Swift.Bool - public func isGameOver(withBoard board: DouShouQiModel.Board, andLastRowPlayed lastRow: Swift.Int, andLastColumnPlayer lastColumn: Swift.Int) -> (Swift.Bool, DouShouQiModel.Result) - public mutating func playedMove(_ move: DouShouQiModel.Move, onStartingBoard board: DouShouQiModel.Board, andResultingBoard resultingBoard: DouShouQiModel.Board) throws - public func getNextPlayer() -> DouShouQiModel.Owner - public var occurences: [DouShouQiModel.Board : Swift.Int] { - get - } - public var historic: [DouShouQiModel.Move] { - get - } -} -public protocol Rules { - static func createBoard() -> DouShouQiModel.Board - static func checkBoard(_ board: DouShouQiModel.Board) throws - func getNextPlayer() -> DouShouQiModel.Owner - func getMoves(in board: DouShouQiModel.Board, of: DouShouQiModel.Owner) -> [DouShouQiModel.Move] - func getMoves(in board: DouShouQiModel.Board, of: DouShouQiModel.Owner, fromRow row: Swift.Int, andColumn col: Swift.Int) -> [DouShouQiModel.Move] - func isMoveValid(onBoard: DouShouQiModel.Board, fromRow: Swift.Int, andFromColumn: Swift.Int, toRow: Swift.Int, andToColumn: Swift.Int) -> Swift.Bool - func isMoveValid(onBoard: DouShouQiModel.Board, withMove move: DouShouQiModel.Move) -> Swift.Bool - func isGameOver(withBoard: DouShouQiModel.Board, andLastRowPlayed: Swift.Int, andLastColumnPlayer: Swift.Int) -> (Swift.Bool, DouShouQiModel.Result) - mutating func playedMove(_ move: DouShouQiModel.Move, onStartingBoard board: DouShouQiModel.Board, andResultingBoard resultingBoard: DouShouQiModel.Board) throws - var occurences: [DouShouQiModel.Board : Swift.Int] { get } - var historic: [DouShouQiModel.Move] { get } -} -public class Player { - final public let name: Swift.String - final public let id: DouShouQiModel.Owner - public init?(withName name: Swift.String, andId id: DouShouQiModel.Owner) - #if compiler(>=5.3) && $AsyncAwait - public func chooseMove(in board: DouShouQiModel.Board, with rules: any DouShouQiModel.Rules) async throws - #endif - #if compiler(>=5.3) && $AsyncAwait - public func addPlayedCallbacksListener(_ listener: @escaping (DouShouQiModel.Move?, DouShouQiModel.Player) async throws -> Swift.Void) - #endif - #if compiler(>=5.3) && $AsyncAwait - public func notifyPlayed(withMove move: DouShouQiModel.Move?, andPlayer player: DouShouQiModel.Player) async throws - #endif - @objc deinit -} -public enum GameError : Swift.Error { - case invalidMove, nextPlayerError, badPlayerId(message: Swift.String), invalidRules, invalidPlayer, invalidGame, invalidBoard -} -@_inheritsConvenienceInitializers public class RandomPlayer : DouShouQiModel.IAPlayer { - #if compiler(>=5.3) && $AsyncAwait - override public func chooseMove(in board: DouShouQiModel.Board, with rules: any DouShouQiModel.Rules) async throws - #endif - override public init?(withName name: Swift.String, andId id: DouShouQiModel.Owner) - @objc deinit -} -public enum CellType : Swift.CaseIterable { - case unknown, jungle, water, trap, den - public static func == (a: DouShouQiModel.CellType, b: DouShouQiModel.CellType) -> Swift.Bool - public func hash(into hasher: inout Swift.Hasher) - public typealias AllCases = [DouShouQiModel.CellType] - public static var allCases: [DouShouQiModel.CellType] { - get - } - public var hashValue: Swift.Int { - get - } -} -public struct Board : Swift.Hashable { - public func hash(into hasher: inout Swift.Hasher) - public let nbRows: Swift.Int - public let nbColumns: Swift.Int - public var grid: [[DouShouQiModel.Cell]] { - get - } - public init?(withGrid grid: [[DouShouQiModel.Cell]]) - public func countPieces(of owner: DouShouQiModel.Owner) -> Swift.Int - public func countPieces() -> (nbOfPiecesOfPlayer1: Swift.Int, nbOfPiecesOfPlayer2: Swift.Int) - public mutating func insert(piece: DouShouQiModel.Piece, atRow row: Swift.Int, andColumn column: Swift.Int) -> DouShouQiModel.BoardResult - public mutating func removePiece(atRow row: Swift.Int, andColumn column: Swift.Int) -> DouShouQiModel.BoardResult - public static func == (a: DouShouQiModel.Board, b: DouShouQiModel.Board) -> Swift.Bool - public var hashValue: Swift.Int { - get - } -} -public struct Piece : Swift.CustomStringConvertible, Swift.Hashable { - public var description: Swift.String { - get - } - public let owner: DouShouQiModel.Owner - public let animal: DouShouQiModel.Animal - public init(withOwner owner: DouShouQiModel.Owner, andAnimal animal: DouShouQiModel.Animal) - public func hash(into hasher: inout Swift.Hasher) - public static func == (a: DouShouQiModel.Piece, b: DouShouQiModel.Piece) -> Swift.Bool - public var hashValue: Swift.Int { - get - } -} -public enum InvalidBoardError : Swift.Error, Swift.Equatable { - case unknownError - case badDimensions(nbRows: Swift.Int, nbColumns: Swift.Int) - case badCellType(cellType: DouShouQiModel.CellType, row: Swift.Int, column: Swift.Int) - case multipleOccurenceOfSamePiece(piece: DouShouQiModel.Piece) - case pieceWithNoOwner(piece: DouShouQiModel.Piece) - case pieceNotAllowedOnThisCell(piece: DouShouQiModel.Piece, cell: DouShouQiModel.Cell) - public static func == (a: DouShouQiModel.InvalidBoardError, b: DouShouQiModel.InvalidBoardError) -> Swift.Bool -} -public enum Owner { - case noOne, player1, player2 - public var simpleDescription: Swift.String { - get - } - public static func == (a: DouShouQiModel.Owner, b: DouShouQiModel.Owner) -> Swift.Bool - public func hash(into hasher: inout Swift.Hasher) - public var hashValue: Swift.Int { - get - } -} -@_inheritsConvenienceInitializers public class IAPlayer : DouShouQiModel.Player { - override public init?(withName name: Swift.String, andId id: DouShouQiModel.Owner) - @objc deinit -} -public struct Move : Swift.CustomStringConvertible, Swift.Equatable { - public let owner: DouShouQiModel.Owner - public let rowOrigin: Swift.Int - public let columnOrigin: Swift.Int - public let rowDestination: Swift.Int - public let columnDestination: Swift.Int - public init(of owner: DouShouQiModel.Owner, fromRow rowOrigin: Swift.Int, andFromColumn colOrigin: Swift.Int, toRow rowDest: Swift.Int, andToColumn colDest: Swift.Int) - public var description: Swift.String { - get - } - public static func == (a: DouShouQiModel.Move, b: DouShouQiModel.Move) -> Swift.Bool -} -public enum Animal : Swift.Int { - case rat, cat, dog, wolf, leopard, tiger, lion, elephant - public init?(rawValue: Swift.Int) - public typealias RawValue = Swift.Int - public var rawValue: Swift.Int { - get - } -} -public class Game { - public var board: DouShouQiModel.Board { - get - } - public var rules: any DouShouQiModel.Rules { - get - } - final public let players: [DouShouQiModel.Owner : DouShouQiModel.Player] - public init(withRules rules: any DouShouQiModel.Rules, andPlayer1 player1: DouShouQiModel.Player, andPlayer2 player2: DouShouQiModel.Player) throws - public init(withBoard board: DouShouQiModel.Board, andRules rules: any DouShouQiModel.Rules, andPlayer1 player1: DouShouQiModel.Player, andPlayer2 player2: DouShouQiModel.Player) throws - public func addGameStartedListener(_ listener: @escaping (DouShouQiModel.Board) -> Swift.Void) - #if compiler(>=5.3) && $AsyncAwait - public func addPlayerNotifiedListener(_ listener: @escaping (DouShouQiModel.Board, DouShouQiModel.Player) async throws -> Swift.Void) - #endif - #if compiler(>=5.3) && $AsyncAwait - public func addGameChangedListener(_ listener: @escaping (DouShouQiModel.Game) async -> Swift.Void) - #endif - public func addGameOverListener(_ listener: @escaping (DouShouQiModel.Board, DouShouQiModel.Result, DouShouQiModel.Player?) -> Swift.Void) - public func addMoveChosenCallbacksListener(_ listener: @escaping (DouShouQiModel.Board, DouShouQiModel.Move, DouShouQiModel.Player) -> Swift.Void) - public func addInvalidMoveCallbacksListener(_ listener: @escaping (DouShouQiModel.Board, DouShouQiModel.Move, DouShouQiModel.Player, Swift.Bool) -> Swift.Void) - public func addBoardChangedListener(_ listener: @escaping (DouShouQiModel.Board) -> Swift.Void) - public func addPieceRemovedListener(_ listener: @escaping (Swift.Int, Swift.Int, DouShouQiModel.Piece) -> Swift.Void) - #if compiler(>=5.3) && $AsyncAwait - public func onPlayed(with move: DouShouQiModel.Move?, from player: DouShouQiModel.Player) async throws - #endif - public var isOver: Swift.Bool { - get - } - #if compiler(>=5.3) && $AsyncAwait - public func start() async throws - #endif - @objc deinit -} -extension DouShouQiModel.WinningReason : Swift.Equatable {} -extension DouShouQiModel.WinningReason : Swift.Hashable {} -extension DouShouQiModel.BoardFailingReason : Swift.Equatable {} -extension DouShouQiModel.BoardFailingReason : Swift.Hashable {} -extension DouShouQiModel.CellType : Swift.Equatable {} -extension DouShouQiModel.CellType : Swift.Hashable {} -extension DouShouQiModel.Owner : Swift.Equatable {} -extension DouShouQiModel.Owner : Swift.Hashable {} -extension DouShouQiModel.Animal : Swift.Equatable {} -extension DouShouQiModel.Animal : Swift.Hashable {} -extension DouShouQiModel.Animal : Swift.RawRepresentable {} diff --git a/DouShouQi_App/DSQ.xcframework/ios-arm64_x86_64-simulator/DouShouQiModel.framework/Modules/module.modulemap b/DouShouQi_App/DSQ.xcframework/ios-arm64_x86_64-simulator/DouShouQiModel.framework/Modules/module.modulemap deleted file mode 100644 index e7aa10a..0000000 --- a/DouShouQi_App/DSQ.xcframework/ios-arm64_x86_64-simulator/DouShouQiModel.framework/Modules/module.modulemap +++ /dev/null @@ -1,11 +0,0 @@ -framework module DouShouQiModel { - umbrella header "DouShouQiModel.h" - export * - - module * { export * } -} - -module DouShouQiModel.Swift { - header "DouShouQiModel-Swift.h" - requires objc -} diff --git a/DouShouQi_App/DSQ.xcframework/ios-arm64_x86_64-simulator/DouShouQiModel.framework/_CodeSignature/CodeResources b/DouShouQi_App/DSQ.xcframework/ios-arm64_x86_64-simulator/DouShouQiModel.framework/_CodeSignature/CodeResources deleted file mode 100644 index c34fa55..0000000 --- a/DouShouQi_App/DSQ.xcframework/ios-arm64_x86_64-simulator/DouShouQiModel.framework/_CodeSignature/CodeResources +++ /dev/null @@ -1,245 +0,0 @@ - - - - - files - - Headers/DouShouQiModel-Swift.h - - Ugz84k7Dtyq8c1kVv5knXzRL8M8= - - Headers/DouShouQiModel.h - - oRFeERlH0MoI6LrvagIzL3ni4lM= - - Info.plist - - nK7+MI/Ze6f+km/d+6SafK4UOHw= - - Modules/DouShouQiModel.swiftmodule/arm64-apple-ios-simulator.abi.json - - 5wlrw/S604f6EkkdO0sjydo0+Bc= - - Modules/DouShouQiModel.swiftmodule/arm64-apple-ios-simulator.private.swiftinterface - - iWelfKfa40hASjZTv+0MmwJpt14= - - Modules/DouShouQiModel.swiftmodule/arm64-apple-ios-simulator.swiftdoc - - uNDHcaRHf/ULIsVZEMiJY2HGm4c= - - Modules/DouShouQiModel.swiftmodule/arm64-apple-ios-simulator.swiftinterface - - iWelfKfa40hASjZTv+0MmwJpt14= - - Modules/DouShouQiModel.swiftmodule/arm64-apple-ios-simulator.swiftmodule - - hIkz8AGNOjj+boCk29AkmkNg7U4= - - Modules/DouShouQiModel.swiftmodule/x86_64-apple-ios-simulator.abi.json - - 5wlrw/S604f6EkkdO0sjydo0+Bc= - - Modules/DouShouQiModel.swiftmodule/x86_64-apple-ios-simulator.private.swiftinterface - - ulNUxrIsFIWqKNx6spilb7IJVR0= - - Modules/DouShouQiModel.swiftmodule/x86_64-apple-ios-simulator.swiftdoc - - tkYnhquJQVCRsNSI7Hl83a7/uFk= - - Modules/DouShouQiModel.swiftmodule/x86_64-apple-ios-simulator.swiftinterface - - ulNUxrIsFIWqKNx6spilb7IJVR0= - - Modules/DouShouQiModel.swiftmodule/x86_64-apple-ios-simulator.swiftmodule - - 0ZAcidlUuohX1myhyQosgBBZq1s= - - Modules/module.modulemap - - tOh1oseR3w5cW6xQIaaghrv9LlM= - - - files2 - - Headers/DouShouQiModel-Swift.h - - hash2 - - X8yw4Beas8gUjOV/b4G2i2nanoGnSlTcLKeBiIYLXRI= - - - Headers/DouShouQiModel.h - - hash2 - - a0LOmZXPnWhpMKaBoW1IdxOGAzn4RhRBe32928+2jeU= - - - Modules/DouShouQiModel.swiftmodule/arm64-apple-ios-simulator.abi.json - - hash2 - - btM982otm47LMNIetdE5JR553fM9PjFPuS8AXm0+EpQ= - - - Modules/DouShouQiModel.swiftmodule/arm64-apple-ios-simulator.private.swiftinterface - - hash2 - - oe48ffKwbmJhKUMG/td3wfVID9DF4QgJz/dIPJweV5g= - - - Modules/DouShouQiModel.swiftmodule/arm64-apple-ios-simulator.swiftdoc - - hash2 - - cpfiPzUVsQ9nZcmz7k/CLhMlNAa3hCWAVPNrKBhrKls= - - - Modules/DouShouQiModel.swiftmodule/arm64-apple-ios-simulator.swiftinterface - - hash2 - - oe48ffKwbmJhKUMG/td3wfVID9DF4QgJz/dIPJweV5g= - - - Modules/DouShouQiModel.swiftmodule/arm64-apple-ios-simulator.swiftmodule - - hash2 - - q85NBK13clOQfgVFgVjmL6pWsskBEw+Z45xPFMxL1+E= - - - Modules/DouShouQiModel.swiftmodule/x86_64-apple-ios-simulator.abi.json - - hash2 - - btM982otm47LMNIetdE5JR553fM9PjFPuS8AXm0+EpQ= - - - Modules/DouShouQiModel.swiftmodule/x86_64-apple-ios-simulator.private.swiftinterface - - hash2 - - agKcCCqs9pHq1e94l4ouc5WojSYeRzzGkrHxkw9FZ8c= - - - Modules/DouShouQiModel.swiftmodule/x86_64-apple-ios-simulator.swiftdoc - - hash2 - - SsJ/b3BHzQ9S5Wz5tzNZPeo8WQ4dX+hCQFo95fU45as= - - - Modules/DouShouQiModel.swiftmodule/x86_64-apple-ios-simulator.swiftinterface - - hash2 - - agKcCCqs9pHq1e94l4ouc5WojSYeRzzGkrHxkw9FZ8c= - - - Modules/DouShouQiModel.swiftmodule/x86_64-apple-ios-simulator.swiftmodule - - hash2 - - 0C4f5rpOmGFG3B9PLb/e4rylk+OdtHUNKJ+aW1e+MCE= - - - Modules/module.modulemap - - hash2 - - XJ885pOXSQHhlMUP6dyA/ER9+SP/HZ+IMImbB4k5+rI= - - - - rules - - ^.* - - ^.*\.lproj/ - - optional - - weight - 1000 - - ^.*\.lproj/locversion.plist$ - - omit - - weight - 1100 - - ^Base\.lproj/ - - weight - 1010 - - ^version.plist$ - - - rules2 - - .*\.dSYM($|/) - - weight - 11 - - ^(.*/)?\.DS_Store$ - - omit - - weight - 2000 - - ^.* - - ^.*\.lproj/ - - optional - - weight - 1000 - - ^.*\.lproj/locversion.plist$ - - omit - - weight - 1100 - - ^Base\.lproj/ - - weight - 1010 - - ^Info\.plist$ - - omit - - weight - 20 - - ^PkgInfo$ - - omit - - weight - 20 - - ^embedded\.provisionprofile$ - - weight - 20 - - ^version\.plist$ - - weight - 20 - - - - diff --git a/DouShouQi_App/DSQ.xcframework/macos-arm64_x86_64/DouShouQiModel.framework/DouShouQiModel b/DouShouQi_App/DSQ.xcframework/macos-arm64_x86_64/DouShouQiModel.framework/DouShouQiModel deleted file mode 120000 index 4c7f364..0000000 --- a/DouShouQi_App/DSQ.xcframework/macos-arm64_x86_64/DouShouQiModel.framework/DouShouQiModel +++ /dev/null @@ -1 +0,0 @@ -Versions/Current/DouShouQiModel \ No newline at end of file diff --git a/DouShouQi_App/DSQ.xcframework/macos-arm64_x86_64/DouShouQiModel.framework/Headers b/DouShouQi_App/DSQ.xcframework/macos-arm64_x86_64/DouShouQiModel.framework/Headers deleted file mode 120000 index a177d2a..0000000 --- a/DouShouQi_App/DSQ.xcframework/macos-arm64_x86_64/DouShouQiModel.framework/Headers +++ /dev/null @@ -1 +0,0 @@ -Versions/Current/Headers \ No newline at end of file diff --git a/DouShouQi_App/DSQ.xcframework/macos-arm64_x86_64/DouShouQiModel.framework/Modules b/DouShouQi_App/DSQ.xcframework/macos-arm64_x86_64/DouShouQiModel.framework/Modules deleted file mode 120000 index 5736f31..0000000 --- a/DouShouQi_App/DSQ.xcframework/macos-arm64_x86_64/DouShouQiModel.framework/Modules +++ /dev/null @@ -1 +0,0 @@ -Versions/Current/Modules \ No newline at end of file diff --git a/DouShouQi_App/DSQ.xcframework/macos-arm64_x86_64/DouShouQiModel.framework/Resources b/DouShouQi_App/DSQ.xcframework/macos-arm64_x86_64/DouShouQiModel.framework/Resources deleted file mode 120000 index 953ee36..0000000 --- a/DouShouQi_App/DSQ.xcframework/macos-arm64_x86_64/DouShouQiModel.framework/Resources +++ /dev/null @@ -1 +0,0 @@ -Versions/Current/Resources \ No newline at end of file diff --git a/DouShouQi_App/DSQ.xcframework/macos-arm64_x86_64/DouShouQiModel.framework/Versions/A/DouShouQiModel b/DouShouQi_App/DSQ.xcframework/macos-arm64_x86_64/DouShouQiModel.framework/Versions/A/DouShouQiModel deleted file mode 100755 index fecd509..0000000 Binary files a/DouShouQi_App/DSQ.xcframework/macos-arm64_x86_64/DouShouQiModel.framework/Versions/A/DouShouQiModel and /dev/null differ diff --git a/DouShouQi_App/DSQ.xcframework/macos-arm64_x86_64/DouShouQiModel.framework/Versions/A/Headers/DouShouQiModel-Swift.h b/DouShouQi_App/DSQ.xcframework/macos-arm64_x86_64/DouShouQiModel.framework/Versions/A/Headers/DouShouQiModel-Swift.h deleted file mode 100644 index 5e14e79..0000000 --- a/DouShouQi_App/DSQ.xcframework/macos-arm64_x86_64/DouShouQiModel.framework/Versions/A/Headers/DouShouQiModel-Swift.h +++ /dev/null @@ -1,618 +0,0 @@ -#if 0 -#elif defined(__arm64__) && __arm64__ -// Generated by Apple Swift version 5.9.2 (swiftlang-5.9.2.2.56 clang-1500.1.0.2.5) -#ifndef DOUSHOUQIMODEL_SWIFT_H -#define DOUSHOUQIMODEL_SWIFT_H -#pragma clang diagnostic push -#pragma clang diagnostic ignored "-Wgcc-compat" - -#if !defined(__has_include) -# define __has_include(x) 0 -#endif -#if !defined(__has_attribute) -# define __has_attribute(x) 0 -#endif -#if !defined(__has_feature) -# define __has_feature(x) 0 -#endif -#if !defined(__has_warning) -# define __has_warning(x) 0 -#endif - -#if __has_include() -# include -#endif - -#pragma clang diagnostic ignored "-Wauto-import" -#if defined(__OBJC__) -#include -#endif -#if defined(__cplusplus) -#include -#include -#include -#include -#include -#include -#include -#else -#include -#include -#include -#include -#endif -#if defined(__cplusplus) -#if defined(__arm64e__) && __has_include() -# include -#else -#pragma clang diagnostic push -#pragma clang diagnostic ignored "-Wreserved-macro-identifier" -# ifndef __ptrauth_swift_value_witness_function_pointer -# define __ptrauth_swift_value_witness_function_pointer(x) -# endif -# ifndef __ptrauth_swift_class_method_pointer -# define __ptrauth_swift_class_method_pointer(x) -# endif -#pragma clang diagnostic pop -#endif -#endif - -#if !defined(SWIFT_TYPEDEFS) -# define SWIFT_TYPEDEFS 1 -# if __has_include() -# include -# elif !defined(__cplusplus) -typedef uint_least16_t char16_t; -typedef uint_least32_t char32_t; -# endif -typedef float swift_float2 __attribute__((__ext_vector_type__(2))); -typedef float swift_float3 __attribute__((__ext_vector_type__(3))); -typedef float swift_float4 __attribute__((__ext_vector_type__(4))); -typedef double swift_double2 __attribute__((__ext_vector_type__(2))); -typedef double swift_double3 __attribute__((__ext_vector_type__(3))); -typedef double swift_double4 __attribute__((__ext_vector_type__(4))); -typedef int swift_int2 __attribute__((__ext_vector_type__(2))); -typedef int swift_int3 __attribute__((__ext_vector_type__(3))); -typedef int swift_int4 __attribute__((__ext_vector_type__(4))); -typedef unsigned int swift_uint2 __attribute__((__ext_vector_type__(2))); -typedef unsigned int swift_uint3 __attribute__((__ext_vector_type__(3))); -typedef unsigned int swift_uint4 __attribute__((__ext_vector_type__(4))); -#endif - -#if !defined(SWIFT_PASTE) -# define SWIFT_PASTE_HELPER(x, y) x##y -# define SWIFT_PASTE(x, y) SWIFT_PASTE_HELPER(x, y) -#endif -#if !defined(SWIFT_METATYPE) -# define SWIFT_METATYPE(X) Class -#endif -#if !defined(SWIFT_CLASS_PROPERTY) -# if __has_feature(objc_class_property) -# define SWIFT_CLASS_PROPERTY(...) __VA_ARGS__ -# else -# define SWIFT_CLASS_PROPERTY(...) -# endif -#endif -#if !defined(SWIFT_RUNTIME_NAME) -# if __has_attribute(objc_runtime_name) -# define SWIFT_RUNTIME_NAME(X) __attribute__((objc_runtime_name(X))) -# else -# define SWIFT_RUNTIME_NAME(X) -# endif -#endif -#if !defined(SWIFT_COMPILE_NAME) -# if __has_attribute(swift_name) -# define SWIFT_COMPILE_NAME(X) __attribute__((swift_name(X))) -# else -# define SWIFT_COMPILE_NAME(X) -# endif -#endif -#if !defined(SWIFT_METHOD_FAMILY) -# if __has_attribute(objc_method_family) -# define SWIFT_METHOD_FAMILY(X) __attribute__((objc_method_family(X))) -# else -# define SWIFT_METHOD_FAMILY(X) -# endif -#endif -#if !defined(SWIFT_NOESCAPE) -# if __has_attribute(noescape) -# define SWIFT_NOESCAPE __attribute__((noescape)) -# else -# define SWIFT_NOESCAPE -# endif -#endif -#if !defined(SWIFT_RELEASES_ARGUMENT) -# if __has_attribute(ns_consumed) -# define SWIFT_RELEASES_ARGUMENT __attribute__((ns_consumed)) -# else -# define SWIFT_RELEASES_ARGUMENT -# endif -#endif -#if !defined(SWIFT_WARN_UNUSED_RESULT) -# if __has_attribute(warn_unused_result) -# define SWIFT_WARN_UNUSED_RESULT __attribute__((warn_unused_result)) -# else -# define SWIFT_WARN_UNUSED_RESULT -# endif -#endif -#if !defined(SWIFT_NORETURN) -# if __has_attribute(noreturn) -# define SWIFT_NORETURN __attribute__((noreturn)) -# else -# define SWIFT_NORETURN -# endif -#endif -#if !defined(SWIFT_CLASS_EXTRA) -# define SWIFT_CLASS_EXTRA -#endif -#if !defined(SWIFT_PROTOCOL_EXTRA) -# define SWIFT_PROTOCOL_EXTRA -#endif -#if !defined(SWIFT_ENUM_EXTRA) -# define SWIFT_ENUM_EXTRA -#endif -#if !defined(SWIFT_CLASS) -# if __has_attribute(objc_subclassing_restricted) -# define SWIFT_CLASS(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) __attribute__((objc_subclassing_restricted)) SWIFT_CLASS_EXTRA -# define SWIFT_CLASS_NAMED(SWIFT_NAME) __attribute__((objc_subclassing_restricted)) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA -# else -# define SWIFT_CLASS(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA -# define SWIFT_CLASS_NAMED(SWIFT_NAME) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA -# endif -#endif -#if !defined(SWIFT_RESILIENT_CLASS) -# if __has_attribute(objc_class_stub) -# define SWIFT_RESILIENT_CLASS(SWIFT_NAME) SWIFT_CLASS(SWIFT_NAME) __attribute__((objc_class_stub)) -# define SWIFT_RESILIENT_CLASS_NAMED(SWIFT_NAME) __attribute__((objc_class_stub)) SWIFT_CLASS_NAMED(SWIFT_NAME) -# else -# define SWIFT_RESILIENT_CLASS(SWIFT_NAME) SWIFT_CLASS(SWIFT_NAME) -# define SWIFT_RESILIENT_CLASS_NAMED(SWIFT_NAME) SWIFT_CLASS_NAMED(SWIFT_NAME) -# endif -#endif -#if !defined(SWIFT_PROTOCOL) -# define SWIFT_PROTOCOL(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) SWIFT_PROTOCOL_EXTRA -# define SWIFT_PROTOCOL_NAMED(SWIFT_NAME) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_PROTOCOL_EXTRA -#endif -#if !defined(SWIFT_EXTENSION) -# define SWIFT_EXTENSION(M) SWIFT_PASTE(M##_Swift_, __LINE__) -#endif -#if !defined(OBJC_DESIGNATED_INITIALIZER) -# if __has_attribute(objc_designated_initializer) -# define OBJC_DESIGNATED_INITIALIZER __attribute__((objc_designated_initializer)) -# else -# define OBJC_DESIGNATED_INITIALIZER -# endif -#endif -#if !defined(SWIFT_ENUM_ATTR) -# if __has_attribute(enum_extensibility) -# define SWIFT_ENUM_ATTR(_extensibility) __attribute__((enum_extensibility(_extensibility))) -# else -# define SWIFT_ENUM_ATTR(_extensibility) -# endif -#endif -#if !defined(SWIFT_ENUM) -# define SWIFT_ENUM(_type, _name, _extensibility) enum _name : _type _name; enum SWIFT_ENUM_ATTR(_extensibility) SWIFT_ENUM_EXTRA _name : _type -# if __has_feature(generalized_swift_name) -# define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME, _extensibility) enum _name : _type _name SWIFT_COMPILE_NAME(SWIFT_NAME); enum SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_ENUM_ATTR(_extensibility) SWIFT_ENUM_EXTRA _name : _type -# else -# define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME, _extensibility) SWIFT_ENUM(_type, _name, _extensibility) -# endif -#endif -#if !defined(SWIFT_UNAVAILABLE) -# define SWIFT_UNAVAILABLE __attribute__((unavailable)) -#endif -#if !defined(SWIFT_UNAVAILABLE_MSG) -# define SWIFT_UNAVAILABLE_MSG(msg) __attribute__((unavailable(msg))) -#endif -#if !defined(SWIFT_AVAILABILITY) -# define SWIFT_AVAILABILITY(plat, ...) __attribute__((availability(plat, __VA_ARGS__))) -#endif -#if !defined(SWIFT_WEAK_IMPORT) -# define SWIFT_WEAK_IMPORT __attribute__((weak_import)) -#endif -#if !defined(SWIFT_DEPRECATED) -# define SWIFT_DEPRECATED __attribute__((deprecated)) -#endif -#if !defined(SWIFT_DEPRECATED_MSG) -# define SWIFT_DEPRECATED_MSG(...) __attribute__((deprecated(__VA_ARGS__))) -#endif -#if !defined(SWIFT_DEPRECATED_OBJC) -# if __has_feature(attribute_diagnose_if_objc) -# define SWIFT_DEPRECATED_OBJC(Msg) __attribute__((diagnose_if(1, Msg, "warning"))) -# else -# define SWIFT_DEPRECATED_OBJC(Msg) SWIFT_DEPRECATED_MSG(Msg) -# endif -#endif -#if defined(__OBJC__) -#if !defined(IBSegueAction) -# define IBSegueAction -#endif -#endif -#if !defined(SWIFT_EXTERN) -# if defined(__cplusplus) -# define SWIFT_EXTERN extern "C" -# else -# define SWIFT_EXTERN extern -# endif -#endif -#if !defined(SWIFT_CALL) -# define SWIFT_CALL __attribute__((swiftcall)) -#endif -#if !defined(SWIFT_INDIRECT_RESULT) -# define SWIFT_INDIRECT_RESULT __attribute__((swift_indirect_result)) -#endif -#if !defined(SWIFT_CONTEXT) -# define SWIFT_CONTEXT __attribute__((swift_context)) -#endif -#if !defined(SWIFT_ERROR_RESULT) -# define SWIFT_ERROR_RESULT __attribute__((swift_error_result)) -#endif -#if defined(__cplusplus) -# define SWIFT_NOEXCEPT noexcept -#else -# define SWIFT_NOEXCEPT -#endif -#if !defined(SWIFT_C_INLINE_THUNK) -# if __has_attribute(always_inline) -# if __has_attribute(nodebug) -# define SWIFT_C_INLINE_THUNK inline __attribute__((always_inline)) __attribute__((nodebug)) -# else -# define SWIFT_C_INLINE_THUNK inline __attribute__((always_inline)) -# endif -# else -# define SWIFT_C_INLINE_THUNK inline -# endif -#endif -#if defined(_WIN32) -#if !defined(SWIFT_IMPORT_STDLIB_SYMBOL) -# define SWIFT_IMPORT_STDLIB_SYMBOL __declspec(dllimport) -#endif -#else -#if !defined(SWIFT_IMPORT_STDLIB_SYMBOL) -# define SWIFT_IMPORT_STDLIB_SYMBOL -#endif -#endif -#if defined(__OBJC__) -#if __has_feature(objc_modules) -#if __has_warning("-Watimport-in-framework-header") -#pragma clang diagnostic ignored "-Watimport-in-framework-header" -#endif -#endif - -#endif -#pragma clang diagnostic ignored "-Wproperty-attribute-mismatch" -#pragma clang diagnostic ignored "-Wduplicate-method-arg" -#if __has_warning("-Wpragma-clang-attribute") -# pragma clang diagnostic ignored "-Wpragma-clang-attribute" -#endif -#pragma clang diagnostic ignored "-Wunknown-pragmas" -#pragma clang diagnostic ignored "-Wnullability" -#pragma clang diagnostic ignored "-Wdollar-in-identifier-extension" - -#if __has_attribute(external_source_symbol) -# pragma push_macro("any") -# undef any -# pragma clang attribute push(__attribute__((external_source_symbol(language="Swift", defined_in="DouShouQiModel",generated_declaration))), apply_to=any(function,enum,objc_interface,objc_category,objc_protocol)) -# pragma pop_macro("any") -#endif - -#if defined(__OBJC__) -#endif -#if __has_attribute(external_source_symbol) -# pragma clang attribute pop -#endif -#if defined(__cplusplus) -#endif -#pragma clang diagnostic pop -#endif - -#elif defined(__x86_64__) && __x86_64__ -// Generated by Apple Swift version 5.9.2 (swiftlang-5.9.2.2.56 clang-1500.1.0.2.5) -#ifndef DOUSHOUQIMODEL_SWIFT_H -#define DOUSHOUQIMODEL_SWIFT_H -#pragma clang diagnostic push -#pragma clang diagnostic ignored "-Wgcc-compat" - -#if !defined(__has_include) -# define __has_include(x) 0 -#endif -#if !defined(__has_attribute) -# define __has_attribute(x) 0 -#endif -#if !defined(__has_feature) -# define __has_feature(x) 0 -#endif -#if !defined(__has_warning) -# define __has_warning(x) 0 -#endif - -#if __has_include() -# include -#endif - -#pragma clang diagnostic ignored "-Wauto-import" -#if defined(__OBJC__) -#include -#endif -#if defined(__cplusplus) -#include -#include -#include -#include -#include -#include -#include -#else -#include -#include -#include -#include -#endif -#if defined(__cplusplus) -#if defined(__arm64e__) && __has_include() -# include -#else -#pragma clang diagnostic push -#pragma clang diagnostic ignored "-Wreserved-macro-identifier" -# ifndef __ptrauth_swift_value_witness_function_pointer -# define __ptrauth_swift_value_witness_function_pointer(x) -# endif -# ifndef __ptrauth_swift_class_method_pointer -# define __ptrauth_swift_class_method_pointer(x) -# endif -#pragma clang diagnostic pop -#endif -#endif - -#if !defined(SWIFT_TYPEDEFS) -# define SWIFT_TYPEDEFS 1 -# if __has_include() -# include -# elif !defined(__cplusplus) -typedef uint_least16_t char16_t; -typedef uint_least32_t char32_t; -# endif -typedef float swift_float2 __attribute__((__ext_vector_type__(2))); -typedef float swift_float3 __attribute__((__ext_vector_type__(3))); -typedef float swift_float4 __attribute__((__ext_vector_type__(4))); -typedef double swift_double2 __attribute__((__ext_vector_type__(2))); -typedef double swift_double3 __attribute__((__ext_vector_type__(3))); -typedef double swift_double4 __attribute__((__ext_vector_type__(4))); -typedef int swift_int2 __attribute__((__ext_vector_type__(2))); -typedef int swift_int3 __attribute__((__ext_vector_type__(3))); -typedef int swift_int4 __attribute__((__ext_vector_type__(4))); -typedef unsigned int swift_uint2 __attribute__((__ext_vector_type__(2))); -typedef unsigned int swift_uint3 __attribute__((__ext_vector_type__(3))); -typedef unsigned int swift_uint4 __attribute__((__ext_vector_type__(4))); -#endif - -#if !defined(SWIFT_PASTE) -# define SWIFT_PASTE_HELPER(x, y) x##y -# define SWIFT_PASTE(x, y) SWIFT_PASTE_HELPER(x, y) -#endif -#if !defined(SWIFT_METATYPE) -# define SWIFT_METATYPE(X) Class -#endif -#if !defined(SWIFT_CLASS_PROPERTY) -# if __has_feature(objc_class_property) -# define SWIFT_CLASS_PROPERTY(...) __VA_ARGS__ -# else -# define SWIFT_CLASS_PROPERTY(...) -# endif -#endif -#if !defined(SWIFT_RUNTIME_NAME) -# if __has_attribute(objc_runtime_name) -# define SWIFT_RUNTIME_NAME(X) __attribute__((objc_runtime_name(X))) -# else -# define SWIFT_RUNTIME_NAME(X) -# endif -#endif -#if !defined(SWIFT_COMPILE_NAME) -# if __has_attribute(swift_name) -# define SWIFT_COMPILE_NAME(X) __attribute__((swift_name(X))) -# else -# define SWIFT_COMPILE_NAME(X) -# endif -#endif -#if !defined(SWIFT_METHOD_FAMILY) -# if __has_attribute(objc_method_family) -# define SWIFT_METHOD_FAMILY(X) __attribute__((objc_method_family(X))) -# else -# define SWIFT_METHOD_FAMILY(X) -# endif -#endif -#if !defined(SWIFT_NOESCAPE) -# if __has_attribute(noescape) -# define SWIFT_NOESCAPE __attribute__((noescape)) -# else -# define SWIFT_NOESCAPE -# endif -#endif -#if !defined(SWIFT_RELEASES_ARGUMENT) -# if __has_attribute(ns_consumed) -# define SWIFT_RELEASES_ARGUMENT __attribute__((ns_consumed)) -# else -# define SWIFT_RELEASES_ARGUMENT -# endif -#endif -#if !defined(SWIFT_WARN_UNUSED_RESULT) -# if __has_attribute(warn_unused_result) -# define SWIFT_WARN_UNUSED_RESULT __attribute__((warn_unused_result)) -# else -# define SWIFT_WARN_UNUSED_RESULT -# endif -#endif -#if !defined(SWIFT_NORETURN) -# if __has_attribute(noreturn) -# define SWIFT_NORETURN __attribute__((noreturn)) -# else -# define SWIFT_NORETURN -# endif -#endif -#if !defined(SWIFT_CLASS_EXTRA) -# define SWIFT_CLASS_EXTRA -#endif -#if !defined(SWIFT_PROTOCOL_EXTRA) -# define SWIFT_PROTOCOL_EXTRA -#endif -#if !defined(SWIFT_ENUM_EXTRA) -# define SWIFT_ENUM_EXTRA -#endif -#if !defined(SWIFT_CLASS) -# if __has_attribute(objc_subclassing_restricted) -# define SWIFT_CLASS(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) __attribute__((objc_subclassing_restricted)) SWIFT_CLASS_EXTRA -# define SWIFT_CLASS_NAMED(SWIFT_NAME) __attribute__((objc_subclassing_restricted)) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA -# else -# define SWIFT_CLASS(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA -# define SWIFT_CLASS_NAMED(SWIFT_NAME) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA -# endif -#endif -#if !defined(SWIFT_RESILIENT_CLASS) -# if __has_attribute(objc_class_stub) -# define SWIFT_RESILIENT_CLASS(SWIFT_NAME) SWIFT_CLASS(SWIFT_NAME) __attribute__((objc_class_stub)) -# define SWIFT_RESILIENT_CLASS_NAMED(SWIFT_NAME) __attribute__((objc_class_stub)) SWIFT_CLASS_NAMED(SWIFT_NAME) -# else -# define SWIFT_RESILIENT_CLASS(SWIFT_NAME) SWIFT_CLASS(SWIFT_NAME) -# define SWIFT_RESILIENT_CLASS_NAMED(SWIFT_NAME) SWIFT_CLASS_NAMED(SWIFT_NAME) -# endif -#endif -#if !defined(SWIFT_PROTOCOL) -# define SWIFT_PROTOCOL(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) SWIFT_PROTOCOL_EXTRA -# define SWIFT_PROTOCOL_NAMED(SWIFT_NAME) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_PROTOCOL_EXTRA -#endif -#if !defined(SWIFT_EXTENSION) -# define SWIFT_EXTENSION(M) SWIFT_PASTE(M##_Swift_, __LINE__) -#endif -#if !defined(OBJC_DESIGNATED_INITIALIZER) -# if __has_attribute(objc_designated_initializer) -# define OBJC_DESIGNATED_INITIALIZER __attribute__((objc_designated_initializer)) -# else -# define OBJC_DESIGNATED_INITIALIZER -# endif -#endif -#if !defined(SWIFT_ENUM_ATTR) -# if __has_attribute(enum_extensibility) -# define SWIFT_ENUM_ATTR(_extensibility) __attribute__((enum_extensibility(_extensibility))) -# else -# define SWIFT_ENUM_ATTR(_extensibility) -# endif -#endif -#if !defined(SWIFT_ENUM) -# define SWIFT_ENUM(_type, _name, _extensibility) enum _name : _type _name; enum SWIFT_ENUM_ATTR(_extensibility) SWIFT_ENUM_EXTRA _name : _type -# if __has_feature(generalized_swift_name) -# define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME, _extensibility) enum _name : _type _name SWIFT_COMPILE_NAME(SWIFT_NAME); enum SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_ENUM_ATTR(_extensibility) SWIFT_ENUM_EXTRA _name : _type -# else -# define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME, _extensibility) SWIFT_ENUM(_type, _name, _extensibility) -# endif -#endif -#if !defined(SWIFT_UNAVAILABLE) -# define SWIFT_UNAVAILABLE __attribute__((unavailable)) -#endif -#if !defined(SWIFT_UNAVAILABLE_MSG) -# define SWIFT_UNAVAILABLE_MSG(msg) __attribute__((unavailable(msg))) -#endif -#if !defined(SWIFT_AVAILABILITY) -# define SWIFT_AVAILABILITY(plat, ...) __attribute__((availability(plat, __VA_ARGS__))) -#endif -#if !defined(SWIFT_WEAK_IMPORT) -# define SWIFT_WEAK_IMPORT __attribute__((weak_import)) -#endif -#if !defined(SWIFT_DEPRECATED) -# define SWIFT_DEPRECATED __attribute__((deprecated)) -#endif -#if !defined(SWIFT_DEPRECATED_MSG) -# define SWIFT_DEPRECATED_MSG(...) __attribute__((deprecated(__VA_ARGS__))) -#endif -#if !defined(SWIFT_DEPRECATED_OBJC) -# if __has_feature(attribute_diagnose_if_objc) -# define SWIFT_DEPRECATED_OBJC(Msg) __attribute__((diagnose_if(1, Msg, "warning"))) -# else -# define SWIFT_DEPRECATED_OBJC(Msg) SWIFT_DEPRECATED_MSG(Msg) -# endif -#endif -#if defined(__OBJC__) -#if !defined(IBSegueAction) -# define IBSegueAction -#endif -#endif -#if !defined(SWIFT_EXTERN) -# if defined(__cplusplus) -# define SWIFT_EXTERN extern "C" -# else -# define SWIFT_EXTERN extern -# endif -#endif -#if !defined(SWIFT_CALL) -# define SWIFT_CALL __attribute__((swiftcall)) -#endif -#if !defined(SWIFT_INDIRECT_RESULT) -# define SWIFT_INDIRECT_RESULT __attribute__((swift_indirect_result)) -#endif -#if !defined(SWIFT_CONTEXT) -# define SWIFT_CONTEXT __attribute__((swift_context)) -#endif -#if !defined(SWIFT_ERROR_RESULT) -# define SWIFT_ERROR_RESULT __attribute__((swift_error_result)) -#endif -#if defined(__cplusplus) -# define SWIFT_NOEXCEPT noexcept -#else -# define SWIFT_NOEXCEPT -#endif -#if !defined(SWIFT_C_INLINE_THUNK) -# if __has_attribute(always_inline) -# if __has_attribute(nodebug) -# define SWIFT_C_INLINE_THUNK inline __attribute__((always_inline)) __attribute__((nodebug)) -# else -# define SWIFT_C_INLINE_THUNK inline __attribute__((always_inline)) -# endif -# else -# define SWIFT_C_INLINE_THUNK inline -# endif -#endif -#if defined(_WIN32) -#if !defined(SWIFT_IMPORT_STDLIB_SYMBOL) -# define SWIFT_IMPORT_STDLIB_SYMBOL __declspec(dllimport) -#endif -#else -#if !defined(SWIFT_IMPORT_STDLIB_SYMBOL) -# define SWIFT_IMPORT_STDLIB_SYMBOL -#endif -#endif -#if defined(__OBJC__) -#if __has_feature(objc_modules) -#if __has_warning("-Watimport-in-framework-header") -#pragma clang diagnostic ignored "-Watimport-in-framework-header" -#endif -#endif - -#endif -#pragma clang diagnostic ignored "-Wproperty-attribute-mismatch" -#pragma clang diagnostic ignored "-Wduplicate-method-arg" -#if __has_warning("-Wpragma-clang-attribute") -# pragma clang diagnostic ignored "-Wpragma-clang-attribute" -#endif -#pragma clang diagnostic ignored "-Wunknown-pragmas" -#pragma clang diagnostic ignored "-Wnullability" -#pragma clang diagnostic ignored "-Wdollar-in-identifier-extension" - -#if __has_attribute(external_source_symbol) -# pragma push_macro("any") -# undef any -# pragma clang attribute push(__attribute__((external_source_symbol(language="Swift", defined_in="DouShouQiModel",generated_declaration))), apply_to=any(function,enum,objc_interface,objc_category,objc_protocol)) -# pragma pop_macro("any") -#endif - -#if defined(__OBJC__) -#endif -#if __has_attribute(external_source_symbol) -# pragma clang attribute pop -#endif -#if defined(__cplusplus) -#endif -#pragma clang diagnostic pop -#endif - -#else -#error unsupported Swift architecture -#endif diff --git a/DouShouQi_App/DSQ.xcframework/macos-arm64_x86_64/DouShouQiModel.framework/Versions/A/Headers/DouShouQiModel.h b/DouShouQi_App/DSQ.xcframework/macos-arm64_x86_64/DouShouQiModel.framework/Versions/A/Headers/DouShouQiModel.h deleted file mode 100644 index 5bbf06a..0000000 --- a/DouShouQi_App/DSQ.xcframework/macos-arm64_x86_64/DouShouQiModel.framework/Versions/A/Headers/DouShouQiModel.h +++ /dev/null @@ -1,18 +0,0 @@ -// -// DouShouQiModel.h -// DouShouQiModel -// -// Created by Marc Chevaldonné on 14/05/2024. -// - -#import - -//! Project version number for DouShouQiModel. -FOUNDATION_EXPORT double DouShouQiModelVersionNumber; - -//! Project version string for DouShouQiModel. -FOUNDATION_EXPORT const unsigned char DouShouQiModelVersionString[]; - -// In this header, you should import all the public headers of your framework using statements like #import - - diff --git a/DouShouQi_App/DSQ.xcframework/macos-arm64_x86_64/DouShouQiModel.framework/Versions/A/Modules/DouShouQiModel.swiftmodule/arm64-apple-macos.abi.json b/DouShouQi_App/DSQ.xcframework/macos-arm64_x86_64/DouShouQiModel.framework/Versions/A/Modules/DouShouQiModel.swiftmodule/arm64-apple-macos.abi.json deleted file mode 100644 index c28e9fd..0000000 --- a/DouShouQi_App/DSQ.xcframework/macos-arm64_x86_64/DouShouQiModel.framework/Versions/A/Modules/DouShouQiModel.swiftmodule/arm64-apple-macos.abi.json +++ /dev/null @@ -1,8546 +0,0 @@ -{ - "ABIRoot": { - "kind": "Root", - "name": "TopLevel", - "printedName": "TopLevel", - "children": [ - { - "kind": "Import", - "name": "Foundation", - "printedName": "Foundation", - "declKind": "Import", - "moduleName": "DouShouQiModel" - }, - { - "kind": "TypeDecl", - "name": "Result", - "printedName": "Result", - "children": [ - { - "kind": "Var", - "name": "notFinished", - "printedName": "notFinished", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.Result.Type) -> DouShouQiModel.Result", - "children": [ - { - "kind": "TypeNominal", - "name": "Result", - "printedName": "DouShouQiModel.Result", - "usr": "s:14DouShouQiModel6ResultO" - }, - { - "kind": "TypeNominal", - "name": "Metatype", - "printedName": "DouShouQiModel.Result.Type", - "children": [ - { - "kind": "TypeNominal", - "name": "Result", - "printedName": "DouShouQiModel.Result", - "usr": "s:14DouShouQiModel6ResultO" - } - ] - } - ] - } - ], - "declKind": "EnumElement", - "usr": "s:14DouShouQiModel6ResultO11notFinishedyA2CmF", - "mangledName": "$s14DouShouQiModel6ResultO11notFinishedyA2CmF", - "moduleName": "DouShouQiModel" - }, - { - "kind": "Var", - "name": "even", - "printedName": "even", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.Result.Type) -> DouShouQiModel.Result", - "children": [ - { - "kind": "TypeNominal", - "name": "Result", - "printedName": "DouShouQiModel.Result", - "usr": "s:14DouShouQiModel6ResultO" - }, - { - "kind": "TypeNominal", - "name": "Metatype", - "printedName": "DouShouQiModel.Result.Type", - "children": [ - { - "kind": "TypeNominal", - "name": "Result", - "printedName": "DouShouQiModel.Result", - "usr": "s:14DouShouQiModel6ResultO" - } - ] - } - ] - } - ], - "declKind": "EnumElement", - "usr": "s:14DouShouQiModel6ResultO4evenyA2CmF", - "mangledName": "$s14DouShouQiModel6ResultO4evenyA2CmF", - "moduleName": "DouShouQiModel" - }, - { - "kind": "Var", - "name": "winner", - "printedName": "winner", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.Result.Type) -> (DouShouQiModel.Owner, DouShouQiModel.WinningReason) -> DouShouQiModel.Result", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.Owner, DouShouQiModel.WinningReason) -> DouShouQiModel.Result", - "children": [ - { - "kind": "TypeNominal", - "name": "Result", - "printedName": "DouShouQiModel.Result", - "usr": "s:14DouShouQiModel6ResultO" - }, - { - "kind": "TypeNominal", - "name": "Tuple", - "printedName": "(winner: DouShouQiModel.Owner, reason: DouShouQiModel.WinningReason)", - "children": [ - { - "kind": "TypeNominal", - "name": "Owner", - "printedName": "DouShouQiModel.Owner", - "usr": "s:14DouShouQiModel5OwnerO" - }, - { - "kind": "TypeNominal", - "name": "WinningReason", - "printedName": "DouShouQiModel.WinningReason", - "usr": "s:14DouShouQiModel13WinningReasonO" - } - ] - } - ] - }, - { - "kind": "TypeNominal", - "name": "Metatype", - "printedName": "DouShouQiModel.Result.Type", - "children": [ - { - "kind": "TypeNominal", - "name": "Result", - "printedName": "DouShouQiModel.Result", - "usr": "s:14DouShouQiModel6ResultO" - } - ] - } - ] - } - ], - "declKind": "EnumElement", - "usr": "s:14DouShouQiModel6ResultO6winneryAcA5OwnerO_AA13WinningReasonOtcACmF", - "mangledName": "$s14DouShouQiModel6ResultO6winneryAcA5OwnerO_AA13WinningReasonOtcACmF", - "moduleName": "DouShouQiModel" - }, - { - "kind": "Function", - "name": "==", - "printedName": "==(_:_:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Bool", - "printedName": "Swift.Bool", - "usr": "s:Sb" - }, - { - "kind": "TypeNominal", - "name": "Result", - "printedName": "DouShouQiModel.Result", - "usr": "s:14DouShouQiModel6ResultO" - }, - { - "kind": "TypeNominal", - "name": "Result", - "printedName": "DouShouQiModel.Result", - "usr": "s:14DouShouQiModel6ResultO" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel6ResultO2eeoiySbAC_ACtFZ", - "mangledName": "$s14DouShouQiModel6ResultO2eeoiySbAC_ACtFZ", - "moduleName": "DouShouQiModel", - "static": true, - "implicit": true, - "funcSelfKind": "NonMutating" - } - ], - "declKind": "Enum", - "usr": "s:14DouShouQiModel6ResultO", - "mangledName": "$s14DouShouQiModel6ResultO", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "conformances": [ - { - "kind": "Conformance", - "name": "Equatable", - "printedName": "Equatable", - "usr": "s:SQ", - "mangledName": "$sSQ" - } - ] - }, - { - "kind": "TypeDecl", - "name": "WinningReason", - "printedName": "WinningReason", - "children": [ - { - "kind": "Var", - "name": "denReached", - "printedName": "denReached", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.WinningReason.Type) -> DouShouQiModel.WinningReason", - "children": [ - { - "kind": "TypeNominal", - "name": "WinningReason", - "printedName": "DouShouQiModel.WinningReason", - "usr": "s:14DouShouQiModel13WinningReasonO" - }, - { - "kind": "TypeNominal", - "name": "Metatype", - "printedName": "DouShouQiModel.WinningReason.Type", - "children": [ - { - "kind": "TypeNominal", - "name": "WinningReason", - "printedName": "DouShouQiModel.WinningReason", - "usr": "s:14DouShouQiModel13WinningReasonO" - } - ] - } - ] - } - ], - "declKind": "EnumElement", - "usr": "s:14DouShouQiModel13WinningReasonO10denReachedyA2CmF", - "mangledName": "$s14DouShouQiModel13WinningReasonO10denReachedyA2CmF", - "moduleName": "DouShouQiModel" - }, - { - "kind": "Var", - "name": "noMorePieces", - "printedName": "noMorePieces", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.WinningReason.Type) -> DouShouQiModel.WinningReason", - "children": [ - { - "kind": "TypeNominal", - "name": "WinningReason", - "printedName": "DouShouQiModel.WinningReason", - "usr": "s:14DouShouQiModel13WinningReasonO" - }, - { - "kind": "TypeNominal", - "name": "Metatype", - "printedName": "DouShouQiModel.WinningReason.Type", - "children": [ - { - "kind": "TypeNominal", - "name": "WinningReason", - "printedName": "DouShouQiModel.WinningReason", - "usr": "s:14DouShouQiModel13WinningReasonO" - } - ] - } - ] - } - ], - "declKind": "EnumElement", - "usr": "s:14DouShouQiModel13WinningReasonO12noMorePiecesyA2CmF", - "mangledName": "$s14DouShouQiModel13WinningReasonO12noMorePiecesyA2CmF", - "moduleName": "DouShouQiModel" - }, - { - "kind": "Var", - "name": "tooManyOccurences", - "printedName": "tooManyOccurences", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.WinningReason.Type) -> DouShouQiModel.WinningReason", - "children": [ - { - "kind": "TypeNominal", - "name": "WinningReason", - "printedName": "DouShouQiModel.WinningReason", - "usr": "s:14DouShouQiModel13WinningReasonO" - }, - { - "kind": "TypeNominal", - "name": "Metatype", - "printedName": "DouShouQiModel.WinningReason.Type", - "children": [ - { - "kind": "TypeNominal", - "name": "WinningReason", - "printedName": "DouShouQiModel.WinningReason", - "usr": "s:14DouShouQiModel13WinningReasonO" - } - ] - } - ] - } - ], - "declKind": "EnumElement", - "usr": "s:14DouShouQiModel13WinningReasonO17tooManyOccurencesyA2CmF", - "mangledName": "$s14DouShouQiModel13WinningReasonO17tooManyOccurencesyA2CmF", - "moduleName": "DouShouQiModel" - }, - { - "kind": "Var", - "name": "noMovesLeft", - "printedName": "noMovesLeft", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.WinningReason.Type) -> DouShouQiModel.WinningReason", - "children": [ - { - "kind": "TypeNominal", - "name": "WinningReason", - "printedName": "DouShouQiModel.WinningReason", - "usr": "s:14DouShouQiModel13WinningReasonO" - }, - { - "kind": "TypeNominal", - "name": "Metatype", - "printedName": "DouShouQiModel.WinningReason.Type", - "children": [ - { - "kind": "TypeNominal", - "name": "WinningReason", - "printedName": "DouShouQiModel.WinningReason", - "usr": "s:14DouShouQiModel13WinningReasonO" - } - ] - } - ] - } - ], - "declKind": "EnumElement", - "usr": "s:14DouShouQiModel13WinningReasonO11noMovesLeftyA2CmF", - "mangledName": "$s14DouShouQiModel13WinningReasonO11noMovesLeftyA2CmF", - "moduleName": "DouShouQiModel" - }, - { - "kind": "Function", - "name": "==", - "printedName": "==(_:_:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Bool", - "printedName": "Swift.Bool", - "usr": "s:Sb" - }, - { - "kind": "TypeNominal", - "name": "WinningReason", - "printedName": "DouShouQiModel.WinningReason", - "usr": "s:14DouShouQiModel13WinningReasonO" - }, - { - "kind": "TypeNominal", - "name": "WinningReason", - "printedName": "DouShouQiModel.WinningReason", - "usr": "s:14DouShouQiModel13WinningReasonO" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel13WinningReasonO2eeoiySbAC_ACtFZ", - "mangledName": "$s14DouShouQiModel13WinningReasonO2eeoiySbAC_ACtFZ", - "moduleName": "DouShouQiModel", - "static": true, - "implicit": true, - "funcSelfKind": "NonMutating" - }, - { - "kind": "Var", - "name": "hashValue", - "printedName": "hashValue", - "children": [ - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ], - "declKind": "Var", - "usr": "s:14DouShouQiModel13WinningReasonO9hashValueSivp", - "mangledName": "$s14DouShouQiModel13WinningReasonO9hashValueSivp", - "moduleName": "DouShouQiModel", - "implicit": true, - "accessors": [ - { - "kind": "Accessor", - "name": "Get", - "printedName": "Get()", - "children": [ - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ], - "declKind": "Accessor", - "usr": "s:14DouShouQiModel13WinningReasonO9hashValueSivg", - "mangledName": "$s14DouShouQiModel13WinningReasonO9hashValueSivg", - "moduleName": "DouShouQiModel", - "implicit": true, - "accessorKind": "get" - } - ] - }, - { - "kind": "Function", - "name": "hash", - "printedName": "hash(into:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - }, - { - "kind": "TypeNominal", - "name": "Hasher", - "printedName": "Swift.Hasher", - "paramValueOwnership": "InOut", - "usr": "s:s6HasherV" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel13WinningReasonO4hash4intoys6HasherVz_tF", - "mangledName": "$s14DouShouQiModel13WinningReasonO4hash4intoys6HasherVz_tF", - "moduleName": "DouShouQiModel", - "implicit": true, - "funcSelfKind": "NonMutating" - } - ], - "declKind": "Enum", - "usr": "s:14DouShouQiModel13WinningReasonO", - "mangledName": "$s14DouShouQiModel13WinningReasonO", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "conformances": [ - { - "kind": "Conformance", - "name": "Equatable", - "printedName": "Equatable", - "usr": "s:SQ", - "mangledName": "$sSQ" - }, - { - "kind": "Conformance", - "name": "Hashable", - "printedName": "Hashable", - "usr": "s:SH", - "mangledName": "$sSH" - } - ] - }, - { - "kind": "Import", - "name": "Foundation", - "printedName": "Foundation", - "declKind": "Import", - "moduleName": "DouShouQiModel" - }, - { - "kind": "TypeDecl", - "name": "BoardResult", - "printedName": "BoardResult", - "children": [ - { - "kind": "Var", - "name": "unknown", - "printedName": "unknown", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.BoardResult.Type) -> DouShouQiModel.BoardResult", - "children": [ - { - "kind": "TypeNominal", - "name": "BoardResult", - "printedName": "DouShouQiModel.BoardResult", - "usr": "s:14DouShouQiModel11BoardResultO" - }, - { - "kind": "TypeNominal", - "name": "Metatype", - "printedName": "DouShouQiModel.BoardResult.Type", - "children": [ - { - "kind": "TypeNominal", - "name": "BoardResult", - "printedName": "DouShouQiModel.BoardResult", - "usr": "s:14DouShouQiModel11BoardResultO" - } - ] - } - ] - } - ], - "declKind": "EnumElement", - "usr": "s:14DouShouQiModel11BoardResultO7unknownyA2CmF", - "mangledName": "$s14DouShouQiModel11BoardResultO7unknownyA2CmF", - "moduleName": "DouShouQiModel" - }, - { - "kind": "Var", - "name": "ok", - "printedName": "ok", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.BoardResult.Type) -> (DouShouQiModel.Piece?) -> DouShouQiModel.BoardResult", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.Piece?) -> DouShouQiModel.BoardResult", - "children": [ - { - "kind": "TypeNominal", - "name": "BoardResult", - "printedName": "DouShouQiModel.BoardResult", - "usr": "s:14DouShouQiModel11BoardResultO" - }, - { - "kind": "TypeNominal", - "name": "Tuple", - "printedName": "(piece: DouShouQiModel.Piece?)", - "children": [ - { - "kind": "TypeNominal", - "name": "Optional", - "printedName": "DouShouQiModel.Piece?", - "children": [ - { - "kind": "TypeNominal", - "name": "Piece", - "printedName": "DouShouQiModel.Piece", - "usr": "s:14DouShouQiModel5PieceV" - } - ], - "usr": "s:Sq" - } - ] - } - ] - }, - { - "kind": "TypeNominal", - "name": "Metatype", - "printedName": "DouShouQiModel.BoardResult.Type", - "children": [ - { - "kind": "TypeNominal", - "name": "BoardResult", - "printedName": "DouShouQiModel.BoardResult", - "usr": "s:14DouShouQiModel11BoardResultO" - } - ] - } - ] - } - ], - "declKind": "EnumElement", - "usr": "s:14DouShouQiModel11BoardResultO2okyAcA5PieceVSg_tcACmF", - "mangledName": "$s14DouShouQiModel11BoardResultO2okyAcA5PieceVSg_tcACmF", - "moduleName": "DouShouQiModel" - }, - { - "kind": "Var", - "name": "failed", - "printedName": "failed", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.BoardResult.Type) -> (DouShouQiModel.BoardFailingReason) -> DouShouQiModel.BoardResult", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.BoardFailingReason) -> DouShouQiModel.BoardResult", - "children": [ - { - "kind": "TypeNominal", - "name": "BoardResult", - "printedName": "DouShouQiModel.BoardResult", - "usr": "s:14DouShouQiModel11BoardResultO" - }, - { - "kind": "TypeNominal", - "name": "Tuple", - "printedName": "(reason: DouShouQiModel.BoardFailingReason)", - "children": [ - { - "kind": "TypeNominal", - "name": "BoardFailingReason", - "printedName": "DouShouQiModel.BoardFailingReason", - "usr": "s:14DouShouQiModel18BoardFailingReasonO" - } - ] - } - ] - }, - { - "kind": "TypeNominal", - "name": "Metatype", - "printedName": "DouShouQiModel.BoardResult.Type", - "children": [ - { - "kind": "TypeNominal", - "name": "BoardResult", - "printedName": "DouShouQiModel.BoardResult", - "usr": "s:14DouShouQiModel11BoardResultO" - } - ] - } - ] - } - ], - "declKind": "EnumElement", - "usr": "s:14DouShouQiModel11BoardResultO6failedyAcA0E13FailingReasonO_tcACmF", - "mangledName": "$s14DouShouQiModel11BoardResultO6failedyAcA0E13FailingReasonO_tcACmF", - "moduleName": "DouShouQiModel" - }, - { - "kind": "Function", - "name": "==", - "printedName": "==(_:_:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Bool", - "printedName": "Swift.Bool", - "usr": "s:Sb" - }, - { - "kind": "TypeNominal", - "name": "BoardResult", - "printedName": "DouShouQiModel.BoardResult", - "usr": "s:14DouShouQiModel11BoardResultO" - }, - { - "kind": "TypeNominal", - "name": "BoardResult", - "printedName": "DouShouQiModel.BoardResult", - "usr": "s:14DouShouQiModel11BoardResultO" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel11BoardResultO2eeoiySbAC_ACtFZ", - "mangledName": "$s14DouShouQiModel11BoardResultO2eeoiySbAC_ACtFZ", - "moduleName": "DouShouQiModel", - "static": true, - "implicit": true, - "funcSelfKind": "NonMutating" - } - ], - "declKind": "Enum", - "usr": "s:14DouShouQiModel11BoardResultO", - "mangledName": "$s14DouShouQiModel11BoardResultO", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "conformances": [ - { - "kind": "Conformance", - "name": "Equatable", - "printedName": "Equatable", - "usr": "s:SQ", - "mangledName": "$sSQ" - } - ] - }, - { - "kind": "TypeDecl", - "name": "BoardFailingReason", - "printedName": "BoardFailingReason", - "children": [ - { - "kind": "Var", - "name": "unknown", - "printedName": "unknown", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.BoardFailingReason.Type) -> DouShouQiModel.BoardFailingReason", - "children": [ - { - "kind": "TypeNominal", - "name": "BoardFailingReason", - "printedName": "DouShouQiModel.BoardFailingReason", - "usr": "s:14DouShouQiModel18BoardFailingReasonO" - }, - { - "kind": "TypeNominal", - "name": "Metatype", - "printedName": "DouShouQiModel.BoardFailingReason.Type", - "children": [ - { - "kind": "TypeNominal", - "name": "BoardFailingReason", - "printedName": "DouShouQiModel.BoardFailingReason", - "usr": "s:14DouShouQiModel18BoardFailingReasonO" - } - ] - } - ] - } - ], - "declKind": "EnumElement", - "usr": "s:14DouShouQiModel18BoardFailingReasonO7unknownyA2CmF", - "mangledName": "$s14DouShouQiModel18BoardFailingReasonO7unknownyA2CmF", - "moduleName": "DouShouQiModel" - }, - { - "kind": "Var", - "name": "outOfBounds", - "printedName": "outOfBounds", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.BoardFailingReason.Type) -> DouShouQiModel.BoardFailingReason", - "children": [ - { - "kind": "TypeNominal", - "name": "BoardFailingReason", - "printedName": "DouShouQiModel.BoardFailingReason", - "usr": "s:14DouShouQiModel18BoardFailingReasonO" - }, - { - "kind": "TypeNominal", - "name": "Metatype", - "printedName": "DouShouQiModel.BoardFailingReason.Type", - "children": [ - { - "kind": "TypeNominal", - "name": "BoardFailingReason", - "printedName": "DouShouQiModel.BoardFailingReason", - "usr": "s:14DouShouQiModel18BoardFailingReasonO" - } - ] - } - ] - } - ], - "declKind": "EnumElement", - "usr": "s:14DouShouQiModel18BoardFailingReasonO11outOfBoundsyA2CmF", - "mangledName": "$s14DouShouQiModel18BoardFailingReasonO11outOfBoundsyA2CmF", - "moduleName": "DouShouQiModel" - }, - { - "kind": "Var", - "name": "cellNotEmpty", - "printedName": "cellNotEmpty", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.BoardFailingReason.Type) -> DouShouQiModel.BoardFailingReason", - "children": [ - { - "kind": "TypeNominal", - "name": "BoardFailingReason", - "printedName": "DouShouQiModel.BoardFailingReason", - "usr": "s:14DouShouQiModel18BoardFailingReasonO" - }, - { - "kind": "TypeNominal", - "name": "Metatype", - "printedName": "DouShouQiModel.BoardFailingReason.Type", - "children": [ - { - "kind": "TypeNominal", - "name": "BoardFailingReason", - "printedName": "DouShouQiModel.BoardFailingReason", - "usr": "s:14DouShouQiModel18BoardFailingReasonO" - } - ] - } - ] - } - ], - "declKind": "EnumElement", - "usr": "s:14DouShouQiModel18BoardFailingReasonO12cellNotEmptyyA2CmF", - "mangledName": "$s14DouShouQiModel18BoardFailingReasonO12cellNotEmptyyA2CmF", - "moduleName": "DouShouQiModel" - }, - { - "kind": "Var", - "name": "cellEmpty", - "printedName": "cellEmpty", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.BoardFailingReason.Type) -> DouShouQiModel.BoardFailingReason", - "children": [ - { - "kind": "TypeNominal", - "name": "BoardFailingReason", - "printedName": "DouShouQiModel.BoardFailingReason", - "usr": "s:14DouShouQiModel18BoardFailingReasonO" - }, - { - "kind": "TypeNominal", - "name": "Metatype", - "printedName": "DouShouQiModel.BoardFailingReason.Type", - "children": [ - { - "kind": "TypeNominal", - "name": "BoardFailingReason", - "printedName": "DouShouQiModel.BoardFailingReason", - "usr": "s:14DouShouQiModel18BoardFailingReasonO" - } - ] - } - ] - } - ], - "declKind": "EnumElement", - "usr": "s:14DouShouQiModel18BoardFailingReasonO9cellEmptyyA2CmF", - "mangledName": "$s14DouShouQiModel18BoardFailingReasonO9cellEmptyyA2CmF", - "moduleName": "DouShouQiModel" - }, - { - "kind": "Function", - "name": "==", - "printedName": "==(_:_:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Bool", - "printedName": "Swift.Bool", - "usr": "s:Sb" - }, - { - "kind": "TypeNominal", - "name": "BoardFailingReason", - "printedName": "DouShouQiModel.BoardFailingReason", - "usr": "s:14DouShouQiModel18BoardFailingReasonO" - }, - { - "kind": "TypeNominal", - "name": "BoardFailingReason", - "printedName": "DouShouQiModel.BoardFailingReason", - "usr": "s:14DouShouQiModel18BoardFailingReasonO" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel18BoardFailingReasonO2eeoiySbAC_ACtFZ", - "mangledName": "$s14DouShouQiModel18BoardFailingReasonO2eeoiySbAC_ACtFZ", - "moduleName": "DouShouQiModel", - "static": true, - "implicit": true, - "funcSelfKind": "NonMutating" - }, - { - "kind": "Var", - "name": "hashValue", - "printedName": "hashValue", - "children": [ - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ], - "declKind": "Var", - "usr": "s:14DouShouQiModel18BoardFailingReasonO9hashValueSivp", - "mangledName": "$s14DouShouQiModel18BoardFailingReasonO9hashValueSivp", - "moduleName": "DouShouQiModel", - "implicit": true, - "accessors": [ - { - "kind": "Accessor", - "name": "Get", - "printedName": "Get()", - "children": [ - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ], - "declKind": "Accessor", - "usr": "s:14DouShouQiModel18BoardFailingReasonO9hashValueSivg", - "mangledName": "$s14DouShouQiModel18BoardFailingReasonO9hashValueSivg", - "moduleName": "DouShouQiModel", - "implicit": true, - "accessorKind": "get" - } - ] - }, - { - "kind": "Function", - "name": "hash", - "printedName": "hash(into:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - }, - { - "kind": "TypeNominal", - "name": "Hasher", - "printedName": "Swift.Hasher", - "paramValueOwnership": "InOut", - "usr": "s:s6HasherV" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel18BoardFailingReasonO4hash4intoys6HasherVz_tF", - "mangledName": "$s14DouShouQiModel18BoardFailingReasonO4hash4intoys6HasherVz_tF", - "moduleName": "DouShouQiModel", - "implicit": true, - "funcSelfKind": "NonMutating" - } - ], - "declKind": "Enum", - "usr": "s:14DouShouQiModel18BoardFailingReasonO", - "mangledName": "$s14DouShouQiModel18BoardFailingReasonO", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "conformances": [ - { - "kind": "Conformance", - "name": "Equatable", - "printedName": "Equatable", - "usr": "s:SQ", - "mangledName": "$sSQ" - }, - { - "kind": "Conformance", - "name": "Hashable", - "printedName": "Hashable", - "usr": "s:SH", - "mangledName": "$sSH" - } - ] - }, - { - "kind": "Import", - "name": "Foundation", - "printedName": "Foundation", - "declKind": "Import", - "moduleName": "DouShouQiModel" - }, - { - "kind": "TypeDecl", - "name": "HumanPlayer", - "printedName": "HumanPlayer", - "children": [ - { - "kind": "Constructor", - "name": "init", - "printedName": "init(withName:andId:andInputMethod:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Optional", - "printedName": "DouShouQiModel.HumanPlayer?", - "children": [ - { - "kind": "TypeNominal", - "name": "HumanPlayer", - "printedName": "DouShouQiModel.HumanPlayer", - "usr": "s:14DouShouQiModel11HumanPlayerC" - } - ], - "usr": "s:Sq" - }, - { - "kind": "TypeNominal", - "name": "String", - "printedName": "Swift.String", - "usr": "s:SS" - }, - { - "kind": "TypeNominal", - "name": "Owner", - "printedName": "DouShouQiModel.Owner", - "usr": "s:14DouShouQiModel5OwnerO" - }, - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.HumanPlayer) -> DouShouQiModel.Move?", - "children": [ - { - "kind": "TypeNominal", - "name": "Optional", - "printedName": "DouShouQiModel.Move?", - "children": [ - { - "kind": "TypeNominal", - "name": "Move", - "printedName": "DouShouQiModel.Move", - "usr": "s:14DouShouQiModel4MoveV" - } - ], - "usr": "s:Sq" - }, - { - "kind": "TypeNominal", - "name": "HumanPlayer", - "printedName": "DouShouQiModel.HumanPlayer", - "usr": "s:14DouShouQiModel11HumanPlayerC" - } - ] - } - ], - "declKind": "Constructor", - "usr": "s:14DouShouQiModel11HumanPlayerC8withName5andId0I11InputMethodACSgSS_AA5OwnerOAA4MoveVSgACctcfc", - "mangledName": "$s14DouShouQiModel11HumanPlayerC8withName5andId0I11InputMethodACSgSS_AA5OwnerOAA4MoveVSgACctcfc", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "init_kind": "Designated" - }, - { - "kind": "Constructor", - "name": "init", - "printedName": "init(withName:andId:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Optional", - "printedName": "DouShouQiModel.HumanPlayer?", - "children": [ - { - "kind": "TypeNominal", - "name": "HumanPlayer", - "printedName": "DouShouQiModel.HumanPlayer", - "usr": "s:14DouShouQiModel11HumanPlayerC" - } - ], - "usr": "s:Sq" - }, - { - "kind": "TypeNominal", - "name": "String", - "printedName": "Swift.String", - "usr": "s:SS" - }, - { - "kind": "TypeNominal", - "name": "Owner", - "printedName": "DouShouQiModel.Owner", - "usr": "s:14DouShouQiModel5OwnerO" - } - ], - "declKind": "Constructor", - "usr": "s:14DouShouQiModel11HumanPlayerC8withName5andIdACSgSS_AA5OwnerOtcfc", - "mangledName": "$s14DouShouQiModel11HumanPlayerC8withName5andIdACSgSS_AA5OwnerOtcfc", - "moduleName": "DouShouQiModel", - "overriding": true, - "declAttributes": [ - "Override", - "AccessControl" - ], - "init_kind": "Designated" - }, - { - "kind": "Function", - "name": "chooseMove", - "printedName": "chooseMove(in:with:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - }, - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - }, - { - "kind": "TypeNominal", - "name": "Rules", - "printedName": "DouShouQiModel.Rules", - "usr": "s:14DouShouQiModel5RulesP" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel11HumanPlayerC10chooseMove2in4withyAA5BoardV_AA5Rules_ptYaKF", - "mangledName": "$s14DouShouQiModel11HumanPlayerC10chooseMove2in4withyAA5BoardV_AA5Rules_ptYaKF", - "moduleName": "DouShouQiModel", - "overriding": true, - "declAttributes": [ - "Override", - "AccessControl" - ], - "throwing": true, - "funcSelfKind": "NonMutating" - }, - { - "kind": "Function", - "name": "changeInput", - "printedName": "changeInput(input:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - }, - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.HumanPlayer) -> DouShouQiModel.Move?", - "children": [ - { - "kind": "TypeNominal", - "name": "Optional", - "printedName": "DouShouQiModel.Move?", - "children": [ - { - "kind": "TypeNominal", - "name": "Move", - "printedName": "DouShouQiModel.Move", - "usr": "s:14DouShouQiModel4MoveV" - } - ], - "usr": "s:Sq" - }, - { - "kind": "TypeNominal", - "name": "HumanPlayer", - "printedName": "DouShouQiModel.HumanPlayer", - "usr": "s:14DouShouQiModel11HumanPlayerC" - } - ] - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel11HumanPlayerC11changeInput5inputyAA4MoveVSgACc_tF", - "mangledName": "$s14DouShouQiModel11HumanPlayerC11changeInput5inputyAA4MoveVSgACc_tF", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "funcSelfKind": "NonMutating" - }, - { - "kind": "Function", - "name": "chooseMove", - "printedName": "chooseMove(_:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - }, - { - "kind": "TypeNominal", - "name": "Optional", - "printedName": "DouShouQiModel.Move?", - "children": [ - { - "kind": "TypeNominal", - "name": "Move", - "printedName": "DouShouQiModel.Move", - "usr": "s:14DouShouQiModel4MoveV" - } - ], - "usr": "s:Sq" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel11HumanPlayerC10chooseMoveyyAA0H0VSgYaKF", - "mangledName": "$s14DouShouQiModel11HumanPlayerC10chooseMoveyyAA0H0VSgYaKF", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "throwing": true, - "funcSelfKind": "NonMutating" - } - ], - "declKind": "Class", - "usr": "s:14DouShouQiModel11HumanPlayerC", - "mangledName": "$s14DouShouQiModel11HumanPlayerC", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "superclassUsr": "s:14DouShouQiModel6PlayerC", - "inheritsConvenienceInitializers": true, - "superclassNames": [ - "DouShouQiModel.Player" - ] - }, - { - "kind": "Import", - "name": "Foundation", - "printedName": "Foundation", - "declKind": "Import", - "moduleName": "DouShouQiModel" - }, - { - "kind": "TypeDecl", - "name": "ClassicRules", - "printedName": "ClassicRules", - "children": [ - { - "kind": "Function", - "name": "createBoard", - "printedName": "createBoard()", - "children": [ - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel12ClassicRulesV11createBoardAA0H0VyFZ", - "mangledName": "$s14DouShouQiModel12ClassicRulesV11createBoardAA0H0VyFZ", - "moduleName": "DouShouQiModel", - "static": true, - "declAttributes": [ - "AccessControl" - ], - "funcSelfKind": "NonMutating" - }, - { - "kind": "Function", - "name": "checkBoard", - "printedName": "checkBoard(_:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - }, - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel12ClassicRulesV10checkBoardyyAA0H0VKFZ", - "mangledName": "$s14DouShouQiModel12ClassicRulesV10checkBoardyyAA0H0VKFZ", - "moduleName": "DouShouQiModel", - "static": true, - "declAttributes": [ - "AccessControl" - ], - "throwing": true, - "funcSelfKind": "NonMutating" - }, - { - "kind": "Constructor", - "name": "init", - "printedName": "init()", - "children": [ - { - "kind": "TypeNominal", - "name": "ClassicRules", - "printedName": "DouShouQiModel.ClassicRules", - "usr": "s:14DouShouQiModel12ClassicRulesV" - } - ], - "declKind": "Constructor", - "usr": "s:14DouShouQiModel12ClassicRulesVACycfc", - "mangledName": "$s14DouShouQiModel12ClassicRulesVACycfc", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "init_kind": "Designated" - }, - { - "kind": "Constructor", - "name": "init", - "printedName": "init(occurences:historic:)", - "children": [ - { - "kind": "TypeNominal", - "name": "ClassicRules", - "printedName": "DouShouQiModel.ClassicRules", - "usr": "s:14DouShouQiModel12ClassicRulesV" - }, - { - "kind": "TypeNominal", - "name": "Dictionary", - "printedName": "[DouShouQiModel.Board : Swift.Int]", - "children": [ - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ], - "usr": "s:SD" - }, - { - "kind": "TypeNominal", - "name": "Array", - "printedName": "[DouShouQiModel.Move]", - "children": [ - { - "kind": "TypeNominal", - "name": "Move", - "printedName": "DouShouQiModel.Move", - "usr": "s:14DouShouQiModel4MoveV" - } - ], - "usr": "s:Sa" - } - ], - "declKind": "Constructor", - "usr": "s:14DouShouQiModel12ClassicRulesV10occurences8historicACSDyAA5BoardVSiG_SayAA4MoveVGtcfc", - "mangledName": "$s14DouShouQiModel12ClassicRulesV10occurences8historicACSDyAA5BoardVSiG_SayAA4MoveVGtcfc", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "init_kind": "Designated" - }, - { - "kind": "Function", - "name": "getMoves", - "printedName": "getMoves(in:of:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Array", - "printedName": "[DouShouQiModel.Move]", - "children": [ - { - "kind": "TypeNominal", - "name": "Move", - "printedName": "DouShouQiModel.Move", - "usr": "s:14DouShouQiModel4MoveV" - } - ], - "usr": "s:Sa" - }, - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - }, - { - "kind": "TypeNominal", - "name": "Owner", - "printedName": "DouShouQiModel.Owner", - "usr": "s:14DouShouQiModel5OwnerO" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel12ClassicRulesV8getMoves2in2ofSayAA4MoveVGAA5BoardV_AA5OwnerOtF", - "mangledName": "$s14DouShouQiModel12ClassicRulesV8getMoves2in2ofSayAA4MoveVGAA5BoardV_AA5OwnerOtF", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "funcSelfKind": "NonMutating" - }, - { - "kind": "Function", - "name": "getMoves", - "printedName": "getMoves(in:of:fromRow:andColumn:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Array", - "printedName": "[DouShouQiModel.Move]", - "children": [ - { - "kind": "TypeNominal", - "name": "Move", - "printedName": "DouShouQiModel.Move", - "usr": "s:14DouShouQiModel4MoveV" - } - ], - "usr": "s:Sa" - }, - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - }, - { - "kind": "TypeNominal", - "name": "Owner", - "printedName": "DouShouQiModel.Owner", - "usr": "s:14DouShouQiModel5OwnerO" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel12ClassicRulesV8getMoves2in2of7fromRow9andColumnSayAA4MoveVGAA5BoardV_AA5OwnerOS2itF", - "mangledName": "$s14DouShouQiModel12ClassicRulesV8getMoves2in2of7fromRow9andColumnSayAA4MoveVGAA5BoardV_AA5OwnerOS2itF", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "funcSelfKind": "NonMutating" - }, - { - "kind": "Function", - "name": "isMoveValid", - "printedName": "isMoveValid(onBoard:fromRow:andFromColumn:toRow:andToColumn:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Bool", - "printedName": "Swift.Bool", - "usr": "s:Sb" - }, - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel12ClassicRulesV11isMoveValid7onBoard7fromRow13andFromColumn02toM00n2ToP0SbAA0K0V_S4itF", - "mangledName": "$s14DouShouQiModel12ClassicRulesV11isMoveValid7onBoard7fromRow13andFromColumn02toM00n2ToP0SbAA0K0V_S4itF", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "funcSelfKind": "NonMutating" - }, - { - "kind": "Function", - "name": "isMoveValid", - "printedName": "isMoveValid(onBoard:withMove:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Bool", - "printedName": "Swift.Bool", - "usr": "s:Sb" - }, - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - }, - { - "kind": "TypeNominal", - "name": "Move", - "printedName": "DouShouQiModel.Move", - "usr": "s:14DouShouQiModel4MoveV" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel12ClassicRulesV11isMoveValid7onBoard04withH0SbAA0K0V_AA0H0VtF", - "mangledName": "$s14DouShouQiModel12ClassicRulesV11isMoveValid7onBoard04withH0SbAA0K0V_AA0H0VtF", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "funcSelfKind": "NonMutating" - }, - { - "kind": "Function", - "name": "isGameOver", - "printedName": "isGameOver(withBoard:andLastRowPlayed:andLastColumnPlayer:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Tuple", - "printedName": "(Swift.Bool, DouShouQiModel.Result)", - "children": [ - { - "kind": "TypeNominal", - "name": "Bool", - "printedName": "Swift.Bool", - "usr": "s:Sb" - }, - { - "kind": "TypeNominal", - "name": "Result", - "printedName": "DouShouQiModel.Result", - "usr": "s:14DouShouQiModel6ResultO" - } - ] - }, - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel12ClassicRulesV10isGameOver9withBoard16andLastRowPlayed0lM12ColumnPlayerSb_AA6ResultOtAA0K0V_S2itF", - "mangledName": "$s14DouShouQiModel12ClassicRulesV10isGameOver9withBoard16andLastRowPlayed0lM12ColumnPlayerSb_AA6ResultOtAA0K0V_S2itF", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "funcSelfKind": "NonMutating" - }, - { - "kind": "Function", - "name": "playedMove", - "printedName": "playedMove(_:onStartingBoard:andResultingBoard:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - }, - { - "kind": "TypeNominal", - "name": "Move", - "printedName": "DouShouQiModel.Move", - "usr": "s:14DouShouQiModel4MoveV" - }, - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - }, - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel12ClassicRulesV10playedMove_15onStartingBoard012andResultingK0yAA0H0V_AA0K0VAJtKF", - "mangledName": "$s14DouShouQiModel12ClassicRulesV10playedMove_15onStartingBoard012andResultingK0yAA0H0V_AA0K0VAJtKF", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "Mutating", - "AccessControl" - ], - "throwing": true, - "funcSelfKind": "Mutating" - }, - { - "kind": "Function", - "name": "getNextPlayer", - "printedName": "getNextPlayer()", - "children": [ - { - "kind": "TypeNominal", - "name": "Owner", - "printedName": "DouShouQiModel.Owner", - "usr": "s:14DouShouQiModel5OwnerO" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel12ClassicRulesV13getNextPlayerAA5OwnerOyF", - "mangledName": "$s14DouShouQiModel12ClassicRulesV13getNextPlayerAA5OwnerOyF", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "funcSelfKind": "NonMutating" - }, - { - "kind": "Var", - "name": "occurences", - "printedName": "occurences", - "children": [ - { - "kind": "TypeNominal", - "name": "Dictionary", - "printedName": "[DouShouQiModel.Board : Swift.Int]", - "children": [ - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ], - "usr": "s:SD" - } - ], - "declKind": "Var", - "usr": "s:14DouShouQiModel12ClassicRulesV10occurencesSDyAA5BoardVSiGvp", - "mangledName": "$s14DouShouQiModel12ClassicRulesV10occurencesSDyAA5BoardVSiGvp", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "HasInitialValue", - "HasStorage", - "SetterAccess", - "AccessControl" - ], - "hasStorage": true, - "accessors": [ - { - "kind": "Accessor", - "name": "Get", - "printedName": "Get()", - "children": [ - { - "kind": "TypeNominal", - "name": "Dictionary", - "printedName": "[DouShouQiModel.Board : Swift.Int]", - "children": [ - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ], - "usr": "s:SD" - } - ], - "declKind": "Accessor", - "usr": "s:14DouShouQiModel12ClassicRulesV10occurencesSDyAA5BoardVSiGvg", - "mangledName": "$s14DouShouQiModel12ClassicRulesV10occurencesSDyAA5BoardVSiGvg", - "moduleName": "DouShouQiModel", - "implicit": true, - "accessorKind": "get" - } - ] - }, - { - "kind": "Var", - "name": "historic", - "printedName": "historic", - "children": [ - { - "kind": "TypeNominal", - "name": "Array", - "printedName": "[DouShouQiModel.Move]", - "children": [ - { - "kind": "TypeNominal", - "name": "Move", - "printedName": "DouShouQiModel.Move", - "usr": "s:14DouShouQiModel4MoveV" - } - ], - "usr": "s:Sa" - } - ], - "declKind": "Var", - "usr": "s:14DouShouQiModel12ClassicRulesV8historicSayAA4MoveVGvp", - "mangledName": "$s14DouShouQiModel12ClassicRulesV8historicSayAA4MoveVGvp", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "HasInitialValue", - "HasStorage", - "SetterAccess", - "AccessControl" - ], - "hasStorage": true, - "accessors": [ - { - "kind": "Accessor", - "name": "Get", - "printedName": "Get()", - "children": [ - { - "kind": "TypeNominal", - "name": "Array", - "printedName": "[DouShouQiModel.Move]", - "children": [ - { - "kind": "TypeNominal", - "name": "Move", - "printedName": "DouShouQiModel.Move", - "usr": "s:14DouShouQiModel4MoveV" - } - ], - "usr": "s:Sa" - } - ], - "declKind": "Accessor", - "usr": "s:14DouShouQiModel12ClassicRulesV8historicSayAA4MoveVGvg", - "mangledName": "$s14DouShouQiModel12ClassicRulesV8historicSayAA4MoveVGvg", - "moduleName": "DouShouQiModel", - "implicit": true, - "accessorKind": "get" - } - ] - } - ], - "declKind": "Struct", - "usr": "s:14DouShouQiModel12ClassicRulesV", - "mangledName": "$s14DouShouQiModel12ClassicRulesV", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "conformances": [ - { - "kind": "Conformance", - "name": "Rules", - "printedName": "Rules", - "usr": "s:14DouShouQiModel5RulesP", - "mangledName": "$s14DouShouQiModel5RulesP" - } - ] - }, - { - "kind": "Import", - "name": "Foundation", - "printedName": "Foundation", - "declKind": "Import", - "moduleName": "DouShouQiModel" - }, - { - "kind": "TypeDecl", - "name": "Cell", - "printedName": "Cell", - "children": [ - { - "kind": "Var", - "name": "description", - "printedName": "description", - "children": [ - { - "kind": "TypeNominal", - "name": "String", - "printedName": "Swift.String", - "usr": "s:SS" - } - ], - "declKind": "Var", - "usr": "s:14DouShouQiModel4CellV11descriptionSSvp", - "mangledName": "$s14DouShouQiModel4CellV11descriptionSSvp", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "accessors": [ - { - "kind": "Accessor", - "name": "Get", - "printedName": "Get()", - "children": [ - { - "kind": "TypeNominal", - "name": "String", - "printedName": "Swift.String", - "usr": "s:SS" - } - ], - "declKind": "Accessor", - "usr": "s:14DouShouQiModel4CellV11descriptionSSvg", - "mangledName": "$s14DouShouQiModel4CellV11descriptionSSvg", - "moduleName": "DouShouQiModel", - "accessorKind": "get" - } - ] - }, - { - "kind": "Var", - "name": "cellType", - "printedName": "cellType", - "children": [ - { - "kind": "TypeNominal", - "name": "CellType", - "printedName": "DouShouQiModel.CellType", - "usr": "s:14DouShouQiModel8CellTypeO" - } - ], - "declKind": "Var", - "usr": "s:14DouShouQiModel4CellV8cellTypeAA0eG0Ovp", - "mangledName": "$s14DouShouQiModel4CellV8cellTypeAA0eG0Ovp", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "HasStorage", - "AccessControl" - ], - "isLet": true, - "hasStorage": true, - "accessors": [ - { - "kind": "Accessor", - "name": "Get", - "printedName": "Get()", - "children": [ - { - "kind": "TypeNominal", - "name": "CellType", - "printedName": "DouShouQiModel.CellType", - "usr": "s:14DouShouQiModel8CellTypeO" - } - ], - "declKind": "Accessor", - "usr": "s:14DouShouQiModel4CellV8cellTypeAA0eG0Ovg", - "mangledName": "$s14DouShouQiModel4CellV8cellTypeAA0eG0Ovg", - "moduleName": "DouShouQiModel", - "implicit": true, - "accessorKind": "get" - } - ] - }, - { - "kind": "Var", - "name": "initialOwner", - "printedName": "initialOwner", - "children": [ - { - "kind": "TypeNominal", - "name": "Owner", - "printedName": "DouShouQiModel.Owner", - "usr": "s:14DouShouQiModel5OwnerO" - } - ], - "declKind": "Var", - "usr": "s:14DouShouQiModel4CellV12initialOwnerAA0G0Ovp", - "mangledName": "$s14DouShouQiModel4CellV12initialOwnerAA0G0Ovp", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "HasStorage", - "AccessControl" - ], - "isLet": true, - "hasStorage": true, - "accessors": [ - { - "kind": "Accessor", - "name": "Get", - "printedName": "Get()", - "children": [ - { - "kind": "TypeNominal", - "name": "Owner", - "printedName": "DouShouQiModel.Owner", - "usr": "s:14DouShouQiModel5OwnerO" - } - ], - "declKind": "Accessor", - "usr": "s:14DouShouQiModel4CellV12initialOwnerAA0G0Ovg", - "mangledName": "$s14DouShouQiModel4CellV12initialOwnerAA0G0Ovg", - "moduleName": "DouShouQiModel", - "implicit": true, - "accessorKind": "get" - } - ] - }, - { - "kind": "Var", - "name": "piece", - "printedName": "piece", - "children": [ - { - "kind": "TypeNominal", - "name": "Optional", - "printedName": "DouShouQiModel.Piece?", - "children": [ - { - "kind": "TypeNominal", - "name": "Piece", - "printedName": "DouShouQiModel.Piece", - "usr": "s:14DouShouQiModel5PieceV" - } - ], - "usr": "s:Sq" - } - ], - "declKind": "Var", - "usr": "s:14DouShouQiModel4CellV5pieceAA5PieceVSgvp", - "mangledName": "$s14DouShouQiModel4CellV5pieceAA5PieceVSgvp", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "HasInitialValue", - "HasStorage", - "AccessControl" - ], - "hasStorage": true, - "accessors": [ - { - "kind": "Accessor", - "name": "Get", - "printedName": "Get()", - "children": [ - { - "kind": "TypeNominal", - "name": "Optional", - "printedName": "DouShouQiModel.Piece?", - "children": [ - { - "kind": "TypeNominal", - "name": "Piece", - "printedName": "DouShouQiModel.Piece", - "usr": "s:14DouShouQiModel5PieceV" - } - ], - "usr": "s:Sq" - } - ], - "declKind": "Accessor", - "usr": "s:14DouShouQiModel4CellV5pieceAA5PieceVSgvg", - "mangledName": "$s14DouShouQiModel4CellV5pieceAA5PieceVSgvg", - "moduleName": "DouShouQiModel", - "implicit": true, - "accessorKind": "get" - }, - { - "kind": "Accessor", - "name": "Set", - "printedName": "Set()", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - }, - { - "kind": "TypeNominal", - "name": "Optional", - "printedName": "DouShouQiModel.Piece?", - "children": [ - { - "kind": "TypeNominal", - "name": "Piece", - "printedName": "DouShouQiModel.Piece", - "usr": "s:14DouShouQiModel5PieceV" - } - ], - "usr": "s:Sq" - } - ], - "declKind": "Accessor", - "usr": "s:14DouShouQiModel4CellV5pieceAA5PieceVSgvs", - "mangledName": "$s14DouShouQiModel4CellV5pieceAA5PieceVSgvs", - "moduleName": "DouShouQiModel", - "implicit": true, - "accessorKind": "set" - }, - { - "kind": "Accessor", - "name": "Modify", - "printedName": "Modify()", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - } - ], - "declKind": "Accessor", - "usr": "s:14DouShouQiModel4CellV5pieceAA5PieceVSgvM", - "mangledName": "$s14DouShouQiModel4CellV5pieceAA5PieceVSgvM", - "moduleName": "DouShouQiModel", - "implicit": true, - "accessorKind": "_modify" - } - ] - }, - { - "kind": "Constructor", - "name": "init", - "printedName": "init(ofType:ownedBy:withPiece:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Cell", - "printedName": "DouShouQiModel.Cell", - "usr": "s:14DouShouQiModel4CellV" - }, - { - "kind": "TypeNominal", - "name": "CellType", - "printedName": "DouShouQiModel.CellType", - "usr": "s:14DouShouQiModel8CellTypeO" - }, - { - "kind": "TypeNominal", - "name": "Owner", - "printedName": "DouShouQiModel.Owner", - "hasDefaultArg": true, - "usr": "s:14DouShouQiModel5OwnerO" - }, - { - "kind": "TypeNominal", - "name": "Optional", - "printedName": "DouShouQiModel.Piece?", - "children": [ - { - "kind": "TypeNominal", - "name": "Piece", - "printedName": "DouShouQiModel.Piece", - "usr": "s:14DouShouQiModel5PieceV" - } - ], - "hasDefaultArg": true, - "usr": "s:Sq" - } - ], - "declKind": "Constructor", - "usr": "s:14DouShouQiModel4CellV6ofType7ownedBy9withPieceAcA0eG0O_AA5OwnerOAA0K0VSgtcfc", - "mangledName": "$s14DouShouQiModel4CellV6ofType7ownedBy9withPieceAcA0eG0O_AA5OwnerOAA0K0VSgtcfc", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "init_kind": "Designated" - }, - { - "kind": "Function", - "name": "==", - "printedName": "==(_:_:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Bool", - "printedName": "Swift.Bool", - "usr": "s:Sb" - }, - { - "kind": "TypeNominal", - "name": "Cell", - "printedName": "DouShouQiModel.Cell", - "usr": "s:14DouShouQiModel4CellV" - }, - { - "kind": "TypeNominal", - "name": "Cell", - "printedName": "DouShouQiModel.Cell", - "usr": "s:14DouShouQiModel4CellV" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel4CellV2eeoiySbAC_ACtFZ", - "mangledName": "$s14DouShouQiModel4CellV2eeoiySbAC_ACtFZ", - "moduleName": "DouShouQiModel", - "static": true, - "implicit": true, - "funcSelfKind": "NonMutating" - } - ], - "declKind": "Struct", - "usr": "s:14DouShouQiModel4CellV", - "mangledName": "$s14DouShouQiModel4CellV", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "conformances": [ - { - "kind": "Conformance", - "name": "CustomStringConvertible", - "printedName": "CustomStringConvertible", - "usr": "s:s23CustomStringConvertibleP", - "mangledName": "$ss23CustomStringConvertibleP" - }, - { - "kind": "Conformance", - "name": "Equatable", - "printedName": "Equatable", - "usr": "s:SQ", - "mangledName": "$sSQ" - } - ] - }, - { - "kind": "Import", - "name": "Foundation", - "printedName": "Foundation", - "declKind": "Import", - "moduleName": "DouShouQiModel" - }, - { - "kind": "TypeDecl", - "name": "VerySimpleRules", - "printedName": "VerySimpleRules", - "children": [ - { - "kind": "Function", - "name": "createBoard", - "printedName": "createBoard()", - "children": [ - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel15VerySimpleRulesV11createBoardAA0I0VyFZ", - "mangledName": "$s14DouShouQiModel15VerySimpleRulesV11createBoardAA0I0VyFZ", - "moduleName": "DouShouQiModel", - "static": true, - "declAttributes": [ - "AccessControl" - ], - "funcSelfKind": "NonMutating" - }, - { - "kind": "Function", - "name": "checkBoard", - "printedName": "checkBoard(_:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - }, - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel15VerySimpleRulesV10checkBoardyyAA0I0VKFZ", - "mangledName": "$s14DouShouQiModel15VerySimpleRulesV10checkBoardyyAA0I0VKFZ", - "moduleName": "DouShouQiModel", - "static": true, - "declAttributes": [ - "AccessControl" - ], - "throwing": true, - "funcSelfKind": "NonMutating" - }, - { - "kind": "Constructor", - "name": "init", - "printedName": "init()", - "children": [ - { - "kind": "TypeNominal", - "name": "VerySimpleRules", - "printedName": "DouShouQiModel.VerySimpleRules", - "usr": "s:14DouShouQiModel15VerySimpleRulesV" - } - ], - "declKind": "Constructor", - "usr": "s:14DouShouQiModel15VerySimpleRulesVACycfc", - "mangledName": "$s14DouShouQiModel15VerySimpleRulesVACycfc", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "init_kind": "Designated" - }, - { - "kind": "Constructor", - "name": "init", - "printedName": "init(occurences:historic:)", - "children": [ - { - "kind": "TypeNominal", - "name": "VerySimpleRules", - "printedName": "DouShouQiModel.VerySimpleRules", - "usr": "s:14DouShouQiModel15VerySimpleRulesV" - }, - { - "kind": "TypeNominal", - "name": "Dictionary", - "printedName": "[DouShouQiModel.Board : Swift.Int]", - "children": [ - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ], - "usr": "s:SD" - }, - { - "kind": "TypeNominal", - "name": "Array", - "printedName": "[DouShouQiModel.Move]", - "children": [ - { - "kind": "TypeNominal", - "name": "Move", - "printedName": "DouShouQiModel.Move", - "usr": "s:14DouShouQiModel4MoveV" - } - ], - "usr": "s:Sa" - } - ], - "declKind": "Constructor", - "usr": "s:14DouShouQiModel15VerySimpleRulesV10occurences8historicACSDyAA5BoardVSiG_SayAA4MoveVGtcfc", - "mangledName": "$s14DouShouQiModel15VerySimpleRulesV10occurences8historicACSDyAA5BoardVSiG_SayAA4MoveVGtcfc", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "init_kind": "Designated" - }, - { - "kind": "Function", - "name": "getMoves", - "printedName": "getMoves(in:of:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Array", - "printedName": "[DouShouQiModel.Move]", - "children": [ - { - "kind": "TypeNominal", - "name": "Move", - "printedName": "DouShouQiModel.Move", - "usr": "s:14DouShouQiModel4MoveV" - } - ], - "usr": "s:Sa" - }, - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - }, - { - "kind": "TypeNominal", - "name": "Owner", - "printedName": "DouShouQiModel.Owner", - "usr": "s:14DouShouQiModel5OwnerO" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel15VerySimpleRulesV8getMoves2in2ofSayAA4MoveVGAA5BoardV_AA5OwnerOtF", - "mangledName": "$s14DouShouQiModel15VerySimpleRulesV8getMoves2in2ofSayAA4MoveVGAA5BoardV_AA5OwnerOtF", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "funcSelfKind": "NonMutating" - }, - { - "kind": "Function", - "name": "getMoves", - "printedName": "getMoves(in:of:fromRow:andColumn:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Array", - "printedName": "[DouShouQiModel.Move]", - "children": [ - { - "kind": "TypeNominal", - "name": "Move", - "printedName": "DouShouQiModel.Move", - "usr": "s:14DouShouQiModel4MoveV" - } - ], - "usr": "s:Sa" - }, - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - }, - { - "kind": "TypeNominal", - "name": "Owner", - "printedName": "DouShouQiModel.Owner", - "usr": "s:14DouShouQiModel5OwnerO" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel15VerySimpleRulesV8getMoves2in2of7fromRow9andColumnSayAA4MoveVGAA5BoardV_AA5OwnerOS2itF", - "mangledName": "$s14DouShouQiModel15VerySimpleRulesV8getMoves2in2of7fromRow9andColumnSayAA4MoveVGAA5BoardV_AA5OwnerOS2itF", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "funcSelfKind": "NonMutating" - }, - { - "kind": "Function", - "name": "isMoveValid", - "printedName": "isMoveValid(onBoard:fromRow:andFromColumn:toRow:andToColumn:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Bool", - "printedName": "Swift.Bool", - "usr": "s:Sb" - }, - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel15VerySimpleRulesV11isMoveValid7onBoard7fromRow13andFromColumn02toN00o2ToQ0SbAA0L0V_S4itF", - "mangledName": "$s14DouShouQiModel15VerySimpleRulesV11isMoveValid7onBoard7fromRow13andFromColumn02toN00o2ToQ0SbAA0L0V_S4itF", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "funcSelfKind": "NonMutating" - }, - { - "kind": "Function", - "name": "isMoveValid", - "printedName": "isMoveValid(onBoard:withMove:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Bool", - "printedName": "Swift.Bool", - "usr": "s:Sb" - }, - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - }, - { - "kind": "TypeNominal", - "name": "Move", - "printedName": "DouShouQiModel.Move", - "usr": "s:14DouShouQiModel4MoveV" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel15VerySimpleRulesV11isMoveValid7onBoard04withI0SbAA0L0V_AA0I0VtF", - "mangledName": "$s14DouShouQiModel15VerySimpleRulesV11isMoveValid7onBoard04withI0SbAA0L0V_AA0I0VtF", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "funcSelfKind": "NonMutating" - }, - { - "kind": "Function", - "name": "isGameOver", - "printedName": "isGameOver(withBoard:andLastRowPlayed:andLastColumnPlayer:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Tuple", - "printedName": "(Swift.Bool, DouShouQiModel.Result)", - "children": [ - { - "kind": "TypeNominal", - "name": "Bool", - "printedName": "Swift.Bool", - "usr": "s:Sb" - }, - { - "kind": "TypeNominal", - "name": "Result", - "printedName": "DouShouQiModel.Result", - "usr": "s:14DouShouQiModel6ResultO" - } - ] - }, - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel15VerySimpleRulesV10isGameOver9withBoard16andLastRowPlayed0mN12ColumnPlayerSb_AA6ResultOtAA0L0V_S2itF", - "mangledName": "$s14DouShouQiModel15VerySimpleRulesV10isGameOver9withBoard16andLastRowPlayed0mN12ColumnPlayerSb_AA6ResultOtAA0L0V_S2itF", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "funcSelfKind": "NonMutating" - }, - { - "kind": "Function", - "name": "playedMove", - "printedName": "playedMove(_:onStartingBoard:andResultingBoard:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - }, - { - "kind": "TypeNominal", - "name": "Move", - "printedName": "DouShouQiModel.Move", - "usr": "s:14DouShouQiModel4MoveV" - }, - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - }, - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel15VerySimpleRulesV10playedMove_15onStartingBoard012andResultingL0yAA0I0V_AA0L0VAJtKF", - "mangledName": "$s14DouShouQiModel15VerySimpleRulesV10playedMove_15onStartingBoard012andResultingL0yAA0I0V_AA0L0VAJtKF", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "Mutating", - "AccessControl" - ], - "throwing": true, - "funcSelfKind": "Mutating" - }, - { - "kind": "Function", - "name": "getNextPlayer", - "printedName": "getNextPlayer()", - "children": [ - { - "kind": "TypeNominal", - "name": "Owner", - "printedName": "DouShouQiModel.Owner", - "usr": "s:14DouShouQiModel5OwnerO" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel15VerySimpleRulesV13getNextPlayerAA5OwnerOyF", - "mangledName": "$s14DouShouQiModel15VerySimpleRulesV13getNextPlayerAA5OwnerOyF", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "funcSelfKind": "NonMutating" - }, - { - "kind": "Var", - "name": "occurences", - "printedName": "occurences", - "children": [ - { - "kind": "TypeNominal", - "name": "Dictionary", - "printedName": "[DouShouQiModel.Board : Swift.Int]", - "children": [ - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ], - "usr": "s:SD" - } - ], - "declKind": "Var", - "usr": "s:14DouShouQiModel15VerySimpleRulesV10occurencesSDyAA5BoardVSiGvp", - "mangledName": "$s14DouShouQiModel15VerySimpleRulesV10occurencesSDyAA5BoardVSiGvp", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "HasInitialValue", - "HasStorage", - "SetterAccess", - "AccessControl" - ], - "hasStorage": true, - "accessors": [ - { - "kind": "Accessor", - "name": "Get", - "printedName": "Get()", - "children": [ - { - "kind": "TypeNominal", - "name": "Dictionary", - "printedName": "[DouShouQiModel.Board : Swift.Int]", - "children": [ - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ], - "usr": "s:SD" - } - ], - "declKind": "Accessor", - "usr": "s:14DouShouQiModel15VerySimpleRulesV10occurencesSDyAA5BoardVSiGvg", - "mangledName": "$s14DouShouQiModel15VerySimpleRulesV10occurencesSDyAA5BoardVSiGvg", - "moduleName": "DouShouQiModel", - "implicit": true, - "accessorKind": "get" - } - ] - }, - { - "kind": "Var", - "name": "historic", - "printedName": "historic", - "children": [ - { - "kind": "TypeNominal", - "name": "Array", - "printedName": "[DouShouQiModel.Move]", - "children": [ - { - "kind": "TypeNominal", - "name": "Move", - "printedName": "DouShouQiModel.Move", - "usr": "s:14DouShouQiModel4MoveV" - } - ], - "usr": "s:Sa" - } - ], - "declKind": "Var", - "usr": "s:14DouShouQiModel15VerySimpleRulesV8historicSayAA4MoveVGvp", - "mangledName": "$s14DouShouQiModel15VerySimpleRulesV8historicSayAA4MoveVGvp", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "HasInitialValue", - "HasStorage", - "SetterAccess", - "AccessControl" - ], - "hasStorage": true, - "accessors": [ - { - "kind": "Accessor", - "name": "Get", - "printedName": "Get()", - "children": [ - { - "kind": "TypeNominal", - "name": "Array", - "printedName": "[DouShouQiModel.Move]", - "children": [ - { - "kind": "TypeNominal", - "name": "Move", - "printedName": "DouShouQiModel.Move", - "usr": "s:14DouShouQiModel4MoveV" - } - ], - "usr": "s:Sa" - } - ], - "declKind": "Accessor", - "usr": "s:14DouShouQiModel15VerySimpleRulesV8historicSayAA4MoveVGvg", - "mangledName": "$s14DouShouQiModel15VerySimpleRulesV8historicSayAA4MoveVGvg", - "moduleName": "DouShouQiModel", - "implicit": true, - "accessorKind": "get" - } - ] - } - ], - "declKind": "Struct", - "usr": "s:14DouShouQiModel15VerySimpleRulesV", - "mangledName": "$s14DouShouQiModel15VerySimpleRulesV", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "conformances": [ - { - "kind": "Conformance", - "name": "Rules", - "printedName": "Rules", - "usr": "s:14DouShouQiModel5RulesP", - "mangledName": "$s14DouShouQiModel5RulesP" - } - ] - }, - { - "kind": "Import", - "name": "Foundation", - "printedName": "Foundation", - "declKind": "Import", - "moduleName": "DouShouQiModel" - }, - { - "kind": "TypeDecl", - "name": "Rules", - "printedName": "Rules", - "children": [ - { - "kind": "Function", - "name": "createBoard", - "printedName": "createBoard()", - "children": [ - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel5RulesP11createBoardAA0G0VyFZ", - "mangledName": "$s14DouShouQiModel5RulesP11createBoardAA0G0VyFZ", - "moduleName": "DouShouQiModel", - "genericSig": "<τ_0_0 where τ_0_0 : DouShouQiModel.Rules>", - "sugared_genericSig": "", - "static": true, - "protocolReq": true, - "reqNewWitnessTableEntry": true, - "funcSelfKind": "NonMutating" - }, - { - "kind": "Function", - "name": "checkBoard", - "printedName": "checkBoard(_:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - }, - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel5RulesP10checkBoardyyAA0G0VKFZ", - "mangledName": "$s14DouShouQiModel5RulesP10checkBoardyyAA0G0VKFZ", - "moduleName": "DouShouQiModel", - "genericSig": "<τ_0_0 where τ_0_0 : DouShouQiModel.Rules>", - "sugared_genericSig": "", - "static": true, - "protocolReq": true, - "throwing": true, - "reqNewWitnessTableEntry": true, - "funcSelfKind": "NonMutating" - }, - { - "kind": "Function", - "name": "getNextPlayer", - "printedName": "getNextPlayer()", - "children": [ - { - "kind": "TypeNominal", - "name": "Owner", - "printedName": "DouShouQiModel.Owner", - "usr": "s:14DouShouQiModel5OwnerO" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel5RulesP13getNextPlayerAA5OwnerOyF", - "mangledName": "$s14DouShouQiModel5RulesP13getNextPlayerAA5OwnerOyF", - "moduleName": "DouShouQiModel", - "genericSig": "<τ_0_0 where τ_0_0 : DouShouQiModel.Rules>", - "sugared_genericSig": "", - "protocolReq": true, - "reqNewWitnessTableEntry": true, - "funcSelfKind": "NonMutating" - }, - { - "kind": "Function", - "name": "getMoves", - "printedName": "getMoves(in:of:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Array", - "printedName": "[DouShouQiModel.Move]", - "children": [ - { - "kind": "TypeNominal", - "name": "Move", - "printedName": "DouShouQiModel.Move", - "usr": "s:14DouShouQiModel4MoveV" - } - ], - "usr": "s:Sa" - }, - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - }, - { - "kind": "TypeNominal", - "name": "Owner", - "printedName": "DouShouQiModel.Owner", - "usr": "s:14DouShouQiModel5OwnerO" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel5RulesP8getMoves2in2ofSayAA4MoveVGAA5BoardV_AA5OwnerOtF", - "mangledName": "$s14DouShouQiModel5RulesP8getMoves2in2ofSayAA4MoveVGAA5BoardV_AA5OwnerOtF", - "moduleName": "DouShouQiModel", - "genericSig": "<τ_0_0 where τ_0_0 : DouShouQiModel.Rules>", - "sugared_genericSig": "", - "protocolReq": true, - "reqNewWitnessTableEntry": true, - "funcSelfKind": "NonMutating" - }, - { - "kind": "Function", - "name": "getMoves", - "printedName": "getMoves(in:of:fromRow:andColumn:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Array", - "printedName": "[DouShouQiModel.Move]", - "children": [ - { - "kind": "TypeNominal", - "name": "Move", - "printedName": "DouShouQiModel.Move", - "usr": "s:14DouShouQiModel4MoveV" - } - ], - "usr": "s:Sa" - }, - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - }, - { - "kind": "TypeNominal", - "name": "Owner", - "printedName": "DouShouQiModel.Owner", - "usr": "s:14DouShouQiModel5OwnerO" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel5RulesP8getMoves2in2of7fromRow9andColumnSayAA4MoveVGAA5BoardV_AA5OwnerOS2itF", - "mangledName": "$s14DouShouQiModel5RulesP8getMoves2in2of7fromRow9andColumnSayAA4MoveVGAA5BoardV_AA5OwnerOS2itF", - "moduleName": "DouShouQiModel", - "genericSig": "<τ_0_0 where τ_0_0 : DouShouQiModel.Rules>", - "sugared_genericSig": "", - "protocolReq": true, - "reqNewWitnessTableEntry": true, - "funcSelfKind": "NonMutating" - }, - { - "kind": "Function", - "name": "isMoveValid", - "printedName": "isMoveValid(onBoard:fromRow:andFromColumn:toRow:andToColumn:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Bool", - "printedName": "Swift.Bool", - "usr": "s:Sb" - }, - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel5RulesP11isMoveValid7onBoard7fromRow13andFromColumn02toL00m2ToO0SbAA0J0V_S4itF", - "mangledName": "$s14DouShouQiModel5RulesP11isMoveValid7onBoard7fromRow13andFromColumn02toL00m2ToO0SbAA0J0V_S4itF", - "moduleName": "DouShouQiModel", - "genericSig": "<τ_0_0 where τ_0_0 : DouShouQiModel.Rules>", - "sugared_genericSig": "", - "protocolReq": true, - "reqNewWitnessTableEntry": true, - "funcSelfKind": "NonMutating" - }, - { - "kind": "Function", - "name": "isMoveValid", - "printedName": "isMoveValid(onBoard:withMove:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Bool", - "printedName": "Swift.Bool", - "usr": "s:Sb" - }, - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - }, - { - "kind": "TypeNominal", - "name": "Move", - "printedName": "DouShouQiModel.Move", - "usr": "s:14DouShouQiModel4MoveV" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel5RulesP11isMoveValid7onBoard04withG0SbAA0J0V_AA0G0VtF", - "mangledName": "$s14DouShouQiModel5RulesP11isMoveValid7onBoard04withG0SbAA0J0V_AA0G0VtF", - "moduleName": "DouShouQiModel", - "genericSig": "<τ_0_0 where τ_0_0 : DouShouQiModel.Rules>", - "sugared_genericSig": "", - "protocolReq": true, - "reqNewWitnessTableEntry": true, - "funcSelfKind": "NonMutating" - }, - { - "kind": "Function", - "name": "isGameOver", - "printedName": "isGameOver(withBoard:andLastRowPlayed:andLastColumnPlayer:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Tuple", - "printedName": "(Swift.Bool, DouShouQiModel.Result)", - "children": [ - { - "kind": "TypeNominal", - "name": "Bool", - "printedName": "Swift.Bool", - "usr": "s:Sb" - }, - { - "kind": "TypeNominal", - "name": "Result", - "printedName": "DouShouQiModel.Result", - "usr": "s:14DouShouQiModel6ResultO" - } - ] - }, - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel5RulesP10isGameOver9withBoard16andLastRowPlayed0kL12ColumnPlayerSb_AA6ResultOtAA0J0V_S2itF", - "mangledName": "$s14DouShouQiModel5RulesP10isGameOver9withBoard16andLastRowPlayed0kL12ColumnPlayerSb_AA6ResultOtAA0J0V_S2itF", - "moduleName": "DouShouQiModel", - "genericSig": "<τ_0_0 where τ_0_0 : DouShouQiModel.Rules>", - "sugared_genericSig": "", - "protocolReq": true, - "reqNewWitnessTableEntry": true, - "funcSelfKind": "NonMutating" - }, - { - "kind": "Function", - "name": "playedMove", - "printedName": "playedMove(_:onStartingBoard:andResultingBoard:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - }, - { - "kind": "TypeNominal", - "name": "Move", - "printedName": "DouShouQiModel.Move", - "usr": "s:14DouShouQiModel4MoveV" - }, - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - }, - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel5RulesP10playedMove_15onStartingBoard012andResultingJ0yAA0G0V_AA0J0VAJtKF", - "mangledName": "$s14DouShouQiModel5RulesP10playedMove_15onStartingBoard012andResultingJ0yAA0G0V_AA0J0VAJtKF", - "moduleName": "DouShouQiModel", - "genericSig": "<τ_0_0 where τ_0_0 : DouShouQiModel.Rules>", - "sugared_genericSig": "", - "protocolReq": true, - "declAttributes": [ - "Mutating" - ], - "throwing": true, - "reqNewWitnessTableEntry": true, - "funcSelfKind": "Mutating" - }, - { - "kind": "Var", - "name": "occurences", - "printedName": "occurences", - "children": [ - { - "kind": "TypeNominal", - "name": "Dictionary", - "printedName": "[DouShouQiModel.Board : Swift.Int]", - "children": [ - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ], - "usr": "s:SD" - } - ], - "declKind": "Var", - "usr": "s:14DouShouQiModel5RulesP10occurencesSDyAA5BoardVSiGvp", - "mangledName": "$s14DouShouQiModel5RulesP10occurencesSDyAA5BoardVSiGvp", - "moduleName": "DouShouQiModel", - "protocolReq": true, - "accessors": [ - { - "kind": "Accessor", - "name": "Get", - "printedName": "Get()", - "children": [ - { - "kind": "TypeNominal", - "name": "Dictionary", - "printedName": "[DouShouQiModel.Board : Swift.Int]", - "children": [ - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ], - "usr": "s:SD" - } - ], - "declKind": "Accessor", - "usr": "s:14DouShouQiModel5RulesP10occurencesSDyAA5BoardVSiGvg", - "mangledName": "$s14DouShouQiModel5RulesP10occurencesSDyAA5BoardVSiGvg", - "moduleName": "DouShouQiModel", - "genericSig": "<τ_0_0 where τ_0_0 : DouShouQiModel.Rules>", - "sugared_genericSig": "", - "protocolReq": true, - "reqNewWitnessTableEntry": true, - "accessorKind": "get" - } - ] - }, - { - "kind": "Var", - "name": "historic", - "printedName": "historic", - "children": [ - { - "kind": "TypeNominal", - "name": "Array", - "printedName": "[DouShouQiModel.Move]", - "children": [ - { - "kind": "TypeNominal", - "name": "Move", - "printedName": "DouShouQiModel.Move", - "usr": "s:14DouShouQiModel4MoveV" - } - ], - "usr": "s:Sa" - } - ], - "declKind": "Var", - "usr": "s:14DouShouQiModel5RulesP8historicSayAA4MoveVGvp", - "mangledName": "$s14DouShouQiModel5RulesP8historicSayAA4MoveVGvp", - "moduleName": "DouShouQiModel", - "protocolReq": true, - "accessors": [ - { - "kind": "Accessor", - "name": "Get", - "printedName": "Get()", - "children": [ - { - "kind": "TypeNominal", - "name": "Array", - "printedName": "[DouShouQiModel.Move]", - "children": [ - { - "kind": "TypeNominal", - "name": "Move", - "printedName": "DouShouQiModel.Move", - "usr": "s:14DouShouQiModel4MoveV" - } - ], - "usr": "s:Sa" - } - ], - "declKind": "Accessor", - "usr": "s:14DouShouQiModel5RulesP8historicSayAA4MoveVGvg", - "mangledName": "$s14DouShouQiModel5RulesP8historicSayAA4MoveVGvg", - "moduleName": "DouShouQiModel", - "genericSig": "<τ_0_0 where τ_0_0 : DouShouQiModel.Rules>", - "sugared_genericSig": "", - "protocolReq": true, - "reqNewWitnessTableEntry": true, - "accessorKind": "get" - } - ] - } - ], - "declKind": "Protocol", - "usr": "s:14DouShouQiModel5RulesP", - "mangledName": "$s14DouShouQiModel5RulesP", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ] - }, - { - "kind": "Import", - "name": "Foundation", - "printedName": "Foundation", - "declKind": "Import", - "moduleName": "DouShouQiModel" - }, - { - "kind": "TypeDecl", - "name": "Player", - "printedName": "Player", - "children": [ - { - "kind": "Var", - "name": "name", - "printedName": "name", - "children": [ - { - "kind": "TypeNominal", - "name": "String", - "printedName": "Swift.String", - "usr": "s:SS" - } - ], - "declKind": "Var", - "usr": "s:14DouShouQiModel6PlayerC4nameSSvp", - "mangledName": "$s14DouShouQiModel6PlayerC4nameSSvp", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "HasStorage", - "Final", - "AccessControl" - ], - "isLet": true, - "hasStorage": true, - "accessors": [ - { - "kind": "Accessor", - "name": "Get", - "printedName": "Get()", - "children": [ - { - "kind": "TypeNominal", - "name": "String", - "printedName": "Swift.String", - "usr": "s:SS" - } - ], - "declKind": "Accessor", - "usr": "s:14DouShouQiModel6PlayerC4nameSSvg", - "mangledName": "$s14DouShouQiModel6PlayerC4nameSSvg", - "moduleName": "DouShouQiModel", - "implicit": true, - "declAttributes": [ - "Final" - ], - "accessorKind": "get" - } - ] - }, - { - "kind": "Var", - "name": "id", - "printedName": "id", - "children": [ - { - "kind": "TypeNominal", - "name": "Owner", - "printedName": "DouShouQiModel.Owner", - "usr": "s:14DouShouQiModel5OwnerO" - } - ], - "declKind": "Var", - "usr": "s:14DouShouQiModel6PlayerC2idAA5OwnerOvp", - "mangledName": "$s14DouShouQiModel6PlayerC2idAA5OwnerOvp", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "HasStorage", - "Final", - "AccessControl" - ], - "isLet": true, - "hasStorage": true, - "accessors": [ - { - "kind": "Accessor", - "name": "Get", - "printedName": "Get()", - "children": [ - { - "kind": "TypeNominal", - "name": "Owner", - "printedName": "DouShouQiModel.Owner", - "usr": "s:14DouShouQiModel5OwnerO" - } - ], - "declKind": "Accessor", - "usr": "s:14DouShouQiModel6PlayerC2idAA5OwnerOvg", - "mangledName": "$s14DouShouQiModel6PlayerC2idAA5OwnerOvg", - "moduleName": "DouShouQiModel", - "implicit": true, - "declAttributes": [ - "Final" - ], - "accessorKind": "get" - } - ] - }, - { - "kind": "Constructor", - "name": "init", - "printedName": "init(withName:andId:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Optional", - "printedName": "DouShouQiModel.Player?", - "children": [ - { - "kind": "TypeNominal", - "name": "Player", - "printedName": "DouShouQiModel.Player", - "usr": "s:14DouShouQiModel6PlayerC" - } - ], - "usr": "s:Sq" - }, - { - "kind": "TypeNominal", - "name": "String", - "printedName": "Swift.String", - "usr": "s:SS" - }, - { - "kind": "TypeNominal", - "name": "Owner", - "printedName": "DouShouQiModel.Owner", - "usr": "s:14DouShouQiModel5OwnerO" - } - ], - "declKind": "Constructor", - "usr": "s:14DouShouQiModel6PlayerC8withName5andIdACSgSS_AA5OwnerOtcfc", - "mangledName": "$s14DouShouQiModel6PlayerC8withName5andIdACSgSS_AA5OwnerOtcfc", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "init_kind": "Designated" - }, - { - "kind": "Function", - "name": "chooseMove", - "printedName": "chooseMove(in:with:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - }, - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - }, - { - "kind": "TypeNominal", - "name": "Rules", - "printedName": "DouShouQiModel.Rules", - "usr": "s:14DouShouQiModel5RulesP" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel6PlayerC10chooseMove2in4withyAA5BoardV_AA5Rules_ptYaKF", - "mangledName": "$s14DouShouQiModel6PlayerC10chooseMove2in4withyAA5BoardV_AA5Rules_ptYaKF", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "throwing": true, - "funcSelfKind": "NonMutating" - }, - { - "kind": "Function", - "name": "addPlayedCallbacksListener", - "printedName": "addPlayedCallbacksListener(_:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - }, - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.Move?, DouShouQiModel.Player) async throws -> ()", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - }, - { - "kind": "TypeNominal", - "name": "Tuple", - "printedName": "(DouShouQiModel.Move?, DouShouQiModel.Player)", - "children": [ - { - "kind": "TypeNominal", - "name": "Optional", - "printedName": "DouShouQiModel.Move?", - "children": [ - { - "kind": "TypeNominal", - "name": "Move", - "printedName": "DouShouQiModel.Move", - "usr": "s:14DouShouQiModel4MoveV" - } - ], - "usr": "s:Sq" - }, - { - "kind": "TypeNominal", - "name": "Player", - "printedName": "DouShouQiModel.Player", - "usr": "s:14DouShouQiModel6PlayerC" - } - ] - } - ] - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel6PlayerC26addPlayedCallbacksListeneryyyAA4MoveVSg_ACtYaKcF", - "mangledName": "$s14DouShouQiModel6PlayerC26addPlayedCallbacksListeneryyyAA4MoveVSg_ACtYaKcF", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "funcSelfKind": "NonMutating" - }, - { - "kind": "Function", - "name": "notifyPlayed", - "printedName": "notifyPlayed(withMove:andPlayer:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - }, - { - "kind": "TypeNominal", - "name": "Optional", - "printedName": "DouShouQiModel.Move?", - "children": [ - { - "kind": "TypeNominal", - "name": "Move", - "printedName": "DouShouQiModel.Move", - "usr": "s:14DouShouQiModel4MoveV" - } - ], - "usr": "s:Sq" - }, - { - "kind": "TypeNominal", - "name": "Player", - "printedName": "DouShouQiModel.Player", - "usr": "s:14DouShouQiModel6PlayerC" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel6PlayerC12notifyPlayed8withMove03andE0yAA0I0VSg_ACtYaKF", - "mangledName": "$s14DouShouQiModel6PlayerC12notifyPlayed8withMove03andE0yAA0I0VSg_ACtYaKF", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "throwing": true, - "funcSelfKind": "NonMutating" - } - ], - "declKind": "Class", - "usr": "s:14DouShouQiModel6PlayerC", - "mangledName": "$s14DouShouQiModel6PlayerC", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ] - }, - { - "kind": "Import", - "name": "Foundation", - "printedName": "Foundation", - "declKind": "Import", - "moduleName": "DouShouQiModel" - }, - { - "kind": "TypeDecl", - "name": "GameError", - "printedName": "GameError", - "children": [ - { - "kind": "Var", - "name": "invalidMove", - "printedName": "invalidMove", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.GameError.Type) -> DouShouQiModel.GameError", - "children": [ - { - "kind": "TypeNominal", - "name": "GameError", - "printedName": "DouShouQiModel.GameError", - "usr": "s:14DouShouQiModel9GameErrorO" - }, - { - "kind": "TypeNominal", - "name": "Metatype", - "printedName": "DouShouQiModel.GameError.Type", - "children": [ - { - "kind": "TypeNominal", - "name": "GameError", - "printedName": "DouShouQiModel.GameError", - "usr": "s:14DouShouQiModel9GameErrorO" - } - ] - } - ] - } - ], - "declKind": "EnumElement", - "usr": "s:14DouShouQiModel9GameErrorO11invalidMoveyA2CmF", - "mangledName": "$s14DouShouQiModel9GameErrorO11invalidMoveyA2CmF", - "moduleName": "DouShouQiModel" - }, - { - "kind": "Var", - "name": "nextPlayerError", - "printedName": "nextPlayerError", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.GameError.Type) -> DouShouQiModel.GameError", - "children": [ - { - "kind": "TypeNominal", - "name": "GameError", - "printedName": "DouShouQiModel.GameError", - "usr": "s:14DouShouQiModel9GameErrorO" - }, - { - "kind": "TypeNominal", - "name": "Metatype", - "printedName": "DouShouQiModel.GameError.Type", - "children": [ - { - "kind": "TypeNominal", - "name": "GameError", - "printedName": "DouShouQiModel.GameError", - "usr": "s:14DouShouQiModel9GameErrorO" - } - ] - } - ] - } - ], - "declKind": "EnumElement", - "usr": "s:14DouShouQiModel9GameErrorO010nextPlayerF0yA2CmF", - "mangledName": "$s14DouShouQiModel9GameErrorO010nextPlayerF0yA2CmF", - "moduleName": "DouShouQiModel" - }, - { - "kind": "Var", - "name": "badPlayerId", - "printedName": "badPlayerId", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.GameError.Type) -> (Swift.String) -> DouShouQiModel.GameError", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(Swift.String) -> DouShouQiModel.GameError", - "children": [ - { - "kind": "TypeNominal", - "name": "GameError", - "printedName": "DouShouQiModel.GameError", - "usr": "s:14DouShouQiModel9GameErrorO" - }, - { - "kind": "TypeNominal", - "name": "Tuple", - "printedName": "(message: Swift.String)", - "children": [ - { - "kind": "TypeNominal", - "name": "String", - "printedName": "Swift.String", - "usr": "s:SS" - } - ] - } - ] - }, - { - "kind": "TypeNominal", - "name": "Metatype", - "printedName": "DouShouQiModel.GameError.Type", - "children": [ - { - "kind": "TypeNominal", - "name": "GameError", - "printedName": "DouShouQiModel.GameError", - "usr": "s:14DouShouQiModel9GameErrorO" - } - ] - } - ] - } - ], - "declKind": "EnumElement", - "usr": "s:14DouShouQiModel9GameErrorO11badPlayerIdyACSS_tcACmF", - "mangledName": "$s14DouShouQiModel9GameErrorO11badPlayerIdyACSS_tcACmF", - "moduleName": "DouShouQiModel" - }, - { - "kind": "Var", - "name": "invalidRules", - "printedName": "invalidRules", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.GameError.Type) -> DouShouQiModel.GameError", - "children": [ - { - "kind": "TypeNominal", - "name": "GameError", - "printedName": "DouShouQiModel.GameError", - "usr": "s:14DouShouQiModel9GameErrorO" - }, - { - "kind": "TypeNominal", - "name": "Metatype", - "printedName": "DouShouQiModel.GameError.Type", - "children": [ - { - "kind": "TypeNominal", - "name": "GameError", - "printedName": "DouShouQiModel.GameError", - "usr": "s:14DouShouQiModel9GameErrorO" - } - ] - } - ] - } - ], - "declKind": "EnumElement", - "usr": "s:14DouShouQiModel9GameErrorO12invalidRulesyA2CmF", - "mangledName": "$s14DouShouQiModel9GameErrorO12invalidRulesyA2CmF", - "moduleName": "DouShouQiModel" - }, - { - "kind": "Var", - "name": "invalidPlayer", - "printedName": "invalidPlayer", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.GameError.Type) -> DouShouQiModel.GameError", - "children": [ - { - "kind": "TypeNominal", - "name": "GameError", - "printedName": "DouShouQiModel.GameError", - "usr": "s:14DouShouQiModel9GameErrorO" - }, - { - "kind": "TypeNominal", - "name": "Metatype", - "printedName": "DouShouQiModel.GameError.Type", - "children": [ - { - "kind": "TypeNominal", - "name": "GameError", - "printedName": "DouShouQiModel.GameError", - "usr": "s:14DouShouQiModel9GameErrorO" - } - ] - } - ] - } - ], - "declKind": "EnumElement", - "usr": "s:14DouShouQiModel9GameErrorO13invalidPlayeryA2CmF", - "mangledName": "$s14DouShouQiModel9GameErrorO13invalidPlayeryA2CmF", - "moduleName": "DouShouQiModel" - }, - { - "kind": "Var", - "name": "invalidGame", - "printedName": "invalidGame", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.GameError.Type) -> DouShouQiModel.GameError", - "children": [ - { - "kind": "TypeNominal", - "name": "GameError", - "printedName": "DouShouQiModel.GameError", - "usr": "s:14DouShouQiModel9GameErrorO" - }, - { - "kind": "TypeNominal", - "name": "Metatype", - "printedName": "DouShouQiModel.GameError.Type", - "children": [ - { - "kind": "TypeNominal", - "name": "GameError", - "printedName": "DouShouQiModel.GameError", - "usr": "s:14DouShouQiModel9GameErrorO" - } - ] - } - ] - } - ], - "declKind": "EnumElement", - "usr": "s:14DouShouQiModel9GameErrorO07invalidE0yA2CmF", - "mangledName": "$s14DouShouQiModel9GameErrorO07invalidE0yA2CmF", - "moduleName": "DouShouQiModel" - }, - { - "kind": "Var", - "name": "invalidBoard", - "printedName": "invalidBoard", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.GameError.Type) -> DouShouQiModel.GameError", - "children": [ - { - "kind": "TypeNominal", - "name": "GameError", - "printedName": "DouShouQiModel.GameError", - "usr": "s:14DouShouQiModel9GameErrorO" - }, - { - "kind": "TypeNominal", - "name": "Metatype", - "printedName": "DouShouQiModel.GameError.Type", - "children": [ - { - "kind": "TypeNominal", - "name": "GameError", - "printedName": "DouShouQiModel.GameError", - "usr": "s:14DouShouQiModel9GameErrorO" - } - ] - } - ] - } - ], - "declKind": "EnumElement", - "usr": "s:14DouShouQiModel9GameErrorO12invalidBoardyA2CmF", - "mangledName": "$s14DouShouQiModel9GameErrorO12invalidBoardyA2CmF", - "moduleName": "DouShouQiModel" - } - ], - "declKind": "Enum", - "usr": "s:14DouShouQiModel9GameErrorO", - "mangledName": "$s14DouShouQiModel9GameErrorO", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "conformances": [ - { - "kind": "Conformance", - "name": "Error", - "printedName": "Error", - "usr": "s:s5ErrorP", - "mangledName": "$ss5ErrorP" - }, - { - "kind": "Conformance", - "name": "Sendable", - "printedName": "Sendable", - "usr": "s:s8SendableP", - "mangledName": "$ss8SendableP" - } - ] - }, - { - "kind": "Import", - "name": "Foundation", - "printedName": "Foundation", - "declKind": "Import", - "moduleName": "DouShouQiModel" - }, - { - "kind": "TypeDecl", - "name": "RandomPlayer", - "printedName": "RandomPlayer", - "children": [ - { - "kind": "Function", - "name": "chooseMove", - "printedName": "chooseMove(in:with:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - }, - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - }, - { - "kind": "TypeNominal", - "name": "Rules", - "printedName": "DouShouQiModel.Rules", - "usr": "s:14DouShouQiModel5RulesP" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel12RandomPlayerC10chooseMove2in4withyAA5BoardV_AA5Rules_ptYaKF", - "mangledName": "$s14DouShouQiModel12RandomPlayerC10chooseMove2in4withyAA5BoardV_AA5Rules_ptYaKF", - "moduleName": "DouShouQiModel", - "overriding": true, - "declAttributes": [ - "Override", - "AccessControl" - ], - "throwing": true, - "funcSelfKind": "NonMutating" - }, - { - "kind": "Constructor", - "name": "init", - "printedName": "init(withName:andId:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Optional", - "printedName": "DouShouQiModel.RandomPlayer?", - "children": [ - { - "kind": "TypeNominal", - "name": "RandomPlayer", - "printedName": "DouShouQiModel.RandomPlayer", - "usr": "s:14DouShouQiModel12RandomPlayerC" - } - ], - "usr": "s:Sq" - }, - { - "kind": "TypeNominal", - "name": "String", - "printedName": "Swift.String", - "usr": "s:SS" - }, - { - "kind": "TypeNominal", - "name": "Owner", - "printedName": "DouShouQiModel.Owner", - "usr": "s:14DouShouQiModel5OwnerO" - } - ], - "declKind": "Constructor", - "usr": "s:14DouShouQiModel12RandomPlayerC8withName5andIdACSgSS_AA5OwnerOtcfc", - "mangledName": "$s14DouShouQiModel12RandomPlayerC8withName5andIdACSgSS_AA5OwnerOtcfc", - "moduleName": "DouShouQiModel", - "overriding": true, - "implicit": true, - "declAttributes": [ - "Override" - ], - "init_kind": "Designated" - } - ], - "declKind": "Class", - "usr": "s:14DouShouQiModel12RandomPlayerC", - "mangledName": "$s14DouShouQiModel12RandomPlayerC", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "superclassUsr": "s:14DouShouQiModel8IAPlayerC", - "inheritsConvenienceInitializers": true, - "superclassNames": [ - "DouShouQiModel.IAPlayer", - "DouShouQiModel.Player" - ] - }, - { - "kind": "Import", - "name": "Foundation", - "printedName": "Foundation", - "declKind": "Import", - "moduleName": "DouShouQiModel" - }, - { - "kind": "TypeDecl", - "name": "CellType", - "printedName": "CellType", - "children": [ - { - "kind": "Var", - "name": "unknown", - "printedName": "unknown", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.CellType.Type) -> DouShouQiModel.CellType", - "children": [ - { - "kind": "TypeNominal", - "name": "CellType", - "printedName": "DouShouQiModel.CellType", - "usr": "s:14DouShouQiModel8CellTypeO" - }, - { - "kind": "TypeNominal", - "name": "Metatype", - "printedName": "DouShouQiModel.CellType.Type", - "children": [ - { - "kind": "TypeNominal", - "name": "CellType", - "printedName": "DouShouQiModel.CellType", - "usr": "s:14DouShouQiModel8CellTypeO" - } - ] - } - ] - } - ], - "declKind": "EnumElement", - "usr": "s:14DouShouQiModel8CellTypeO7unknownyA2CmF", - "mangledName": "$s14DouShouQiModel8CellTypeO7unknownyA2CmF", - "moduleName": "DouShouQiModel" - }, - { - "kind": "Var", - "name": "jungle", - "printedName": "jungle", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.CellType.Type) -> DouShouQiModel.CellType", - "children": [ - { - "kind": "TypeNominal", - "name": "CellType", - "printedName": "DouShouQiModel.CellType", - "usr": "s:14DouShouQiModel8CellTypeO" - }, - { - "kind": "TypeNominal", - "name": "Metatype", - "printedName": "DouShouQiModel.CellType.Type", - "children": [ - { - "kind": "TypeNominal", - "name": "CellType", - "printedName": "DouShouQiModel.CellType", - "usr": "s:14DouShouQiModel8CellTypeO" - } - ] - } - ] - } - ], - "declKind": "EnumElement", - "usr": "s:14DouShouQiModel8CellTypeO6jungleyA2CmF", - "mangledName": "$s14DouShouQiModel8CellTypeO6jungleyA2CmF", - "moduleName": "DouShouQiModel" - }, - { - "kind": "Var", - "name": "water", - "printedName": "water", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.CellType.Type) -> DouShouQiModel.CellType", - "children": [ - { - "kind": "TypeNominal", - "name": "CellType", - "printedName": "DouShouQiModel.CellType", - "usr": "s:14DouShouQiModel8CellTypeO" - }, - { - "kind": "TypeNominal", - "name": "Metatype", - "printedName": "DouShouQiModel.CellType.Type", - "children": [ - { - "kind": "TypeNominal", - "name": "CellType", - "printedName": "DouShouQiModel.CellType", - "usr": "s:14DouShouQiModel8CellTypeO" - } - ] - } - ] - } - ], - "declKind": "EnumElement", - "usr": "s:14DouShouQiModel8CellTypeO5wateryA2CmF", - "mangledName": "$s14DouShouQiModel8CellTypeO5wateryA2CmF", - "moduleName": "DouShouQiModel" - }, - { - "kind": "Var", - "name": "trap", - "printedName": "trap", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.CellType.Type) -> DouShouQiModel.CellType", - "children": [ - { - "kind": "TypeNominal", - "name": "CellType", - "printedName": "DouShouQiModel.CellType", - "usr": "s:14DouShouQiModel8CellTypeO" - }, - { - "kind": "TypeNominal", - "name": "Metatype", - "printedName": "DouShouQiModel.CellType.Type", - "children": [ - { - "kind": "TypeNominal", - "name": "CellType", - "printedName": "DouShouQiModel.CellType", - "usr": "s:14DouShouQiModel8CellTypeO" - } - ] - } - ] - } - ], - "declKind": "EnumElement", - "usr": "s:14DouShouQiModel8CellTypeO4trapyA2CmF", - "mangledName": "$s14DouShouQiModel8CellTypeO4trapyA2CmF", - "moduleName": "DouShouQiModel" - }, - { - "kind": "Var", - "name": "den", - "printedName": "den", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.CellType.Type) -> DouShouQiModel.CellType", - "children": [ - { - "kind": "TypeNominal", - "name": "CellType", - "printedName": "DouShouQiModel.CellType", - "usr": "s:14DouShouQiModel8CellTypeO" - }, - { - "kind": "TypeNominal", - "name": "Metatype", - "printedName": "DouShouQiModel.CellType.Type", - "children": [ - { - "kind": "TypeNominal", - "name": "CellType", - "printedName": "DouShouQiModel.CellType", - "usr": "s:14DouShouQiModel8CellTypeO" - } - ] - } - ] - } - ], - "declKind": "EnumElement", - "usr": "s:14DouShouQiModel8CellTypeO3denyA2CmF", - "mangledName": "$s14DouShouQiModel8CellTypeO3denyA2CmF", - "moduleName": "DouShouQiModel" - }, - { - "kind": "Var", - "name": "allCases", - "printedName": "allCases", - "children": [ - { - "kind": "TypeNominal", - "name": "Array", - "printedName": "[DouShouQiModel.CellType]", - "children": [ - { - "kind": "TypeNominal", - "name": "CellType", - "printedName": "DouShouQiModel.CellType", - "usr": "s:14DouShouQiModel8CellTypeO" - } - ], - "usr": "s:Sa" - } - ], - "declKind": "Var", - "usr": "s:14DouShouQiModel8CellTypeO8allCasesSayACGvpZ", - "mangledName": "$s14DouShouQiModel8CellTypeO8allCasesSayACGvpZ", - "moduleName": "DouShouQiModel", - "static": true, - "implicit": true, - "accessors": [ - { - "kind": "Accessor", - "name": "Get", - "printedName": "Get()", - "children": [ - { - "kind": "TypeNominal", - "name": "Array", - "printedName": "[DouShouQiModel.CellType]", - "children": [ - { - "kind": "TypeNominal", - "name": "CellType", - "printedName": "DouShouQiModel.CellType", - "usr": "s:14DouShouQiModel8CellTypeO" - } - ], - "usr": "s:Sa" - } - ], - "declKind": "Accessor", - "usr": "s:14DouShouQiModel8CellTypeO8allCasesSayACGvgZ", - "mangledName": "$s14DouShouQiModel8CellTypeO8allCasesSayACGvgZ", - "moduleName": "DouShouQiModel", - "static": true, - "implicit": true, - "accessorKind": "get" - } - ] - }, - { - "kind": "Function", - "name": "==", - "printedName": "==(_:_:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Bool", - "printedName": "Swift.Bool", - "usr": "s:Sb" - }, - { - "kind": "TypeNominal", - "name": "CellType", - "printedName": "DouShouQiModel.CellType", - "usr": "s:14DouShouQiModel8CellTypeO" - }, - { - "kind": "TypeNominal", - "name": "CellType", - "printedName": "DouShouQiModel.CellType", - "usr": "s:14DouShouQiModel8CellTypeO" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel8CellTypeO2eeoiySbAC_ACtFZ", - "mangledName": "$s14DouShouQiModel8CellTypeO2eeoiySbAC_ACtFZ", - "moduleName": "DouShouQiModel", - "static": true, - "implicit": true, - "funcSelfKind": "NonMutating" - }, - { - "kind": "Var", - "name": "hashValue", - "printedName": "hashValue", - "children": [ - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ], - "declKind": "Var", - "usr": "s:14DouShouQiModel8CellTypeO9hashValueSivp", - "mangledName": "$s14DouShouQiModel8CellTypeO9hashValueSivp", - "moduleName": "DouShouQiModel", - "implicit": true, - "accessors": [ - { - "kind": "Accessor", - "name": "Get", - "printedName": "Get()", - "children": [ - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ], - "declKind": "Accessor", - "usr": "s:14DouShouQiModel8CellTypeO9hashValueSivg", - "mangledName": "$s14DouShouQiModel8CellTypeO9hashValueSivg", - "moduleName": "DouShouQiModel", - "implicit": true, - "accessorKind": "get" - } - ] - }, - { - "kind": "Function", - "name": "hash", - "printedName": "hash(into:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - }, - { - "kind": "TypeNominal", - "name": "Hasher", - "printedName": "Swift.Hasher", - "paramValueOwnership": "InOut", - "usr": "s:s6HasherV" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel8CellTypeO4hash4intoys6HasherVz_tF", - "mangledName": "$s14DouShouQiModel8CellTypeO4hash4intoys6HasherVz_tF", - "moduleName": "DouShouQiModel", - "implicit": true, - "funcSelfKind": "NonMutating" - } - ], - "declKind": "Enum", - "usr": "s:14DouShouQiModel8CellTypeO", - "mangledName": "$s14DouShouQiModel8CellTypeO", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "conformances": [ - { - "kind": "Conformance", - "name": "Equatable", - "printedName": "Equatable", - "usr": "s:SQ", - "mangledName": "$sSQ" - }, - { - "kind": "Conformance", - "name": "Hashable", - "printedName": "Hashable", - "usr": "s:SH", - "mangledName": "$sSH" - }, - { - "kind": "Conformance", - "name": "CaseIterable", - "printedName": "CaseIterable", - "children": [ - { - "kind": "TypeWitness", - "name": "AllCases", - "printedName": "AllCases", - "children": [ - { - "kind": "TypeNominal", - "name": "Array", - "printedName": "[DouShouQiModel.CellType]", - "children": [ - { - "kind": "TypeNominal", - "name": "CellType", - "printedName": "DouShouQiModel.CellType", - "usr": "s:14DouShouQiModel8CellTypeO" - } - ], - "usr": "s:Sa" - } - ] - } - ], - "usr": "s:s12CaseIterableP", - "mangledName": "$ss12CaseIterableP" - } - ] - }, - { - "kind": "Import", - "name": "Foundation", - "printedName": "Foundation", - "declKind": "Import", - "moduleName": "DouShouQiModel" - }, - { - "kind": "TypeDecl", - "name": "Board", - "printedName": "Board", - "children": [ - { - "kind": "Function", - "name": "hash", - "printedName": "hash(into:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - }, - { - "kind": "TypeNominal", - "name": "Hasher", - "printedName": "Swift.Hasher", - "paramValueOwnership": "InOut", - "usr": "s:s6HasherV" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel5BoardV4hash4intoys6HasherVz_tF", - "mangledName": "$s14DouShouQiModel5BoardV4hash4intoys6HasherVz_tF", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "funcSelfKind": "NonMutating" - }, - { - "kind": "Var", - "name": "nbRows", - "printedName": "nbRows", - "children": [ - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ], - "declKind": "Var", - "usr": "s:14DouShouQiModel5BoardV6nbRowsSivp", - "mangledName": "$s14DouShouQiModel5BoardV6nbRowsSivp", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "HasStorage", - "AccessControl", - "RawDocComment" - ], - "isLet": true, - "hasStorage": true, - "accessors": [ - { - "kind": "Accessor", - "name": "Get", - "printedName": "Get()", - "children": [ - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ], - "declKind": "Accessor", - "usr": "s:14DouShouQiModel5BoardV6nbRowsSivg", - "mangledName": "$s14DouShouQiModel5BoardV6nbRowsSivg", - "moduleName": "DouShouQiModel", - "implicit": true, - "accessorKind": "get" - } - ] - }, - { - "kind": "Var", - "name": "nbColumns", - "printedName": "nbColumns", - "children": [ - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ], - "declKind": "Var", - "usr": "s:14DouShouQiModel5BoardV9nbColumnsSivp", - "mangledName": "$s14DouShouQiModel5BoardV9nbColumnsSivp", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "HasStorage", - "AccessControl", - "RawDocComment" - ], - "isLet": true, - "hasStorage": true, - "accessors": [ - { - "kind": "Accessor", - "name": "Get", - "printedName": "Get()", - "children": [ - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ], - "declKind": "Accessor", - "usr": "s:14DouShouQiModel5BoardV9nbColumnsSivg", - "mangledName": "$s14DouShouQiModel5BoardV9nbColumnsSivg", - "moduleName": "DouShouQiModel", - "implicit": true, - "accessorKind": "get" - } - ] - }, - { - "kind": "Var", - "name": "grid", - "printedName": "grid", - "children": [ - { - "kind": "TypeNominal", - "name": "Array", - "printedName": "[[DouShouQiModel.Cell]]", - "children": [ - { - "kind": "TypeNominal", - "name": "Array", - "printedName": "[DouShouQiModel.Cell]", - "children": [ - { - "kind": "TypeNominal", - "name": "Cell", - "printedName": "DouShouQiModel.Cell", - "usr": "s:14DouShouQiModel4CellV" - } - ], - "usr": "s:Sa" - } - ], - "usr": "s:Sa" - } - ], - "declKind": "Var", - "usr": "s:14DouShouQiModel5BoardV4gridSaySayAA4CellVGGvp", - "mangledName": "$s14DouShouQiModel5BoardV4gridSaySayAA4CellVGGvp", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "HasStorage", - "SetterAccess", - "AccessControl" - ], - "hasStorage": true, - "accessors": [ - { - "kind": "Accessor", - "name": "Get", - "printedName": "Get()", - "children": [ - { - "kind": "TypeNominal", - "name": "Array", - "printedName": "[[DouShouQiModel.Cell]]", - "children": [ - { - "kind": "TypeNominal", - "name": "Array", - "printedName": "[DouShouQiModel.Cell]", - "children": [ - { - "kind": "TypeNominal", - "name": "Cell", - "printedName": "DouShouQiModel.Cell", - "usr": "s:14DouShouQiModel4CellV" - } - ], - "usr": "s:Sa" - } - ], - "usr": "s:Sa" - } - ], - "declKind": "Accessor", - "usr": "s:14DouShouQiModel5BoardV4gridSaySayAA4CellVGGvg", - "mangledName": "$s14DouShouQiModel5BoardV4gridSaySayAA4CellVGGvg", - "moduleName": "DouShouQiModel", - "implicit": true, - "accessorKind": "get" - } - ] - }, - { - "kind": "Constructor", - "name": "init", - "printedName": "init(withGrid:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Optional", - "printedName": "DouShouQiModel.Board?", - "children": [ - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - } - ], - "usr": "s:Sq" - }, - { - "kind": "TypeNominal", - "name": "Array", - "printedName": "[[DouShouQiModel.Cell]]", - "children": [ - { - "kind": "TypeNominal", - "name": "Array", - "printedName": "[DouShouQiModel.Cell]", - "children": [ - { - "kind": "TypeNominal", - "name": "Cell", - "printedName": "DouShouQiModel.Cell", - "usr": "s:14DouShouQiModel4CellV" - } - ], - "usr": "s:Sa" - } - ], - "usr": "s:Sa" - } - ], - "declKind": "Constructor", - "usr": "s:14DouShouQiModel5BoardV8withGridACSgSaySayAA4CellVGG_tcfc", - "mangledName": "$s14DouShouQiModel5BoardV8withGridACSgSaySayAA4CellVGG_tcfc", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "init_kind": "Designated" - }, - { - "kind": "Function", - "name": "countPieces", - "printedName": "countPieces(of:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - }, - { - "kind": "TypeNominal", - "name": "Owner", - "printedName": "DouShouQiModel.Owner", - "usr": "s:14DouShouQiModel5OwnerO" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel5BoardV11countPieces2ofSiAA5OwnerO_tF", - "mangledName": "$s14DouShouQiModel5BoardV11countPieces2ofSiAA5OwnerO_tF", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "funcSelfKind": "NonMutating" - }, - { - "kind": "Function", - "name": "countPieces", - "printedName": "countPieces()", - "children": [ - { - "kind": "TypeNominal", - "name": "Tuple", - "printedName": "(nbOfPiecesOfPlayer1: Swift.Int, nbOfPiecesOfPlayer2: Swift.Int)", - "children": [ - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ] - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel5BoardV11countPiecesSi04nbOfgI7Player1_Si0higI7Player2tyF", - "mangledName": "$s14DouShouQiModel5BoardV11countPiecesSi04nbOfgI7Player1_Si0higI7Player2tyF", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "funcSelfKind": "NonMutating" - }, - { - "kind": "Function", - "name": "insert", - "printedName": "insert(piece:atRow:andColumn:)", - "children": [ - { - "kind": "TypeNominal", - "name": "BoardResult", - "printedName": "DouShouQiModel.BoardResult", - "usr": "s:14DouShouQiModel11BoardResultO" - }, - { - "kind": "TypeNominal", - "name": "Piece", - "printedName": "DouShouQiModel.Piece", - "usr": "s:14DouShouQiModel5PieceV" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel5BoardV6insert5piece5atRow9andColumnAA0E6ResultOAA5PieceV_S2itF", - "mangledName": "$s14DouShouQiModel5BoardV6insert5piece5atRow9andColumnAA0E6ResultOAA5PieceV_S2itF", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "Mutating", - "AccessControl" - ], - "funcSelfKind": "Mutating" - }, - { - "kind": "Function", - "name": "removePiece", - "printedName": "removePiece(atRow:andColumn:)", - "children": [ - { - "kind": "TypeNominal", - "name": "BoardResult", - "printedName": "DouShouQiModel.BoardResult", - "usr": "s:14DouShouQiModel11BoardResultO" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel5BoardV11removePiece5atRow9andColumnAA0E6ResultOSi_SitF", - "mangledName": "$s14DouShouQiModel5BoardV11removePiece5atRow9andColumnAA0E6ResultOSi_SitF", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "Mutating", - "AccessControl" - ], - "funcSelfKind": "Mutating" - }, - { - "kind": "Var", - "name": "hashValue", - "printedName": "hashValue", - "children": [ - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ], - "declKind": "Var", - "usr": "s:14DouShouQiModel5BoardV9hashValueSivp", - "mangledName": "$s14DouShouQiModel5BoardV9hashValueSivp", - "moduleName": "DouShouQiModel", - "implicit": true, - "accessors": [ - { - "kind": "Accessor", - "name": "Get", - "printedName": "Get()", - "children": [ - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ], - "declKind": "Accessor", - "usr": "s:14DouShouQiModel5BoardV9hashValueSivg", - "mangledName": "$s14DouShouQiModel5BoardV9hashValueSivg", - "moduleName": "DouShouQiModel", - "implicit": true, - "accessorKind": "get" - } - ] - }, - { - "kind": "Function", - "name": "==", - "printedName": "==(_:_:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Bool", - "printedName": "Swift.Bool", - "usr": "s:Sb" - }, - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - }, - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel5BoardV2eeoiySbAC_ACtFZ", - "mangledName": "$s14DouShouQiModel5BoardV2eeoiySbAC_ACtFZ", - "moduleName": "DouShouQiModel", - "static": true, - "implicit": true, - "funcSelfKind": "NonMutating" - } - ], - "declKind": "Struct", - "usr": "s:14DouShouQiModel5BoardV", - "mangledName": "$s14DouShouQiModel5BoardV", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "conformances": [ - { - "kind": "Conformance", - "name": "Hashable", - "printedName": "Hashable", - "usr": "s:SH", - "mangledName": "$sSH" - }, - { - "kind": "Conformance", - "name": "Equatable", - "printedName": "Equatable", - "usr": "s:SQ", - "mangledName": "$sSQ" - } - ] - }, - { - "kind": "Import", - "name": "Foundation", - "printedName": "Foundation", - "declKind": "Import", - "moduleName": "DouShouQiModel" - }, - { - "kind": "TypeDecl", - "name": "Piece", - "printedName": "Piece", - "children": [ - { - "kind": "Var", - "name": "description", - "printedName": "description", - "children": [ - { - "kind": "TypeNominal", - "name": "String", - "printedName": "Swift.String", - "usr": "s:SS" - } - ], - "declKind": "Var", - "usr": "s:14DouShouQiModel5PieceV11descriptionSSvp", - "mangledName": "$s14DouShouQiModel5PieceV11descriptionSSvp", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "accessors": [ - { - "kind": "Accessor", - "name": "Get", - "printedName": "Get()", - "children": [ - { - "kind": "TypeNominal", - "name": "String", - "printedName": "Swift.String", - "usr": "s:SS" - } - ], - "declKind": "Accessor", - "usr": "s:14DouShouQiModel5PieceV11descriptionSSvg", - "mangledName": "$s14DouShouQiModel5PieceV11descriptionSSvg", - "moduleName": "DouShouQiModel", - "accessorKind": "get" - } - ] - }, - { - "kind": "Var", - "name": "owner", - "printedName": "owner", - "children": [ - { - "kind": "TypeNominal", - "name": "Owner", - "printedName": "DouShouQiModel.Owner", - "usr": "s:14DouShouQiModel5OwnerO" - } - ], - "declKind": "Var", - "usr": "s:14DouShouQiModel5PieceV5ownerAA5OwnerOvp", - "mangledName": "$s14DouShouQiModel5PieceV5ownerAA5OwnerOvp", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "HasStorage", - "AccessControl" - ], - "isLet": true, - "hasStorage": true, - "accessors": [ - { - "kind": "Accessor", - "name": "Get", - "printedName": "Get()", - "children": [ - { - "kind": "TypeNominal", - "name": "Owner", - "printedName": "DouShouQiModel.Owner", - "usr": "s:14DouShouQiModel5OwnerO" - } - ], - "declKind": "Accessor", - "usr": "s:14DouShouQiModel5PieceV5ownerAA5OwnerOvg", - "mangledName": "$s14DouShouQiModel5PieceV5ownerAA5OwnerOvg", - "moduleName": "DouShouQiModel", - "implicit": true, - "accessorKind": "get" - } - ] - }, - { - "kind": "Var", - "name": "animal", - "printedName": "animal", - "children": [ - { - "kind": "TypeNominal", - "name": "Animal", - "printedName": "DouShouQiModel.Animal", - "usr": "s:14DouShouQiModel6AnimalO" - } - ], - "declKind": "Var", - "usr": "s:14DouShouQiModel5PieceV6animalAA6AnimalOvp", - "mangledName": "$s14DouShouQiModel5PieceV6animalAA6AnimalOvp", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "HasStorage", - "AccessControl" - ], - "isLet": true, - "hasStorage": true, - "accessors": [ - { - "kind": "Accessor", - "name": "Get", - "printedName": "Get()", - "children": [ - { - "kind": "TypeNominal", - "name": "Animal", - "printedName": "DouShouQiModel.Animal", - "usr": "s:14DouShouQiModel6AnimalO" - } - ], - "declKind": "Accessor", - "usr": "s:14DouShouQiModel5PieceV6animalAA6AnimalOvg", - "mangledName": "$s14DouShouQiModel5PieceV6animalAA6AnimalOvg", - "moduleName": "DouShouQiModel", - "implicit": true, - "accessorKind": "get" - } - ] - }, - { - "kind": "Constructor", - "name": "init", - "printedName": "init(withOwner:andAnimal:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Piece", - "printedName": "DouShouQiModel.Piece", - "usr": "s:14DouShouQiModel5PieceV" - }, - { - "kind": "TypeNominal", - "name": "Owner", - "printedName": "DouShouQiModel.Owner", - "usr": "s:14DouShouQiModel5OwnerO" - }, - { - "kind": "TypeNominal", - "name": "Animal", - "printedName": "DouShouQiModel.Animal", - "usr": "s:14DouShouQiModel6AnimalO" - } - ], - "declKind": "Constructor", - "usr": "s:14DouShouQiModel5PieceV9withOwner9andAnimalAcA0G0O_AA0I0Otcfc", - "mangledName": "$s14DouShouQiModel5PieceV9withOwner9andAnimalAcA0G0O_AA0I0Otcfc", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "init_kind": "Designated" - }, - { - "kind": "Var", - "name": "hashValue", - "printedName": "hashValue", - "children": [ - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ], - "declKind": "Var", - "usr": "s:14DouShouQiModel5PieceV9hashValueSivp", - "mangledName": "$s14DouShouQiModel5PieceV9hashValueSivp", - "moduleName": "DouShouQiModel", - "implicit": true, - "accessors": [ - { - "kind": "Accessor", - "name": "Get", - "printedName": "Get()", - "children": [ - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ], - "declKind": "Accessor", - "usr": "s:14DouShouQiModel5PieceV9hashValueSivg", - "mangledName": "$s14DouShouQiModel5PieceV9hashValueSivg", - "moduleName": "DouShouQiModel", - "implicit": true, - "accessorKind": "get" - } - ] - }, - { - "kind": "Function", - "name": "hash", - "printedName": "hash(into:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - }, - { - "kind": "TypeNominal", - "name": "Hasher", - "printedName": "Swift.Hasher", - "paramValueOwnership": "InOut", - "usr": "s:s6HasherV" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel5PieceV4hash4intoys6HasherVz_tF", - "mangledName": "$s14DouShouQiModel5PieceV4hash4intoys6HasherVz_tF", - "moduleName": "DouShouQiModel", - "implicit": true, - "funcSelfKind": "NonMutating" - }, - { - "kind": "Function", - "name": "==", - "printedName": "==(_:_:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Bool", - "printedName": "Swift.Bool", - "usr": "s:Sb" - }, - { - "kind": "TypeNominal", - "name": "Piece", - "printedName": "DouShouQiModel.Piece", - "usr": "s:14DouShouQiModel5PieceV" - }, - { - "kind": "TypeNominal", - "name": "Piece", - "printedName": "DouShouQiModel.Piece", - "usr": "s:14DouShouQiModel5PieceV" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel5PieceV2eeoiySbAC_ACtFZ", - "mangledName": "$s14DouShouQiModel5PieceV2eeoiySbAC_ACtFZ", - "moduleName": "DouShouQiModel", - "static": true, - "implicit": true, - "funcSelfKind": "NonMutating" - } - ], - "declKind": "Struct", - "usr": "s:14DouShouQiModel5PieceV", - "mangledName": "$s14DouShouQiModel5PieceV", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "conformances": [ - { - "kind": "Conformance", - "name": "CustomStringConvertible", - "printedName": "CustomStringConvertible", - "usr": "s:s23CustomStringConvertibleP", - "mangledName": "$ss23CustomStringConvertibleP" - }, - { - "kind": "Conformance", - "name": "Hashable", - "printedName": "Hashable", - "usr": "s:SH", - "mangledName": "$sSH" - }, - { - "kind": "Conformance", - "name": "Equatable", - "printedName": "Equatable", - "usr": "s:SQ", - "mangledName": "$sSQ" - } - ] - }, - { - "kind": "Import", - "name": "Foundation", - "printedName": "Foundation", - "declKind": "Import", - "moduleName": "DouShouQiModel" - }, - { - "kind": "TypeDecl", - "name": "InvalidBoardError", - "printedName": "InvalidBoardError", - "children": [ - { - "kind": "Var", - "name": "unknownError", - "printedName": "unknownError", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.InvalidBoardError.Type) -> DouShouQiModel.InvalidBoardError", - "children": [ - { - "kind": "TypeNominal", - "name": "InvalidBoardError", - "printedName": "DouShouQiModel.InvalidBoardError", - "usr": "s:14DouShouQiModel17InvalidBoardErrorO" - }, - { - "kind": "TypeNominal", - "name": "Metatype", - "printedName": "DouShouQiModel.InvalidBoardError.Type", - "children": [ - { - "kind": "TypeNominal", - "name": "InvalidBoardError", - "printedName": "DouShouQiModel.InvalidBoardError", - "usr": "s:14DouShouQiModel17InvalidBoardErrorO" - } - ] - } - ] - } - ], - "declKind": "EnumElement", - "usr": "s:14DouShouQiModel17InvalidBoardErrorO07unknownG0yA2CmF", - "mangledName": "$s14DouShouQiModel17InvalidBoardErrorO07unknownG0yA2CmF", - "moduleName": "DouShouQiModel" - }, - { - "kind": "Var", - "name": "badDimensions", - "printedName": "badDimensions", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.InvalidBoardError.Type) -> (Swift.Int, Swift.Int) -> DouShouQiModel.InvalidBoardError", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(Swift.Int, Swift.Int) -> DouShouQiModel.InvalidBoardError", - "children": [ - { - "kind": "TypeNominal", - "name": "InvalidBoardError", - "printedName": "DouShouQiModel.InvalidBoardError", - "usr": "s:14DouShouQiModel17InvalidBoardErrorO" - }, - { - "kind": "TypeNominal", - "name": "Tuple", - "printedName": "(nbRows: Swift.Int, nbColumns: Swift.Int)", - "children": [ - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ] - } - ] - }, - { - "kind": "TypeNominal", - "name": "Metatype", - "printedName": "DouShouQiModel.InvalidBoardError.Type", - "children": [ - { - "kind": "TypeNominal", - "name": "InvalidBoardError", - "printedName": "DouShouQiModel.InvalidBoardError", - "usr": "s:14DouShouQiModel17InvalidBoardErrorO" - } - ] - } - ] - } - ], - "declKind": "EnumElement", - "usr": "s:14DouShouQiModel17InvalidBoardErrorO13badDimensionsyACSi_SitcACmF", - "mangledName": "$s14DouShouQiModel17InvalidBoardErrorO13badDimensionsyACSi_SitcACmF", - "moduleName": "DouShouQiModel" - }, - { - "kind": "Var", - "name": "badCellType", - "printedName": "badCellType", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.InvalidBoardError.Type) -> (DouShouQiModel.CellType, Swift.Int, Swift.Int) -> DouShouQiModel.InvalidBoardError", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.CellType, Swift.Int, Swift.Int) -> DouShouQiModel.InvalidBoardError", - "children": [ - { - "kind": "TypeNominal", - "name": "InvalidBoardError", - "printedName": "DouShouQiModel.InvalidBoardError", - "usr": "s:14DouShouQiModel17InvalidBoardErrorO" - }, - { - "kind": "TypeNominal", - "name": "Tuple", - "printedName": "(cellType: DouShouQiModel.CellType, row: Swift.Int, column: Swift.Int)", - "children": [ - { - "kind": "TypeNominal", - "name": "CellType", - "printedName": "DouShouQiModel.CellType", - "usr": "s:14DouShouQiModel8CellTypeO" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ] - } - ] - }, - { - "kind": "TypeNominal", - "name": "Metatype", - "printedName": "DouShouQiModel.InvalidBoardError.Type", - "children": [ - { - "kind": "TypeNominal", - "name": "InvalidBoardError", - "printedName": "DouShouQiModel.InvalidBoardError", - "usr": "s:14DouShouQiModel17InvalidBoardErrorO" - } - ] - } - ] - } - ], - "declKind": "EnumElement", - "usr": "s:14DouShouQiModel17InvalidBoardErrorO11badCellTypeyAcA0iJ0O_S2itcACmF", - "mangledName": "$s14DouShouQiModel17InvalidBoardErrorO11badCellTypeyAcA0iJ0O_S2itcACmF", - "moduleName": "DouShouQiModel" - }, - { - "kind": "Var", - "name": "multipleOccurenceOfSamePiece", - "printedName": "multipleOccurenceOfSamePiece", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.InvalidBoardError.Type) -> (DouShouQiModel.Piece) -> DouShouQiModel.InvalidBoardError", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.Piece) -> DouShouQiModel.InvalidBoardError", - "children": [ - { - "kind": "TypeNominal", - "name": "InvalidBoardError", - "printedName": "DouShouQiModel.InvalidBoardError", - "usr": "s:14DouShouQiModel17InvalidBoardErrorO" - }, - { - "kind": "TypeNominal", - "name": "Tuple", - "printedName": "(piece: DouShouQiModel.Piece)", - "children": [ - { - "kind": "TypeNominal", - "name": "Piece", - "printedName": "DouShouQiModel.Piece", - "usr": "s:14DouShouQiModel5PieceV" - } - ] - } - ] - }, - { - "kind": "TypeNominal", - "name": "Metatype", - "printedName": "DouShouQiModel.InvalidBoardError.Type", - "children": [ - { - "kind": "TypeNominal", - "name": "InvalidBoardError", - "printedName": "DouShouQiModel.InvalidBoardError", - "usr": "s:14DouShouQiModel17InvalidBoardErrorO" - } - ] - } - ] - } - ], - "declKind": "EnumElement", - "usr": "s:14DouShouQiModel17InvalidBoardErrorO28multipleOccurenceOfSamePieceyAcA0L0V_tcACmF", - "mangledName": "$s14DouShouQiModel17InvalidBoardErrorO28multipleOccurenceOfSamePieceyAcA0L0V_tcACmF", - "moduleName": "DouShouQiModel" - }, - { - "kind": "Var", - "name": "pieceWithNoOwner", - "printedName": "pieceWithNoOwner", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.InvalidBoardError.Type) -> (DouShouQiModel.Piece) -> DouShouQiModel.InvalidBoardError", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.Piece) -> DouShouQiModel.InvalidBoardError", - "children": [ - { - "kind": "TypeNominal", - "name": "InvalidBoardError", - "printedName": "DouShouQiModel.InvalidBoardError", - "usr": "s:14DouShouQiModel17InvalidBoardErrorO" - }, - { - "kind": "TypeNominal", - "name": "Tuple", - "printedName": "(piece: DouShouQiModel.Piece)", - "children": [ - { - "kind": "TypeNominal", - "name": "Piece", - "printedName": "DouShouQiModel.Piece", - "usr": "s:14DouShouQiModel5PieceV" - } - ] - } - ] - }, - { - "kind": "TypeNominal", - "name": "Metatype", - "printedName": "DouShouQiModel.InvalidBoardError.Type", - "children": [ - { - "kind": "TypeNominal", - "name": "InvalidBoardError", - "printedName": "DouShouQiModel.InvalidBoardError", - "usr": "s:14DouShouQiModel17InvalidBoardErrorO" - } - ] - } - ] - } - ], - "declKind": "EnumElement", - "usr": "s:14DouShouQiModel17InvalidBoardErrorO16pieceWithNoOwneryAcA5PieceV_tcACmF", - "mangledName": "$s14DouShouQiModel17InvalidBoardErrorO16pieceWithNoOwneryAcA5PieceV_tcACmF", - "moduleName": "DouShouQiModel" - }, - { - "kind": "Var", - "name": "pieceNotAllowedOnThisCell", - "printedName": "pieceNotAllowedOnThisCell", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.InvalidBoardError.Type) -> (DouShouQiModel.Piece, DouShouQiModel.Cell) -> DouShouQiModel.InvalidBoardError", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.Piece, DouShouQiModel.Cell) -> DouShouQiModel.InvalidBoardError", - "children": [ - { - "kind": "TypeNominal", - "name": "InvalidBoardError", - "printedName": "DouShouQiModel.InvalidBoardError", - "usr": "s:14DouShouQiModel17InvalidBoardErrorO" - }, - { - "kind": "TypeNominal", - "name": "Tuple", - "printedName": "(piece: DouShouQiModel.Piece, cell: DouShouQiModel.Cell)", - "children": [ - { - "kind": "TypeNominal", - "name": "Piece", - "printedName": "DouShouQiModel.Piece", - "usr": "s:14DouShouQiModel5PieceV" - }, - { - "kind": "TypeNominal", - "name": "Cell", - "printedName": "DouShouQiModel.Cell", - "usr": "s:14DouShouQiModel4CellV" - } - ] - } - ] - }, - { - "kind": "TypeNominal", - "name": "Metatype", - "printedName": "DouShouQiModel.InvalidBoardError.Type", - "children": [ - { - "kind": "TypeNominal", - "name": "InvalidBoardError", - "printedName": "DouShouQiModel.InvalidBoardError", - "usr": "s:14DouShouQiModel17InvalidBoardErrorO" - } - ] - } - ] - } - ], - "declKind": "EnumElement", - "usr": "s:14DouShouQiModel17InvalidBoardErrorO25pieceNotAllowedOnThisCellyAcA5PieceV_AA0M0VtcACmF", - "mangledName": "$s14DouShouQiModel17InvalidBoardErrorO25pieceNotAllowedOnThisCellyAcA5PieceV_AA0M0VtcACmF", - "moduleName": "DouShouQiModel" - }, - { - "kind": "Function", - "name": "==", - "printedName": "==(_:_:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Bool", - "printedName": "Swift.Bool", - "usr": "s:Sb" - }, - { - "kind": "TypeNominal", - "name": "InvalidBoardError", - "printedName": "DouShouQiModel.InvalidBoardError", - "usr": "s:14DouShouQiModel17InvalidBoardErrorO" - }, - { - "kind": "TypeNominal", - "name": "InvalidBoardError", - "printedName": "DouShouQiModel.InvalidBoardError", - "usr": "s:14DouShouQiModel17InvalidBoardErrorO" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel17InvalidBoardErrorO2eeoiySbAC_ACtFZ", - "mangledName": "$s14DouShouQiModel17InvalidBoardErrorO2eeoiySbAC_ACtFZ", - "moduleName": "DouShouQiModel", - "static": true, - "implicit": true, - "funcSelfKind": "NonMutating" - } - ], - "declKind": "Enum", - "usr": "s:14DouShouQiModel17InvalidBoardErrorO", - "mangledName": "$s14DouShouQiModel17InvalidBoardErrorO", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "conformances": [ - { - "kind": "Conformance", - "name": "Error", - "printedName": "Error", - "usr": "s:s5ErrorP", - "mangledName": "$ss5ErrorP" - }, - { - "kind": "Conformance", - "name": "Equatable", - "printedName": "Equatable", - "usr": "s:SQ", - "mangledName": "$sSQ" - }, - { - "kind": "Conformance", - "name": "Sendable", - "printedName": "Sendable", - "usr": "s:s8SendableP", - "mangledName": "$ss8SendableP" - } - ] - }, - { - "kind": "Import", - "name": "Foundation", - "printedName": "Foundation", - "declKind": "Import", - "moduleName": "DouShouQiModel" - }, - { - "kind": "TypeDecl", - "name": "Owner", - "printedName": "Owner", - "children": [ - { - "kind": "Var", - "name": "noOne", - "printedName": "noOne", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.Owner.Type) -> DouShouQiModel.Owner", - "children": [ - { - "kind": "TypeNominal", - "name": "Owner", - "printedName": "DouShouQiModel.Owner", - "usr": "s:14DouShouQiModel5OwnerO" - }, - { - "kind": "TypeNominal", - "name": "Metatype", - "printedName": "DouShouQiModel.Owner.Type", - "children": [ - { - "kind": "TypeNominal", - "name": "Owner", - "printedName": "DouShouQiModel.Owner", - "usr": "s:14DouShouQiModel5OwnerO" - } - ] - } - ] - } - ], - "declKind": "EnumElement", - "usr": "s:14DouShouQiModel5OwnerO5noOneyA2CmF", - "mangledName": "$s14DouShouQiModel5OwnerO5noOneyA2CmF", - "moduleName": "DouShouQiModel" - }, - { - "kind": "Var", - "name": "player1", - "printedName": "player1", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.Owner.Type) -> DouShouQiModel.Owner", - "children": [ - { - "kind": "TypeNominal", - "name": "Owner", - "printedName": "DouShouQiModel.Owner", - "usr": "s:14DouShouQiModel5OwnerO" - }, - { - "kind": "TypeNominal", - "name": "Metatype", - "printedName": "DouShouQiModel.Owner.Type", - "children": [ - { - "kind": "TypeNominal", - "name": "Owner", - "printedName": "DouShouQiModel.Owner", - "usr": "s:14DouShouQiModel5OwnerO" - } - ] - } - ] - } - ], - "declKind": "EnumElement", - "usr": "s:14DouShouQiModel5OwnerO7player1yA2CmF", - "mangledName": "$s14DouShouQiModel5OwnerO7player1yA2CmF", - "moduleName": "DouShouQiModel" - }, - { - "kind": "Var", - "name": "player2", - "printedName": "player2", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.Owner.Type) -> DouShouQiModel.Owner", - "children": [ - { - "kind": "TypeNominal", - "name": "Owner", - "printedName": "DouShouQiModel.Owner", - "usr": "s:14DouShouQiModel5OwnerO" - }, - { - "kind": "TypeNominal", - "name": "Metatype", - "printedName": "DouShouQiModel.Owner.Type", - "children": [ - { - "kind": "TypeNominal", - "name": "Owner", - "printedName": "DouShouQiModel.Owner", - "usr": "s:14DouShouQiModel5OwnerO" - } - ] - } - ] - } - ], - "declKind": "EnumElement", - "usr": "s:14DouShouQiModel5OwnerO7player2yA2CmF", - "mangledName": "$s14DouShouQiModel5OwnerO7player2yA2CmF", - "moduleName": "DouShouQiModel" - }, - { - "kind": "Var", - "name": "simpleDescription", - "printedName": "simpleDescription", - "children": [ - { - "kind": "TypeNominal", - "name": "String", - "printedName": "Swift.String", - "usr": "s:SS" - } - ], - "declKind": "Var", - "usr": "s:14DouShouQiModel5OwnerO17simpleDescriptionSSvp", - "mangledName": "$s14DouShouQiModel5OwnerO17simpleDescriptionSSvp", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "accessors": [ - { - "kind": "Accessor", - "name": "Get", - "printedName": "Get()", - "children": [ - { - "kind": "TypeNominal", - "name": "String", - "printedName": "Swift.String", - "usr": "s:SS" - } - ], - "declKind": "Accessor", - "usr": "s:14DouShouQiModel5OwnerO17simpleDescriptionSSvg", - "mangledName": "$s14DouShouQiModel5OwnerO17simpleDescriptionSSvg", - "moduleName": "DouShouQiModel", - "accessorKind": "get" - } - ] - }, - { - "kind": "Function", - "name": "==", - "printedName": "==(_:_:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Bool", - "printedName": "Swift.Bool", - "usr": "s:Sb" - }, - { - "kind": "TypeNominal", - "name": "Owner", - "printedName": "DouShouQiModel.Owner", - "usr": "s:14DouShouQiModel5OwnerO" - }, - { - "kind": "TypeNominal", - "name": "Owner", - "printedName": "DouShouQiModel.Owner", - "usr": "s:14DouShouQiModel5OwnerO" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel5OwnerO2eeoiySbAC_ACtFZ", - "mangledName": "$s14DouShouQiModel5OwnerO2eeoiySbAC_ACtFZ", - "moduleName": "DouShouQiModel", - "static": true, - "implicit": true, - "funcSelfKind": "NonMutating" - }, - { - "kind": "Var", - "name": "hashValue", - "printedName": "hashValue", - "children": [ - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ], - "declKind": "Var", - "usr": "s:14DouShouQiModel5OwnerO9hashValueSivp", - "mangledName": "$s14DouShouQiModel5OwnerO9hashValueSivp", - "moduleName": "DouShouQiModel", - "implicit": true, - "accessors": [ - { - "kind": "Accessor", - "name": "Get", - "printedName": "Get()", - "children": [ - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ], - "declKind": "Accessor", - "usr": "s:14DouShouQiModel5OwnerO9hashValueSivg", - "mangledName": "$s14DouShouQiModel5OwnerO9hashValueSivg", - "moduleName": "DouShouQiModel", - "implicit": true, - "accessorKind": "get" - } - ] - }, - { - "kind": "Function", - "name": "hash", - "printedName": "hash(into:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - }, - { - "kind": "TypeNominal", - "name": "Hasher", - "printedName": "Swift.Hasher", - "paramValueOwnership": "InOut", - "usr": "s:s6HasherV" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel5OwnerO4hash4intoys6HasherVz_tF", - "mangledName": "$s14DouShouQiModel5OwnerO4hash4intoys6HasherVz_tF", - "moduleName": "DouShouQiModel", - "implicit": true, - "funcSelfKind": "NonMutating" - } - ], - "declKind": "Enum", - "usr": "s:14DouShouQiModel5OwnerO", - "mangledName": "$s14DouShouQiModel5OwnerO", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "conformances": [ - { - "kind": "Conformance", - "name": "Equatable", - "printedName": "Equatable", - "usr": "s:SQ", - "mangledName": "$sSQ" - }, - { - "kind": "Conformance", - "name": "Hashable", - "printedName": "Hashable", - "usr": "s:SH", - "mangledName": "$sSH" - } - ] - }, - { - "kind": "Import", - "name": "Foundation", - "printedName": "Foundation", - "declKind": "Import", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "RawDocComment" - ] - }, - { - "kind": "TypeDecl", - "name": "IAPlayer", - "printedName": "IAPlayer", - "children": [ - { - "kind": "Constructor", - "name": "init", - "printedName": "init(withName:andId:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Optional", - "printedName": "DouShouQiModel.IAPlayer?", - "children": [ - { - "kind": "TypeNominal", - "name": "IAPlayer", - "printedName": "DouShouQiModel.IAPlayer", - "usr": "s:14DouShouQiModel8IAPlayerC" - } - ], - "usr": "s:Sq" - }, - { - "kind": "TypeNominal", - "name": "String", - "printedName": "Swift.String", - "usr": "s:SS" - }, - { - "kind": "TypeNominal", - "name": "Owner", - "printedName": "DouShouQiModel.Owner", - "usr": "s:14DouShouQiModel5OwnerO" - } - ], - "declKind": "Constructor", - "usr": "s:14DouShouQiModel8IAPlayerC8withName5andIdACSgSS_AA5OwnerOtcfc", - "mangledName": "$s14DouShouQiModel8IAPlayerC8withName5andIdACSgSS_AA5OwnerOtcfc", - "moduleName": "DouShouQiModel", - "overriding": true, - "implicit": true, - "declAttributes": [ - "Override" - ], - "init_kind": "Designated" - } - ], - "declKind": "Class", - "usr": "s:14DouShouQiModel8IAPlayerC", - "mangledName": "$s14DouShouQiModel8IAPlayerC", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "superclassUsr": "s:14DouShouQiModel6PlayerC", - "inheritsConvenienceInitializers": true, - "superclassNames": [ - "DouShouQiModel.Player" - ] - }, - { - "kind": "Import", - "name": "Foundation", - "printedName": "Foundation", - "declKind": "Import", - "moduleName": "DouShouQiModel" - }, - { - "kind": "TypeDecl", - "name": "Move", - "printedName": "Move", - "children": [ - { - "kind": "Var", - "name": "owner", - "printedName": "owner", - "children": [ - { - "kind": "TypeNominal", - "name": "Owner", - "printedName": "DouShouQiModel.Owner", - "usr": "s:14DouShouQiModel5OwnerO" - } - ], - "declKind": "Var", - "usr": "s:14DouShouQiModel4MoveV5ownerAA5OwnerOvp", - "mangledName": "$s14DouShouQiModel4MoveV5ownerAA5OwnerOvp", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "HasStorage", - "AccessControl" - ], - "isLet": true, - "hasStorage": true, - "accessors": [ - { - "kind": "Accessor", - "name": "Get", - "printedName": "Get()", - "children": [ - { - "kind": "TypeNominal", - "name": "Owner", - "printedName": "DouShouQiModel.Owner", - "usr": "s:14DouShouQiModel5OwnerO" - } - ], - "declKind": "Accessor", - "usr": "s:14DouShouQiModel4MoveV5ownerAA5OwnerOvg", - "mangledName": "$s14DouShouQiModel4MoveV5ownerAA5OwnerOvg", - "moduleName": "DouShouQiModel", - "implicit": true, - "accessorKind": "get" - } - ] - }, - { - "kind": "Var", - "name": "rowOrigin", - "printedName": "rowOrigin", - "children": [ - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ], - "declKind": "Var", - "usr": "s:14DouShouQiModel4MoveV9rowOriginSivp", - "mangledName": "$s14DouShouQiModel4MoveV9rowOriginSivp", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "HasStorage", - "AccessControl" - ], - "isLet": true, - "hasStorage": true, - "accessors": [ - { - "kind": "Accessor", - "name": "Get", - "printedName": "Get()", - "children": [ - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ], - "declKind": "Accessor", - "usr": "s:14DouShouQiModel4MoveV9rowOriginSivg", - "mangledName": "$s14DouShouQiModel4MoveV9rowOriginSivg", - "moduleName": "DouShouQiModel", - "implicit": true, - "accessorKind": "get" - } - ] - }, - { - "kind": "Var", - "name": "columnOrigin", - "printedName": "columnOrigin", - "children": [ - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ], - "declKind": "Var", - "usr": "s:14DouShouQiModel4MoveV12columnOriginSivp", - "mangledName": "$s14DouShouQiModel4MoveV12columnOriginSivp", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "HasStorage", - "AccessControl" - ], - "isLet": true, - "hasStorage": true, - "accessors": [ - { - "kind": "Accessor", - "name": "Get", - "printedName": "Get()", - "children": [ - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ], - "declKind": "Accessor", - "usr": "s:14DouShouQiModel4MoveV12columnOriginSivg", - "mangledName": "$s14DouShouQiModel4MoveV12columnOriginSivg", - "moduleName": "DouShouQiModel", - "implicit": true, - "accessorKind": "get" - } - ] - }, - { - "kind": "Var", - "name": "rowDestination", - "printedName": "rowDestination", - "children": [ - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ], - "declKind": "Var", - "usr": "s:14DouShouQiModel4MoveV14rowDestinationSivp", - "mangledName": "$s14DouShouQiModel4MoveV14rowDestinationSivp", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "HasStorage", - "AccessControl" - ], - "isLet": true, - "hasStorage": true, - "accessors": [ - { - "kind": "Accessor", - "name": "Get", - "printedName": "Get()", - "children": [ - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ], - "declKind": "Accessor", - "usr": "s:14DouShouQiModel4MoveV14rowDestinationSivg", - "mangledName": "$s14DouShouQiModel4MoveV14rowDestinationSivg", - "moduleName": "DouShouQiModel", - "implicit": true, - "accessorKind": "get" - } - ] - }, - { - "kind": "Var", - "name": "columnDestination", - "printedName": "columnDestination", - "children": [ - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ], - "declKind": "Var", - "usr": "s:14DouShouQiModel4MoveV17columnDestinationSivp", - "mangledName": "$s14DouShouQiModel4MoveV17columnDestinationSivp", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "HasStorage", - "AccessControl" - ], - "isLet": true, - "hasStorage": true, - "accessors": [ - { - "kind": "Accessor", - "name": "Get", - "printedName": "Get()", - "children": [ - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ], - "declKind": "Accessor", - "usr": "s:14DouShouQiModel4MoveV17columnDestinationSivg", - "mangledName": "$s14DouShouQiModel4MoveV17columnDestinationSivg", - "moduleName": "DouShouQiModel", - "implicit": true, - "accessorKind": "get" - } - ] - }, - { - "kind": "Constructor", - "name": "init", - "printedName": "init(of:fromRow:andFromColumn:toRow:andToColumn:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Move", - "printedName": "DouShouQiModel.Move", - "usr": "s:14DouShouQiModel4MoveV" - }, - { - "kind": "TypeNominal", - "name": "Owner", - "printedName": "DouShouQiModel.Owner", - "usr": "s:14DouShouQiModel5OwnerO" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ], - "declKind": "Constructor", - "usr": "s:14DouShouQiModel4MoveV2of7fromRow13andFromColumn02toH00i2ToK0AcA5OwnerO_S4itcfc", - "mangledName": "$s14DouShouQiModel4MoveV2of7fromRow13andFromColumn02toH00i2ToK0AcA5OwnerO_S4itcfc", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "init_kind": "Designated" - }, - { - "kind": "Var", - "name": "description", - "printedName": "description", - "children": [ - { - "kind": "TypeNominal", - "name": "String", - "printedName": "Swift.String", - "usr": "s:SS" - } - ], - "declKind": "Var", - "usr": "s:14DouShouQiModel4MoveV11descriptionSSvp", - "mangledName": "$s14DouShouQiModel4MoveV11descriptionSSvp", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "accessors": [ - { - "kind": "Accessor", - "name": "Get", - "printedName": "Get()", - "children": [ - { - "kind": "TypeNominal", - "name": "String", - "printedName": "Swift.String", - "usr": "s:SS" - } - ], - "declKind": "Accessor", - "usr": "s:14DouShouQiModel4MoveV11descriptionSSvg", - "mangledName": "$s14DouShouQiModel4MoveV11descriptionSSvg", - "moduleName": "DouShouQiModel", - "accessorKind": "get" - } - ] - }, - { - "kind": "Function", - "name": "==", - "printedName": "==(_:_:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Bool", - "printedName": "Swift.Bool", - "usr": "s:Sb" - }, - { - "kind": "TypeNominal", - "name": "Move", - "printedName": "DouShouQiModel.Move", - "usr": "s:14DouShouQiModel4MoveV" - }, - { - "kind": "TypeNominal", - "name": "Move", - "printedName": "DouShouQiModel.Move", - "usr": "s:14DouShouQiModel4MoveV" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel4MoveV2eeoiySbAC_ACtFZ", - "mangledName": "$s14DouShouQiModel4MoveV2eeoiySbAC_ACtFZ", - "moduleName": "DouShouQiModel", - "static": true, - "implicit": true, - "funcSelfKind": "NonMutating" - } - ], - "declKind": "Struct", - "usr": "s:14DouShouQiModel4MoveV", - "mangledName": "$s14DouShouQiModel4MoveV", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "conformances": [ - { - "kind": "Conformance", - "name": "CustomStringConvertible", - "printedName": "CustomStringConvertible", - "usr": "s:s23CustomStringConvertibleP", - "mangledName": "$ss23CustomStringConvertibleP" - }, - { - "kind": "Conformance", - "name": "Equatable", - "printedName": "Equatable", - "usr": "s:SQ", - "mangledName": "$sSQ" - } - ] - }, - { - "kind": "Import", - "name": "Foundation", - "printedName": "Foundation", - "declKind": "Import", - "moduleName": "DouShouQiModel" - }, - { - "kind": "TypeDecl", - "name": "Animal", - "printedName": "Animal", - "children": [ - { - "kind": "Var", - "name": "rat", - "printedName": "rat", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.Animal.Type) -> DouShouQiModel.Animal", - "children": [ - { - "kind": "TypeNominal", - "name": "Animal", - "printedName": "DouShouQiModel.Animal", - "usr": "s:14DouShouQiModel6AnimalO" - }, - { - "kind": "TypeNominal", - "name": "Metatype", - "printedName": "DouShouQiModel.Animal.Type", - "children": [ - { - "kind": "TypeNominal", - "name": "Animal", - "printedName": "DouShouQiModel.Animal", - "usr": "s:14DouShouQiModel6AnimalO" - } - ] - } - ] - } - ], - "declKind": "EnumElement", - "usr": "s:14DouShouQiModel6AnimalO3ratyA2CmF", - "mangledName": "$s14DouShouQiModel6AnimalO3ratyA2CmF", - "moduleName": "DouShouQiModel" - }, - { - "kind": "Var", - "name": "cat", - "printedName": "cat", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.Animal.Type) -> DouShouQiModel.Animal", - "children": [ - { - "kind": "TypeNominal", - "name": "Animal", - "printedName": "DouShouQiModel.Animal", - "usr": "s:14DouShouQiModel6AnimalO" - }, - { - "kind": "TypeNominal", - "name": "Metatype", - "printedName": "DouShouQiModel.Animal.Type", - "children": [ - { - "kind": "TypeNominal", - "name": "Animal", - "printedName": "DouShouQiModel.Animal", - "usr": "s:14DouShouQiModel6AnimalO" - } - ] - } - ] - } - ], - "declKind": "EnumElement", - "usr": "s:14DouShouQiModel6AnimalO3catyA2CmF", - "mangledName": "$s14DouShouQiModel6AnimalO3catyA2CmF", - "moduleName": "DouShouQiModel" - }, - { - "kind": "Var", - "name": "dog", - "printedName": "dog", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.Animal.Type) -> DouShouQiModel.Animal", - "children": [ - { - "kind": "TypeNominal", - "name": "Animal", - "printedName": "DouShouQiModel.Animal", - "usr": "s:14DouShouQiModel6AnimalO" - }, - { - "kind": "TypeNominal", - "name": "Metatype", - "printedName": "DouShouQiModel.Animal.Type", - "children": [ - { - "kind": "TypeNominal", - "name": "Animal", - "printedName": "DouShouQiModel.Animal", - "usr": "s:14DouShouQiModel6AnimalO" - } - ] - } - ] - } - ], - "declKind": "EnumElement", - "usr": "s:14DouShouQiModel6AnimalO3dogyA2CmF", - "mangledName": "$s14DouShouQiModel6AnimalO3dogyA2CmF", - "moduleName": "DouShouQiModel" - }, - { - "kind": "Var", - "name": "wolf", - "printedName": "wolf", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.Animal.Type) -> DouShouQiModel.Animal", - "children": [ - { - "kind": "TypeNominal", - "name": "Animal", - "printedName": "DouShouQiModel.Animal", - "usr": "s:14DouShouQiModel6AnimalO" - }, - { - "kind": "TypeNominal", - "name": "Metatype", - "printedName": "DouShouQiModel.Animal.Type", - "children": [ - { - "kind": "TypeNominal", - "name": "Animal", - "printedName": "DouShouQiModel.Animal", - "usr": "s:14DouShouQiModel6AnimalO" - } - ] - } - ] - } - ], - "declKind": "EnumElement", - "usr": "s:14DouShouQiModel6AnimalO4wolfyA2CmF", - "mangledName": "$s14DouShouQiModel6AnimalO4wolfyA2CmF", - "moduleName": "DouShouQiModel" - }, - { - "kind": "Var", - "name": "leopard", - "printedName": "leopard", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.Animal.Type) -> DouShouQiModel.Animal", - "children": [ - { - "kind": "TypeNominal", - "name": "Animal", - "printedName": "DouShouQiModel.Animal", - "usr": "s:14DouShouQiModel6AnimalO" - }, - { - "kind": "TypeNominal", - "name": "Metatype", - "printedName": "DouShouQiModel.Animal.Type", - "children": [ - { - "kind": "TypeNominal", - "name": "Animal", - "printedName": "DouShouQiModel.Animal", - "usr": "s:14DouShouQiModel6AnimalO" - } - ] - } - ] - } - ], - "declKind": "EnumElement", - "usr": "s:14DouShouQiModel6AnimalO7leopardyA2CmF", - "mangledName": "$s14DouShouQiModel6AnimalO7leopardyA2CmF", - "moduleName": "DouShouQiModel" - }, - { - "kind": "Var", - "name": "tiger", - "printedName": "tiger", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.Animal.Type) -> DouShouQiModel.Animal", - "children": [ - { - "kind": "TypeNominal", - "name": "Animal", - "printedName": "DouShouQiModel.Animal", - "usr": "s:14DouShouQiModel6AnimalO" - }, - { - "kind": "TypeNominal", - "name": "Metatype", - "printedName": "DouShouQiModel.Animal.Type", - "children": [ - { - "kind": "TypeNominal", - "name": "Animal", - "printedName": "DouShouQiModel.Animal", - "usr": "s:14DouShouQiModel6AnimalO" - } - ] - } - ] - } - ], - "declKind": "EnumElement", - "usr": "s:14DouShouQiModel6AnimalO5tigeryA2CmF", - "mangledName": "$s14DouShouQiModel6AnimalO5tigeryA2CmF", - "moduleName": "DouShouQiModel" - }, - { - "kind": "Var", - "name": "lion", - "printedName": "lion", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.Animal.Type) -> DouShouQiModel.Animal", - "children": [ - { - "kind": "TypeNominal", - "name": "Animal", - "printedName": "DouShouQiModel.Animal", - "usr": "s:14DouShouQiModel6AnimalO" - }, - { - "kind": "TypeNominal", - "name": "Metatype", - "printedName": "DouShouQiModel.Animal.Type", - "children": [ - { - "kind": "TypeNominal", - "name": "Animal", - "printedName": "DouShouQiModel.Animal", - "usr": "s:14DouShouQiModel6AnimalO" - } - ] - } - ] - } - ], - "declKind": "EnumElement", - "usr": "s:14DouShouQiModel6AnimalO4lionyA2CmF", - "mangledName": "$s14DouShouQiModel6AnimalO4lionyA2CmF", - "moduleName": "DouShouQiModel" - }, - { - "kind": "Var", - "name": "elephant", - "printedName": "elephant", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.Animal.Type) -> DouShouQiModel.Animal", - "children": [ - { - "kind": "TypeNominal", - "name": "Animal", - "printedName": "DouShouQiModel.Animal", - "usr": "s:14DouShouQiModel6AnimalO" - }, - { - "kind": "TypeNominal", - "name": "Metatype", - "printedName": "DouShouQiModel.Animal.Type", - "children": [ - { - "kind": "TypeNominal", - "name": "Animal", - "printedName": "DouShouQiModel.Animal", - "usr": "s:14DouShouQiModel6AnimalO" - } - ] - } - ] - } - ], - "declKind": "EnumElement", - "usr": "s:14DouShouQiModel6AnimalO8elephantyA2CmF", - "mangledName": "$s14DouShouQiModel6AnimalO8elephantyA2CmF", - "moduleName": "DouShouQiModel" - }, - { - "kind": "Var", - "name": "rawValue", - "printedName": "rawValue", - "children": [ - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ], - "declKind": "Var", - "usr": "s:14DouShouQiModel6AnimalO8rawValueSivp", - "mangledName": "$s14DouShouQiModel6AnimalO8rawValueSivp", - "moduleName": "DouShouQiModel", - "implicit": true, - "accessors": [ - { - "kind": "Accessor", - "name": "Get", - "printedName": "Get()", - "children": [ - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ], - "declKind": "Accessor", - "usr": "s:14DouShouQiModel6AnimalO8rawValueSivg", - "mangledName": "$s14DouShouQiModel6AnimalO8rawValueSivg", - "moduleName": "DouShouQiModel", - "implicit": true, - "accessorKind": "get" - } - ] - }, - { - "kind": "Constructor", - "name": "init", - "printedName": "init(rawValue:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Optional", - "printedName": "DouShouQiModel.Animal?", - "children": [ - { - "kind": "TypeNominal", - "name": "Animal", - "printedName": "DouShouQiModel.Animal", - "usr": "s:14DouShouQiModel6AnimalO" - } - ], - "usr": "s:Sq" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ], - "declKind": "Constructor", - "usr": "s:14DouShouQiModel6AnimalO8rawValueACSgSi_tcfc", - "mangledName": "$s14DouShouQiModel6AnimalO8rawValueACSgSi_tcfc", - "moduleName": "DouShouQiModel", - "implicit": true, - "init_kind": "Designated" - } - ], - "declKind": "Enum", - "usr": "s:14DouShouQiModel6AnimalO", - "mangledName": "$s14DouShouQiModel6AnimalO", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "enumRawTypeName": "Int", - "conformances": [ - { - "kind": "Conformance", - "name": "Equatable", - "printedName": "Equatable", - "usr": "s:SQ", - "mangledName": "$sSQ" - }, - { - "kind": "Conformance", - "name": "Hashable", - "printedName": "Hashable", - "usr": "s:SH", - "mangledName": "$sSH" - }, - { - "kind": "Conformance", - "name": "RawRepresentable", - "printedName": "RawRepresentable", - "children": [ - { - "kind": "TypeWitness", - "name": "RawValue", - "printedName": "RawValue", - "children": [ - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ] - } - ], - "usr": "s:SY", - "mangledName": "$sSY" - } - ] - }, - { - "kind": "Import", - "name": "Foundation", - "printedName": "Foundation", - "declKind": "Import", - "moduleName": "DouShouQiModel" - }, - { - "kind": "TypeDecl", - "name": "Game", - "printedName": "Game", - "children": [ - { - "kind": "Var", - "name": "board", - "printedName": "board", - "children": [ - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - } - ], - "declKind": "Var", - "usr": "s:14DouShouQiModel4GameC5boardAA5BoardVvp", - "mangledName": "$s14DouShouQiModel4GameC5boardAA5BoardVvp", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "HasStorage", - "SetterAccess", - "AccessControl" - ], - "hasStorage": true, - "accessors": [ - { - "kind": "Accessor", - "name": "Get", - "printedName": "Get()", - "children": [ - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - } - ], - "declKind": "Accessor", - "usr": "s:14DouShouQiModel4GameC5boardAA5BoardVvg", - "mangledName": "$s14DouShouQiModel4GameC5boardAA5BoardVvg", - "moduleName": "DouShouQiModel", - "implicit": true, - "accessorKind": "get" - } - ] - }, - { - "kind": "Var", - "name": "rules", - "printedName": "rules", - "children": [ - { - "kind": "TypeNominal", - "name": "Rules", - "printedName": "DouShouQiModel.Rules", - "usr": "s:14DouShouQiModel5RulesP" - } - ], - "declKind": "Var", - "usr": "s:14DouShouQiModel4GameC5rulesAA5Rules_pvp", - "mangledName": "$s14DouShouQiModel4GameC5rulesAA5Rules_pvp", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "HasStorage", - "SetterAccess", - "AccessControl" - ], - "hasStorage": true, - "accessors": [ - { - "kind": "Accessor", - "name": "Get", - "printedName": "Get()", - "children": [ - { - "kind": "TypeNominal", - "name": "Rules", - "printedName": "DouShouQiModel.Rules", - "usr": "s:14DouShouQiModel5RulesP" - } - ], - "declKind": "Accessor", - "usr": "s:14DouShouQiModel4GameC5rulesAA5Rules_pvg", - "mangledName": "$s14DouShouQiModel4GameC5rulesAA5Rules_pvg", - "moduleName": "DouShouQiModel", - "implicit": true, - "accessorKind": "get" - } - ] - }, - { - "kind": "Var", - "name": "players", - "printedName": "players", - "children": [ - { - "kind": "TypeNominal", - "name": "Dictionary", - "printedName": "[DouShouQiModel.Owner : DouShouQiModel.Player]", - "children": [ - { - "kind": "TypeNominal", - "name": "Owner", - "printedName": "DouShouQiModel.Owner", - "usr": "s:14DouShouQiModel5OwnerO" - }, - { - "kind": "TypeNominal", - "name": "Player", - "printedName": "DouShouQiModel.Player", - "usr": "s:14DouShouQiModel6PlayerC" - } - ], - "usr": "s:SD" - } - ], - "declKind": "Var", - "usr": "s:14DouShouQiModel4GameC7playersSDyAA5OwnerOAA6PlayerCGvp", - "mangledName": "$s14DouShouQiModel4GameC7playersSDyAA5OwnerOAA6PlayerCGvp", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "Final", - "HasStorage", - "AccessControl" - ], - "isLet": true, - "hasStorage": true, - "accessors": [ - { - "kind": "Accessor", - "name": "Get", - "printedName": "Get()", - "children": [ - { - "kind": "TypeNominal", - "name": "Dictionary", - "printedName": "[DouShouQiModel.Owner : DouShouQiModel.Player]", - "children": [ - { - "kind": "TypeNominal", - "name": "Owner", - "printedName": "DouShouQiModel.Owner", - "usr": "s:14DouShouQiModel5OwnerO" - }, - { - "kind": "TypeNominal", - "name": "Player", - "printedName": "DouShouQiModel.Player", - "usr": "s:14DouShouQiModel6PlayerC" - } - ], - "usr": "s:SD" - } - ], - "declKind": "Accessor", - "usr": "s:14DouShouQiModel4GameC7playersSDyAA5OwnerOAA6PlayerCGvg", - "mangledName": "$s14DouShouQiModel4GameC7playersSDyAA5OwnerOAA6PlayerCGvg", - "moduleName": "DouShouQiModel", - "implicit": true, - "declAttributes": [ - "Final" - ], - "accessorKind": "get" - } - ] - }, - { - "kind": "Constructor", - "name": "init", - "printedName": "init(withRules:andPlayer1:andPlayer2:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Game", - "printedName": "DouShouQiModel.Game", - "usr": "s:14DouShouQiModel4GameC" - }, - { - "kind": "TypeNominal", - "name": "Rules", - "printedName": "DouShouQiModel.Rules", - "usr": "s:14DouShouQiModel5RulesP" - }, - { - "kind": "TypeNominal", - "name": "Player", - "printedName": "DouShouQiModel.Player", - "usr": "s:14DouShouQiModel6PlayerC" - }, - { - "kind": "TypeNominal", - "name": "Player", - "printedName": "DouShouQiModel.Player", - "usr": "s:14DouShouQiModel6PlayerC" - } - ], - "declKind": "Constructor", - "usr": "s:14DouShouQiModel4GameC9withRules10andPlayer10H7Player2AcA0G0_p_AA6PlayerCAItKcfc", - "mangledName": "$s14DouShouQiModel4GameC9withRules10andPlayer10H7Player2AcA0G0_p_AA6PlayerCAItKcfc", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "throwing": true, - "init_kind": "Designated" - }, - { - "kind": "Constructor", - "name": "init", - "printedName": "init(withBoard:andRules:andPlayer1:andPlayer2:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Game", - "printedName": "DouShouQiModel.Game", - "usr": "s:14DouShouQiModel4GameC" - }, - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - }, - { - "kind": "TypeNominal", - "name": "Rules", - "printedName": "DouShouQiModel.Rules", - "usr": "s:14DouShouQiModel5RulesP" - }, - { - "kind": "TypeNominal", - "name": "Player", - "printedName": "DouShouQiModel.Player", - "usr": "s:14DouShouQiModel6PlayerC" - }, - { - "kind": "TypeNominal", - "name": "Player", - "printedName": "DouShouQiModel.Player", - "usr": "s:14DouShouQiModel6PlayerC" - } - ], - "declKind": "Constructor", - "usr": "s:14DouShouQiModel4GameC9withBoard8andRules0H7Player10H7Player2AcA0G0V_AA0I0_pAA6PlayerCALtKcfc", - "mangledName": "$s14DouShouQiModel4GameC9withBoard8andRules0H7Player10H7Player2AcA0G0V_AA0I0_pAA6PlayerCALtKcfc", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl", - "RawDocComment" - ], - "throwing": true, - "init_kind": "Designated" - }, - { - "kind": "Function", - "name": "addGameStartedListener", - "printedName": "addGameStartedListener(_:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - }, - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.Board) -> ()", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - }, - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - } - ] - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel4GameC03addE15StartedListeneryyyAA5BoardVcF", - "mangledName": "$s14DouShouQiModel4GameC03addE15StartedListeneryyyAA5BoardVcF", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "funcSelfKind": "NonMutating" - }, - { - "kind": "Function", - "name": "addPlayerNotifiedListener", - "printedName": "addPlayerNotifiedListener(_:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - }, - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.Board, DouShouQiModel.Player) async throws -> ()", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - }, - { - "kind": "TypeNominal", - "name": "Tuple", - "printedName": "(DouShouQiModel.Board, DouShouQiModel.Player)", - "children": [ - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - }, - { - "kind": "TypeNominal", - "name": "Player", - "printedName": "DouShouQiModel.Player", - "usr": "s:14DouShouQiModel6PlayerC" - } - ] - } - ] - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel4GameC25addPlayerNotifiedListeneryyyAA5BoardV_AA0G0CtYaKcF", - "mangledName": "$s14DouShouQiModel4GameC25addPlayerNotifiedListeneryyyAA5BoardV_AA0G0CtYaKcF", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "funcSelfKind": "NonMutating" - }, - { - "kind": "Function", - "name": "addGameChangedListener", - "printedName": "addGameChangedListener(_:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - }, - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.Game) async -> ()", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - }, - { - "kind": "TypeNominal", - "name": "Game", - "printedName": "DouShouQiModel.Game", - "usr": "s:14DouShouQiModel4GameC" - } - ] - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel4GameC03addE15ChangedListeneryyyACYacF", - "mangledName": "$s14DouShouQiModel4GameC03addE15ChangedListeneryyyACYacF", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "funcSelfKind": "NonMutating" - }, - { - "kind": "Function", - "name": "addGameOverListener", - "printedName": "addGameOverListener(_:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - }, - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.Board, DouShouQiModel.Result, DouShouQiModel.Player?) -> ()", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - }, - { - "kind": "TypeNominal", - "name": "Tuple", - "printedName": "(DouShouQiModel.Board, DouShouQiModel.Result, DouShouQiModel.Player?)", - "children": [ - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - }, - { - "kind": "TypeNominal", - "name": "Result", - "printedName": "DouShouQiModel.Result", - "usr": "s:14DouShouQiModel6ResultO" - }, - { - "kind": "TypeNominal", - "name": "Optional", - "printedName": "DouShouQiModel.Player?", - "children": [ - { - "kind": "TypeNominal", - "name": "Player", - "printedName": "DouShouQiModel.Player", - "usr": "s:14DouShouQiModel6PlayerC" - } - ], - "usr": "s:Sq" - } - ] - } - ] - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel4GameC03addE12OverListeneryyyAA5BoardV_AA6ResultOAA6PlayerCSgtcF", - "mangledName": "$s14DouShouQiModel4GameC03addE12OverListeneryyyAA5BoardV_AA6ResultOAA6PlayerCSgtcF", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "funcSelfKind": "NonMutating" - }, - { - "kind": "Function", - "name": "addMoveChosenCallbacksListener", - "printedName": "addMoveChosenCallbacksListener(_:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - }, - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.Board, DouShouQiModel.Move, DouShouQiModel.Player) -> ()", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - }, - { - "kind": "TypeNominal", - "name": "Tuple", - "printedName": "(DouShouQiModel.Board, DouShouQiModel.Move, DouShouQiModel.Player)", - "children": [ - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - }, - { - "kind": "TypeNominal", - "name": "Move", - "printedName": "DouShouQiModel.Move", - "usr": "s:14DouShouQiModel4MoveV" - }, - { - "kind": "TypeNominal", - "name": "Player", - "printedName": "DouShouQiModel.Player", - "usr": "s:14DouShouQiModel6PlayerC" - } - ] - } - ] - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel4GameC30addMoveChosenCallbacksListeneryyyAA5BoardV_AA0G0VAA6PlayerCtcF", - "mangledName": "$s14DouShouQiModel4GameC30addMoveChosenCallbacksListeneryyyAA5BoardV_AA0G0VAA6PlayerCtcF", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "funcSelfKind": "NonMutating" - }, - { - "kind": "Function", - "name": "addInvalidMoveCallbacksListener", - "printedName": "addInvalidMoveCallbacksListener(_:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - }, - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.Board, DouShouQiModel.Move, DouShouQiModel.Player, Swift.Bool) -> ()", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - }, - { - "kind": "TypeNominal", - "name": "Tuple", - "printedName": "(DouShouQiModel.Board, DouShouQiModel.Move, DouShouQiModel.Player, Swift.Bool)", - "children": [ - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - }, - { - "kind": "TypeNominal", - "name": "Move", - "printedName": "DouShouQiModel.Move", - "usr": "s:14DouShouQiModel4MoveV" - }, - { - "kind": "TypeNominal", - "name": "Player", - "printedName": "DouShouQiModel.Player", - "usr": "s:14DouShouQiModel6PlayerC" - }, - { - "kind": "TypeNominal", - "name": "Bool", - "printedName": "Swift.Bool", - "usr": "s:Sb" - } - ] - } - ] - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel4GameC31addInvalidMoveCallbacksListeneryyyAA5BoardV_AA0H0VAA6PlayerCSbtcF", - "mangledName": "$s14DouShouQiModel4GameC31addInvalidMoveCallbacksListeneryyyAA5BoardV_AA0H0VAA6PlayerCSbtcF", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "funcSelfKind": "NonMutating" - }, - { - "kind": "Function", - "name": "addBoardChangedListener", - "printedName": "addBoardChangedListener(_:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - }, - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.Board) -> ()", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - }, - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - } - ] - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel4GameC23addBoardChangedListeneryyyAA0G0VcF", - "mangledName": "$s14DouShouQiModel4GameC23addBoardChangedListeneryyyAA0G0VcF", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "funcSelfKind": "NonMutating" - }, - { - "kind": "Function", - "name": "addPieceRemovedListener", - "printedName": "addPieceRemovedListener(_:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - }, - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(Swift.Int, Swift.Int, DouShouQiModel.Piece) -> ()", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - }, - { - "kind": "TypeNominal", - "name": "Tuple", - "printedName": "(Swift.Int, Swift.Int, DouShouQiModel.Piece)", - "children": [ - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - }, - { - "kind": "TypeNominal", - "name": "Piece", - "printedName": "DouShouQiModel.Piece", - "usr": "s:14DouShouQiModel5PieceV" - } - ] - } - ] - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel4GameC23addPieceRemovedListeneryyySi_SiAA0G0VtcF", - "mangledName": "$s14DouShouQiModel4GameC23addPieceRemovedListeneryyySi_SiAA0G0VtcF", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "funcSelfKind": "NonMutating" - }, - { - "kind": "Function", - "name": "onPlayed", - "printedName": "onPlayed(with:from:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - }, - { - "kind": "TypeNominal", - "name": "Optional", - "printedName": "DouShouQiModel.Move?", - "children": [ - { - "kind": "TypeNominal", - "name": "Move", - "printedName": "DouShouQiModel.Move", - "usr": "s:14DouShouQiModel4MoveV" - } - ], - "usr": "s:Sq" - }, - { - "kind": "TypeNominal", - "name": "Player", - "printedName": "DouShouQiModel.Player", - "usr": "s:14DouShouQiModel6PlayerC" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel4GameC8onPlayed4with4fromyAA4MoveVSg_AA6PlayerCtYaKF", - "mangledName": "$s14DouShouQiModel4GameC8onPlayed4with4fromyAA4MoveVSg_AA6PlayerCtYaKF", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "throwing": true, - "funcSelfKind": "NonMutating" - }, - { - "kind": "Var", - "name": "isOver", - "printedName": "isOver", - "children": [ - { - "kind": "TypeNominal", - "name": "Bool", - "printedName": "Swift.Bool", - "usr": "s:Sb" - } - ], - "declKind": "Var", - "usr": "s:14DouShouQiModel4GameC6isOverSbvp", - "mangledName": "$s14DouShouQiModel4GameC6isOverSbvp", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "HasInitialValue", - "HasStorage", - "SetterAccess", - "AccessControl" - ], - "hasStorage": true, - "accessors": [ - { - "kind": "Accessor", - "name": "Get", - "printedName": "Get()", - "children": [ - { - "kind": "TypeNominal", - "name": "Bool", - "printedName": "Swift.Bool", - "usr": "s:Sb" - } - ], - "declKind": "Accessor", - "usr": "s:14DouShouQiModel4GameC6isOverSbvg", - "mangledName": "$s14DouShouQiModel4GameC6isOverSbvg", - "moduleName": "DouShouQiModel", - "implicit": true, - "accessorKind": "get" - } - ] - }, - { - "kind": "Function", - "name": "start", - "printedName": "start()", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel4GameC5startyyYaKF", - "mangledName": "$s14DouShouQiModel4GameC5startyyYaKF", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "throwing": true, - "funcSelfKind": "NonMutating" - } - ], - "declKind": "Class", - "usr": "s:14DouShouQiModel4GameC", - "mangledName": "$s14DouShouQiModel4GameC", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl", - "RawDocComment" - ] - } - ], - "json_format_version": 8 - }, - "ConstValues": [ - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", - "kind": "IntegerLiteral", - "offset": 81, - "length": 1, - "value": "9" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", - "kind": "IntegerLiteral", - "offset": 111, - "length": 1, - "value": "7" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", - "kind": "IntegerLiteral", - "offset": 148, - "length": 1, - "value": "3" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", - "kind": "IntegerLiteral", - "offset": 3048, - "length": 1, - "value": "0" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", - "kind": "IntegerLiteral", - "offset": 3088, - "length": 1, - "value": "0" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", - "kind": "Array", - "offset": 3941, - "length": 2, - "value": "[]" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", - "kind": "Dictionary", - "offset": 4285, - "length": 3, - "value": "[]" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", - "kind": "Array", - "offset": 4475, - "length": 2, - "value": "[]" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", - "kind": "IntegerLiteral", - "offset": 4517, - "length": 1, - "value": "0" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", - "kind": "IntegerLiteral", - "offset": 4565, - "length": 1, - "value": "0" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", - "kind": "BooleanLiteral", - "offset": 4967, - "length": 5, - "value": "false" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", - "kind": "Array", - "offset": 6169, - "length": 2, - "value": "[]" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", - "kind": "IntegerLiteral", - "offset": 6189, - "length": 1, - "value": "0" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", - "kind": "IntegerLiteral", - "offset": 6229, - "length": 1, - "value": "0" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", - "kind": "IntegerLiteral", - "offset": 9685, - "length": 1, - "value": "0" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", - "kind": "IntegerLiteral", - "offset": 10586, - "length": 1, - "value": "0" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", - "kind": "IntegerLiteral", - "offset": 10906, - "length": 1, - "value": "0" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", - "kind": "IntegerLiteral", - "offset": 11013, - "length": 1, - "value": "0" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", - "kind": "Array", - "offset": 11170, - "length": 2, - "value": "[]" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", - "kind": "IntegerLiteral", - "offset": 11188, - "length": 1, - "value": "0" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", - "kind": "IntegerLiteral", - "offset": 11280, - "length": 1, - "value": "1" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", - "kind": "IntegerLiteral", - "offset": 11325, - "length": 1, - "value": "0" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", - "kind": "IntegerLiteral", - "offset": 11433, - "length": 1, - "value": "1" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", - "kind": "IntegerLiteral", - "offset": 11477, - "length": 1, - "value": "1" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", - "kind": "IntegerLiteral", - "offset": 11569, - "length": 1, - "value": "1" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", - "kind": "IntegerLiteral", - "offset": 11632, - "length": 1, - "value": "1" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", - "kind": "IntegerLiteral", - "offset": 11740, - "length": 1, - "value": "1" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", - "kind": "Array", - "offset": 12266, - "length": 2, - "value": "[]" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", - "kind": "IntegerLiteral", - "offset": 12307, - "length": 1, - "value": "1" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", - "kind": "IntegerLiteral", - "offset": 12319, - "length": 1, - "value": "0" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", - "kind": "IntegerLiteral", - "offset": 12326, - "length": 2, - "value": "-1" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", - "kind": "IntegerLiteral", - "offset": 12703, - "length": 1, - "value": "1" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", - "kind": "IntegerLiteral", - "offset": 12714, - "length": 1, - "value": "0" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", - "kind": "IntegerLiteral", - "offset": 12721, - "length": 2, - "value": "-1" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", - "kind": "IntegerLiteral", - "offset": 13086, - "length": 1, - "value": "1" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", - "kind": "IntegerLiteral", - "offset": 13464, - "length": 1, - "value": "1" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", - "kind": "BooleanLiteral", - "offset": 15597, - "length": 4, - "value": "true" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", - "kind": "IntegerLiteral", - "offset": 15704, - "length": 1, - "value": "0" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", - "kind": "BooleanLiteral", - "offset": 15728, - "length": 4, - "value": "true" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", - "kind": "IntegerLiteral", - "offset": 15845, - "length": 1, - "value": "0" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", - "kind": "BooleanLiteral", - "offset": 15869, - "length": 4, - "value": "true" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", - "kind": "BooleanLiteral", - "offset": 16049, - "length": 4, - "value": "true" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", - "kind": "BooleanLiteral", - "offset": 16149, - "length": 5, - "value": "false" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", - "kind": "IntegerLiteral", - "offset": 16579, - "length": 1, - "value": "0" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", - "kind": "IntegerLiteral", - "offset": 16584, - "length": 1, - "value": "1" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", - "kind": "Dictionary", - "offset": 16948, - "length": 3, - "value": "[]" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", - "kind": "Array", - "offset": 17004, - "length": 2, - "value": "[]" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Cell.swift", - "kind": "StringLiteral", - "offset": 122, - "length": 81, - "value": "\"\"" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Cell.swift", - "kind": "StringLiteral", - "offset": 147, - "length": 4, - "value": "\"ø\"" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Cell.swift", - "kind": "StringLiteral", - "offset": 152, - "length": 2, - "value": "\" on \"" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Cell.swift", - "kind": "StringLiteral", - "offset": 167, - "length": 1, - "value": "\", \"" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Cell.swift", - "kind": "StringLiteral", - "offset": 202, - "length": 1, - "value": "\"\"" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", - "kind": "IntegerLiteral", - "offset": 89, - "length": 1, - "value": "5" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", - "kind": "IntegerLiteral", - "offset": 119, - "length": 1, - "value": "5" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", - "kind": "IntegerLiteral", - "offset": 2067, - "length": 1, - "value": "0" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", - "kind": "IntegerLiteral", - "offset": 2107, - "length": 1, - "value": "0" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", - "kind": "IntegerLiteral", - "offset": 2267, - "length": 1, - "value": "0" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", - "kind": "IntegerLiteral", - "offset": 2277, - "length": 1, - "value": "2" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", - "kind": "IntegerLiteral", - "offset": 2419, - "length": 1, - "value": "4" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", - "kind": "IntegerLiteral", - "offset": 2429, - "length": 1, - "value": "2" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", - "kind": "IntegerLiteral", - "offset": 2964, - "length": 1, - "value": "0" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", - "kind": "IntegerLiteral", - "offset": 3004, - "length": 1, - "value": "0" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", - "kind": "Array", - "offset": 3773, - "length": 2, - "value": "[]" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", - "kind": "IntegerLiteral", - "offset": 3793, - "length": 1, - "value": "0" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", - "kind": "IntegerLiteral", - "offset": 3833, - "length": 1, - "value": "0" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", - "kind": "BooleanLiteral", - "offset": 4182, - "length": 4, - "value": "true" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", - "kind": "BooleanLiteral", - "offset": 4292, - "length": 5, - "value": "false" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", - "kind": "Array", - "offset": 4531, - "length": 2, - "value": "[]" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", - "kind": "Array", - "offset": 4639, - "length": 2, - "value": "[]" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", - "kind": "IntegerLiteral", - "offset": 4773, - "length": 1, - "value": "1" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", - "kind": "IntegerLiteral", - "offset": 4782, - "length": 1, - "value": "1" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", - "kind": "IntegerLiteral", - "offset": 4800, - "length": 1, - "value": "1" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", - "kind": "IntegerLiteral", - "offset": 4809, - "length": 1, - "value": "1" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", - "kind": "IntegerLiteral", - "offset": 4925, - "length": 1, - "value": "0" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", - "kind": "IntegerLiteral", - "offset": 5013, - "length": 1, - "value": "0" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", - "kind": "BooleanLiteral", - "offset": 6962, - "length": 4, - "value": "true" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", - "kind": "IntegerLiteral", - "offset": 7077, - "length": 1, - "value": "0" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", - "kind": "BooleanLiteral", - "offset": 7105, - "length": 4, - "value": "true" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", - "kind": "IntegerLiteral", - "offset": 7230, - "length": 1, - "value": "0" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", - "kind": "BooleanLiteral", - "offset": 7258, - "length": 4, - "value": "true" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", - "kind": "BooleanLiteral", - "offset": 7350, - "length": 5, - "value": "false" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", - "kind": "Dictionary", - "offset": 8072, - "length": 3, - "value": "[]" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", - "kind": "Array", - "offset": 8128, - "length": 2, - "value": "[]" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Player.swift", - "kind": "Array", - "offset": 418, - "length": 2, - "value": "[]" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Board.swift", - "kind": "BooleanLiteral", - "offset": 475, - "length": 5, - "value": "false" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Board.swift", - "kind": "IntegerLiteral", - "offset": 570, - "length": 1, - "value": "0" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Board.swift", - "kind": "IntegerLiteral", - "offset": 694, - "length": 1, - "value": "0" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Board.swift", - "kind": "IntegerLiteral", - "offset": 981, - "length": 1, - "value": "0" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Board.swift", - "kind": "IntegerLiteral", - "offset": 996, - "length": 1, - "value": "0" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Board.swift", - "kind": "IntegerLiteral", - "offset": 1015, - "length": 1, - "value": "0" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Board.swift", - "kind": "IntegerLiteral", - "offset": 1049, - "length": 1, - "value": "0" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Board.swift", - "kind": "IntegerLiteral", - "offset": 1212, - "length": 1, - "value": "1" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Board.swift", - "kind": "IntegerLiteral", - "offset": 1278, - "length": 1, - "value": "1" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Board.swift", - "kind": "IntegerLiteral", - "offset": 1548, - "length": 1, - "value": "0" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Board.swift", - "kind": "IntegerLiteral", - "offset": 1579, - "length": 1, - "value": "0" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Board.swift", - "kind": "IntegerLiteral", - "offset": 1979, - "length": 1, - "value": "0" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Board.swift", - "kind": "IntegerLiteral", - "offset": 2010, - "length": 1, - "value": "0" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Piece.swift", - "kind": "StringLiteral", - "offset": 122, - "length": 40, - "value": "\"[\"" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Piece.swift", - "kind": "StringLiteral", - "offset": 150, - "length": 1, - "value": "\":\"" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Piece.swift", - "kind": "StringLiteral", - "offset": 160, - "length": 1, - "value": "\"]\"" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Owner.swift", - "kind": "StringLiteral", - "offset": 183, - "length": 3, - "value": "\"x\"" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Owner.swift", - "kind": "StringLiteral", - "offset": 229, - "length": 3, - "value": "\"1\"" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Owner.swift", - "kind": "StringLiteral", - "offset": 275, - "length": 3, - "value": "\"2\"" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Move.swift", - "kind": "StringLiteral", - "offset": 616, - "length": 87, - "value": "\"\"" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Move.swift", - "kind": "StringLiteral", - "offset": 625, - "length": 1, - "value": "\": [\"" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Move.swift", - "kind": "StringLiteral", - "offset": 640, - "length": 1, - "value": "\",\"" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Move.swift", - "kind": "StringLiteral", - "offset": 656, - "length": 1, - "value": "\"] -> [\"" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Move.swift", - "kind": "StringLiteral", - "offset": 679, - "length": 1, - "value": "\", \"" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Move.swift", - "kind": "StringLiteral", - "offset": 701, - "length": 1, - "value": "\"]\"" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", - "kind": "IntegerLiteral", - "offset": 60, - "length": 1, - "value": "1" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", - "kind": "IntegerLiteral", - "offset": 63, - "length": 3, - "value": "2" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", - "kind": "IntegerLiteral", - "offset": 68, - "length": 3, - "value": "3" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", - "kind": "IntegerLiteral", - "offset": 73, - "length": 4, - "value": "4" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", - "kind": "IntegerLiteral", - "offset": 79, - "length": 7, - "value": "5" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", - "kind": "IntegerLiteral", - "offset": 88, - "length": 5, - "value": "6" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", - "kind": "IntegerLiteral", - "offset": 95, - "length": 4, - "value": "7" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", - "kind": "IntegerLiteral", - "offset": 101, - "length": 8, - "value": "8" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", - "kind": "IntegerLiteral", - "offset": 60, - "length": 1, - "value": "1" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", - "kind": "IntegerLiteral", - "offset": 63, - "length": 3, - "value": "2" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", - "kind": "IntegerLiteral", - "offset": 68, - "length": 3, - "value": "3" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", - "kind": "IntegerLiteral", - "offset": 73, - "length": 4, - "value": "4" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", - "kind": "IntegerLiteral", - "offset": 79, - "length": 7, - "value": "5" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", - "kind": "IntegerLiteral", - "offset": 88, - "length": 5, - "value": "6" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", - "kind": "IntegerLiteral", - "offset": 95, - "length": 4, - "value": "7" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", - "kind": "IntegerLiteral", - "offset": 101, - "length": 8, - "value": "8" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", - "kind": "IntegerLiteral", - "offset": 60, - "length": 1, - "value": "1" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", - "kind": "IntegerLiteral", - "offset": 63, - "length": 3, - "value": "2" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", - "kind": "IntegerLiteral", - "offset": 68, - "length": 3, - "value": "3" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", - "kind": "IntegerLiteral", - "offset": 73, - "length": 4, - "value": "4" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", - "kind": "IntegerLiteral", - "offset": 79, - "length": 7, - "value": "5" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", - "kind": "IntegerLiteral", - "offset": 88, - "length": 5, - "value": "6" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", - "kind": "IntegerLiteral", - "offset": 95, - "length": 4, - "value": "7" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", - "kind": "IntegerLiteral", - "offset": 101, - "length": 8, - "value": "8" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Game.swift", - "kind": "StringLiteral", - "offset": 513, - "length": 55, - "value": "\"The ids of players are not .player1 and then .player2\"" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Game.swift", - "kind": "StringLiteral", - "offset": 1483, - "length": 55, - "value": "\"The ids of players are not .player1 and then .player2\"" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Game.swift", - "kind": "Array", - "offset": 1754, - "length": 2, - "value": "[]" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Game.swift", - "kind": "Array", - "offset": 2090, - "length": 2, - "value": "[]" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Game.swift", - "kind": "Array", - "offset": 2582, - "length": 2, - "value": "[]" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Game.swift", - "kind": "Array", - "offset": 3012, - "length": 2, - "value": "[]" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Game.swift", - "kind": "Array", - "offset": 3416, - "length": 2, - "value": "[]" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Game.swift", - "kind": "Array", - "offset": 3827, - "length": 2, - "value": "[]" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Game.swift", - "kind": "Array", - "offset": 4261, - "length": 2, - "value": "[]" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Game.swift", - "kind": "Array", - "offset": 4580, - "length": 2, - "value": "[]" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Game.swift", - "kind": "BooleanLiteral", - "offset": 6361, - "length": 4, - "value": "true" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Game.swift", - "kind": "BooleanLiteral", - "offset": 7044, - "length": 5, - "value": "false" - } - ] -} \ No newline at end of file diff --git a/DouShouQi_App/DSQ.xcframework/macos-arm64_x86_64/DouShouQiModel.framework/Versions/A/Modules/DouShouQiModel.swiftmodule/arm64-apple-macos.private.swiftinterface b/DouShouQi_App/DSQ.xcframework/macos-arm64_x86_64/DouShouQiModel.framework/Versions/A/Modules/DouShouQiModel.swiftmodule/arm64-apple-macos.private.swiftinterface deleted file mode 100644 index 012a385..0000000 --- a/DouShouQi_App/DSQ.xcframework/macos-arm64_x86_64/DouShouQiModel.framework/Versions/A/Modules/DouShouQiModel.swiftmodule/arm64-apple-macos.private.swiftinterface +++ /dev/null @@ -1,266 +0,0 @@ -// swift-interface-format-version: 1.0 -// swift-compiler-version: Apple Swift version 5.9.2 (swiftlang-5.9.2.2.56 clang-1500.1.0.2.5) -// swift-module-flags: -target arm64-apple-macos13.0 -enable-objc-interop -enable-library-evolution -swift-version 5 -enforce-exclusivity=checked -O -module-name DouShouQiModel -// swift-module-flags-ignorable: -enable-bare-slash-regex -@_exported import DouShouQiModel -import Foundation -import Swift -import _Concurrency -import _StringProcessing -import _SwiftConcurrencyShims -public enum Result : Swift.Equatable { - case notFinished - case even - case winner(winner: DouShouQiModel.Owner, reason: DouShouQiModel.WinningReason) - public static func == (a: DouShouQiModel.Result, b: DouShouQiModel.Result) -> Swift.Bool -} -public enum WinningReason { - case denReached, noMorePieces, tooManyOccurences, noMovesLeft - public static func == (a: DouShouQiModel.WinningReason, b: DouShouQiModel.WinningReason) -> Swift.Bool - public func hash(into hasher: inout Swift.Hasher) - public var hashValue: Swift.Int { - get - } -} -public enum BoardResult : Swift.Equatable { - case unknown - case ok(piece: DouShouQiModel.Piece?) - case failed(reason: DouShouQiModel.BoardFailingReason) - public static func == (a: DouShouQiModel.BoardResult, b: DouShouQiModel.BoardResult) -> Swift.Bool -} -public enum BoardFailingReason { - case unknown, outOfBounds, cellNotEmpty, cellEmpty - public static func == (a: DouShouQiModel.BoardFailingReason, b: DouShouQiModel.BoardFailingReason) -> Swift.Bool - public func hash(into hasher: inout Swift.Hasher) - public var hashValue: Swift.Int { - get - } -} -@_inheritsConvenienceInitializers public class HumanPlayer : DouShouQiModel.Player { - public init?(withName name: Swift.String, andId id: DouShouQiModel.Owner, andInputMethod input: @escaping (_ hp: DouShouQiModel.HumanPlayer) -> DouShouQiModel.Move?) - override public init?(withName name: Swift.String, andId id: DouShouQiModel.Owner) - #if compiler(>=5.3) && $AsyncAwait - override public func chooseMove(in board: DouShouQiModel.Board, with rules: any DouShouQiModel.Rules) async throws - #endif - public func changeInput(input: @escaping (_ hp: DouShouQiModel.HumanPlayer) -> DouShouQiModel.Move?) - #if compiler(>=5.3) && $AsyncAwait - public func chooseMove(_ move: DouShouQiModel.Move?) async throws - #endif - @objc deinit -} -public struct ClassicRules : DouShouQiModel.Rules { - public static func createBoard() -> DouShouQiModel.Board - public static func checkBoard(_ board: DouShouQiModel.Board) throws - public init() - public init(occurences: [DouShouQiModel.Board : Swift.Int], historic: [DouShouQiModel.Move]) - public func getMoves(in board: DouShouQiModel.Board, of owner: DouShouQiModel.Owner) -> [DouShouQiModel.Move] - public func getMoves(in board: DouShouQiModel.Board, of owner: DouShouQiModel.Owner, fromRow row: Swift.Int, andColumn col: Swift.Int) -> [DouShouQiModel.Move] - public func isMoveValid(onBoard board: DouShouQiModel.Board, fromRow originRow: Swift.Int, andFromColumn originColumn: Swift.Int, toRow destinationRow: Swift.Int, andToColumn destinationColumn: Swift.Int) -> Swift.Bool - public func isMoveValid(onBoard board: DouShouQiModel.Board, withMove move: DouShouQiModel.Move) -> Swift.Bool - public func isGameOver(withBoard board: DouShouQiModel.Board, andLastRowPlayed lastRow: Swift.Int, andLastColumnPlayer lastColumn: Swift.Int) -> (Swift.Bool, DouShouQiModel.Result) - public mutating func playedMove(_ move: DouShouQiModel.Move, onStartingBoard board: DouShouQiModel.Board, andResultingBoard resultingBoard: DouShouQiModel.Board) throws - public func getNextPlayer() -> DouShouQiModel.Owner - public var occurences: [DouShouQiModel.Board : Swift.Int] { - get - } - public var historic: [DouShouQiModel.Move] { - get - } -} -public struct Cell : Swift.CustomStringConvertible, Swift.Equatable { - public var description: Swift.String { - get - } - public let cellType: DouShouQiModel.CellType - public let initialOwner: DouShouQiModel.Owner - public var piece: DouShouQiModel.Piece? - public init(ofType cellType: DouShouQiModel.CellType, ownedBy initialOwner: DouShouQiModel.Owner = .noOne, withPiece piece: DouShouQiModel.Piece? = nil) - public static func == (a: DouShouQiModel.Cell, b: DouShouQiModel.Cell) -> Swift.Bool -} -public struct VerySimpleRules : DouShouQiModel.Rules { - public static func createBoard() -> DouShouQiModel.Board - public static func checkBoard(_ board: DouShouQiModel.Board) throws - public init() - public init(occurences: [DouShouQiModel.Board : Swift.Int], historic: [DouShouQiModel.Move]) - public func getMoves(in board: DouShouQiModel.Board, of owner: DouShouQiModel.Owner) -> [DouShouQiModel.Move] - public func getMoves(in board: DouShouQiModel.Board, of owner: DouShouQiModel.Owner, fromRow row: Swift.Int, andColumn col: Swift.Int) -> [DouShouQiModel.Move] - public func isMoveValid(onBoard board: DouShouQiModel.Board, fromRow originRow: Swift.Int, andFromColumn originColumn: Swift.Int, toRow destinationRow: Swift.Int, andToColumn destinationColumn: Swift.Int) -> Swift.Bool - public func isMoveValid(onBoard board: DouShouQiModel.Board, withMove move: DouShouQiModel.Move) -> Swift.Bool - public func isGameOver(withBoard board: DouShouQiModel.Board, andLastRowPlayed lastRow: Swift.Int, andLastColumnPlayer lastColumn: Swift.Int) -> (Swift.Bool, DouShouQiModel.Result) - public mutating func playedMove(_ move: DouShouQiModel.Move, onStartingBoard board: DouShouQiModel.Board, andResultingBoard resultingBoard: DouShouQiModel.Board) throws - public func getNextPlayer() -> DouShouQiModel.Owner - public var occurences: [DouShouQiModel.Board : Swift.Int] { - get - } - public var historic: [DouShouQiModel.Move] { - get - } -} -public protocol Rules { - static func createBoard() -> DouShouQiModel.Board - static func checkBoard(_ board: DouShouQiModel.Board) throws - func getNextPlayer() -> DouShouQiModel.Owner - func getMoves(in board: DouShouQiModel.Board, of: DouShouQiModel.Owner) -> [DouShouQiModel.Move] - func getMoves(in board: DouShouQiModel.Board, of: DouShouQiModel.Owner, fromRow row: Swift.Int, andColumn col: Swift.Int) -> [DouShouQiModel.Move] - func isMoveValid(onBoard: DouShouQiModel.Board, fromRow: Swift.Int, andFromColumn: Swift.Int, toRow: Swift.Int, andToColumn: Swift.Int) -> Swift.Bool - func isMoveValid(onBoard: DouShouQiModel.Board, withMove move: DouShouQiModel.Move) -> Swift.Bool - func isGameOver(withBoard: DouShouQiModel.Board, andLastRowPlayed: Swift.Int, andLastColumnPlayer: Swift.Int) -> (Swift.Bool, DouShouQiModel.Result) - mutating func playedMove(_ move: DouShouQiModel.Move, onStartingBoard board: DouShouQiModel.Board, andResultingBoard resultingBoard: DouShouQiModel.Board) throws - var occurences: [DouShouQiModel.Board : Swift.Int] { get } - var historic: [DouShouQiModel.Move] { get } -} -public class Player { - final public let name: Swift.String - final public let id: DouShouQiModel.Owner - public init?(withName name: Swift.String, andId id: DouShouQiModel.Owner) - #if compiler(>=5.3) && $AsyncAwait - public func chooseMove(in board: DouShouQiModel.Board, with rules: any DouShouQiModel.Rules) async throws - #endif - #if compiler(>=5.3) && $AsyncAwait - public func addPlayedCallbacksListener(_ listener: @escaping (DouShouQiModel.Move?, DouShouQiModel.Player) async throws -> Swift.Void) - #endif - #if compiler(>=5.3) && $AsyncAwait - public func notifyPlayed(withMove move: DouShouQiModel.Move?, andPlayer player: DouShouQiModel.Player) async throws - #endif - @objc deinit -} -public enum GameError : Swift.Error { - case invalidMove, nextPlayerError, badPlayerId(message: Swift.String), invalidRules, invalidPlayer, invalidGame, invalidBoard -} -@_inheritsConvenienceInitializers public class RandomPlayer : DouShouQiModel.IAPlayer { - #if compiler(>=5.3) && $AsyncAwait - override public func chooseMove(in board: DouShouQiModel.Board, with rules: any DouShouQiModel.Rules) async throws - #endif - override public init?(withName name: Swift.String, andId id: DouShouQiModel.Owner) - @objc deinit -} -public enum CellType : Swift.CaseIterable { - case unknown, jungle, water, trap, den - public static func == (a: DouShouQiModel.CellType, b: DouShouQiModel.CellType) -> Swift.Bool - public func hash(into hasher: inout Swift.Hasher) - public typealias AllCases = [DouShouQiModel.CellType] - public static var allCases: [DouShouQiModel.CellType] { - get - } - public var hashValue: Swift.Int { - get - } -} -public struct Board : Swift.Hashable { - public func hash(into hasher: inout Swift.Hasher) - public let nbRows: Swift.Int - public let nbColumns: Swift.Int - public var grid: [[DouShouQiModel.Cell]] { - get - } - public init?(withGrid grid: [[DouShouQiModel.Cell]]) - public func countPieces(of owner: DouShouQiModel.Owner) -> Swift.Int - public func countPieces() -> (nbOfPiecesOfPlayer1: Swift.Int, nbOfPiecesOfPlayer2: Swift.Int) - public mutating func insert(piece: DouShouQiModel.Piece, atRow row: Swift.Int, andColumn column: Swift.Int) -> DouShouQiModel.BoardResult - public mutating func removePiece(atRow row: Swift.Int, andColumn column: Swift.Int) -> DouShouQiModel.BoardResult - public static func == (a: DouShouQiModel.Board, b: DouShouQiModel.Board) -> Swift.Bool - public var hashValue: Swift.Int { - get - } -} -public struct Piece : Swift.CustomStringConvertible, Swift.Hashable { - public var description: Swift.String { - get - } - public let owner: DouShouQiModel.Owner - public let animal: DouShouQiModel.Animal - public init(withOwner owner: DouShouQiModel.Owner, andAnimal animal: DouShouQiModel.Animal) - public func hash(into hasher: inout Swift.Hasher) - public static func == (a: DouShouQiModel.Piece, b: DouShouQiModel.Piece) -> Swift.Bool - public var hashValue: Swift.Int { - get - } -} -public enum InvalidBoardError : Swift.Error, Swift.Equatable { - case unknownError - case badDimensions(nbRows: Swift.Int, nbColumns: Swift.Int) - case badCellType(cellType: DouShouQiModel.CellType, row: Swift.Int, column: Swift.Int) - case multipleOccurenceOfSamePiece(piece: DouShouQiModel.Piece) - case pieceWithNoOwner(piece: DouShouQiModel.Piece) - case pieceNotAllowedOnThisCell(piece: DouShouQiModel.Piece, cell: DouShouQiModel.Cell) - public static func == (a: DouShouQiModel.InvalidBoardError, b: DouShouQiModel.InvalidBoardError) -> Swift.Bool -} -public enum Owner { - case noOne, player1, player2 - public var simpleDescription: Swift.String { - get - } - public static func == (a: DouShouQiModel.Owner, b: DouShouQiModel.Owner) -> Swift.Bool - public func hash(into hasher: inout Swift.Hasher) - public var hashValue: Swift.Int { - get - } -} -@_inheritsConvenienceInitializers public class IAPlayer : DouShouQiModel.Player { - override public init?(withName name: Swift.String, andId id: DouShouQiModel.Owner) - @objc deinit -} -public struct Move : Swift.CustomStringConvertible, Swift.Equatable { - public let owner: DouShouQiModel.Owner - public let rowOrigin: Swift.Int - public let columnOrigin: Swift.Int - public let rowDestination: Swift.Int - public let columnDestination: Swift.Int - public init(of owner: DouShouQiModel.Owner, fromRow rowOrigin: Swift.Int, andFromColumn colOrigin: Swift.Int, toRow rowDest: Swift.Int, andToColumn colDest: Swift.Int) - public var description: Swift.String { - get - } - public static func == (a: DouShouQiModel.Move, b: DouShouQiModel.Move) -> Swift.Bool -} -public enum Animal : Swift.Int { - case rat, cat, dog, wolf, leopard, tiger, lion, elephant - public init?(rawValue: Swift.Int) - public typealias RawValue = Swift.Int - public var rawValue: Swift.Int { - get - } -} -public class Game { - public var board: DouShouQiModel.Board { - get - } - public var rules: any DouShouQiModel.Rules { - get - } - final public let players: [DouShouQiModel.Owner : DouShouQiModel.Player] - public init(withRules rules: any DouShouQiModel.Rules, andPlayer1 player1: DouShouQiModel.Player, andPlayer2 player2: DouShouQiModel.Player) throws - public init(withBoard board: DouShouQiModel.Board, andRules rules: any DouShouQiModel.Rules, andPlayer1 player1: DouShouQiModel.Player, andPlayer2 player2: DouShouQiModel.Player) throws - public func addGameStartedListener(_ listener: @escaping (DouShouQiModel.Board) -> Swift.Void) - #if compiler(>=5.3) && $AsyncAwait - public func addPlayerNotifiedListener(_ listener: @escaping (DouShouQiModel.Board, DouShouQiModel.Player) async throws -> Swift.Void) - #endif - #if compiler(>=5.3) && $AsyncAwait - public func addGameChangedListener(_ listener: @escaping (DouShouQiModel.Game) async -> Swift.Void) - #endif - public func addGameOverListener(_ listener: @escaping (DouShouQiModel.Board, DouShouQiModel.Result, DouShouQiModel.Player?) -> Swift.Void) - public func addMoveChosenCallbacksListener(_ listener: @escaping (DouShouQiModel.Board, DouShouQiModel.Move, DouShouQiModel.Player) -> Swift.Void) - public func addInvalidMoveCallbacksListener(_ listener: @escaping (DouShouQiModel.Board, DouShouQiModel.Move, DouShouQiModel.Player, Swift.Bool) -> Swift.Void) - public func addBoardChangedListener(_ listener: @escaping (DouShouQiModel.Board) -> Swift.Void) - public func addPieceRemovedListener(_ listener: @escaping (Swift.Int, Swift.Int, DouShouQiModel.Piece) -> Swift.Void) - #if compiler(>=5.3) && $AsyncAwait - public func onPlayed(with move: DouShouQiModel.Move?, from player: DouShouQiModel.Player) async throws - #endif - public var isOver: Swift.Bool { - get - } - #if compiler(>=5.3) && $AsyncAwait - public func start() async throws - #endif - @objc deinit -} -extension DouShouQiModel.WinningReason : Swift.Equatable {} -extension DouShouQiModel.WinningReason : Swift.Hashable {} -extension DouShouQiModel.BoardFailingReason : Swift.Equatable {} -extension DouShouQiModel.BoardFailingReason : Swift.Hashable {} -extension DouShouQiModel.CellType : Swift.Equatable {} -extension DouShouQiModel.CellType : Swift.Hashable {} -extension DouShouQiModel.Owner : Swift.Equatable {} -extension DouShouQiModel.Owner : Swift.Hashable {} -extension DouShouQiModel.Animal : Swift.Equatable {} -extension DouShouQiModel.Animal : Swift.Hashable {} -extension DouShouQiModel.Animal : Swift.RawRepresentable {} diff --git a/DouShouQi_App/DSQ.xcframework/macos-arm64_x86_64/DouShouQiModel.framework/Versions/A/Modules/DouShouQiModel.swiftmodule/arm64-apple-macos.swiftdoc b/DouShouQi_App/DSQ.xcframework/macos-arm64_x86_64/DouShouQiModel.framework/Versions/A/Modules/DouShouQiModel.swiftmodule/arm64-apple-macos.swiftdoc deleted file mode 100644 index 532f235..0000000 Binary files a/DouShouQi_App/DSQ.xcframework/macos-arm64_x86_64/DouShouQiModel.framework/Versions/A/Modules/DouShouQiModel.swiftmodule/arm64-apple-macos.swiftdoc and /dev/null differ diff --git a/DouShouQi_App/DSQ.xcframework/macos-arm64_x86_64/DouShouQiModel.framework/Versions/A/Modules/DouShouQiModel.swiftmodule/arm64-apple-macos.swiftinterface b/DouShouQi_App/DSQ.xcframework/macos-arm64_x86_64/DouShouQiModel.framework/Versions/A/Modules/DouShouQiModel.swiftmodule/arm64-apple-macos.swiftinterface deleted file mode 100644 index 012a385..0000000 --- a/DouShouQi_App/DSQ.xcframework/macos-arm64_x86_64/DouShouQiModel.framework/Versions/A/Modules/DouShouQiModel.swiftmodule/arm64-apple-macos.swiftinterface +++ /dev/null @@ -1,266 +0,0 @@ -// swift-interface-format-version: 1.0 -// swift-compiler-version: Apple Swift version 5.9.2 (swiftlang-5.9.2.2.56 clang-1500.1.0.2.5) -// swift-module-flags: -target arm64-apple-macos13.0 -enable-objc-interop -enable-library-evolution -swift-version 5 -enforce-exclusivity=checked -O -module-name DouShouQiModel -// swift-module-flags-ignorable: -enable-bare-slash-regex -@_exported import DouShouQiModel -import Foundation -import Swift -import _Concurrency -import _StringProcessing -import _SwiftConcurrencyShims -public enum Result : Swift.Equatable { - case notFinished - case even - case winner(winner: DouShouQiModel.Owner, reason: DouShouQiModel.WinningReason) - public static func == (a: DouShouQiModel.Result, b: DouShouQiModel.Result) -> Swift.Bool -} -public enum WinningReason { - case denReached, noMorePieces, tooManyOccurences, noMovesLeft - public static func == (a: DouShouQiModel.WinningReason, b: DouShouQiModel.WinningReason) -> Swift.Bool - public func hash(into hasher: inout Swift.Hasher) - public var hashValue: Swift.Int { - get - } -} -public enum BoardResult : Swift.Equatable { - case unknown - case ok(piece: DouShouQiModel.Piece?) - case failed(reason: DouShouQiModel.BoardFailingReason) - public static func == (a: DouShouQiModel.BoardResult, b: DouShouQiModel.BoardResult) -> Swift.Bool -} -public enum BoardFailingReason { - case unknown, outOfBounds, cellNotEmpty, cellEmpty - public static func == (a: DouShouQiModel.BoardFailingReason, b: DouShouQiModel.BoardFailingReason) -> Swift.Bool - public func hash(into hasher: inout Swift.Hasher) - public var hashValue: Swift.Int { - get - } -} -@_inheritsConvenienceInitializers public class HumanPlayer : DouShouQiModel.Player { - public init?(withName name: Swift.String, andId id: DouShouQiModel.Owner, andInputMethod input: @escaping (_ hp: DouShouQiModel.HumanPlayer) -> DouShouQiModel.Move?) - override public init?(withName name: Swift.String, andId id: DouShouQiModel.Owner) - #if compiler(>=5.3) && $AsyncAwait - override public func chooseMove(in board: DouShouQiModel.Board, with rules: any DouShouQiModel.Rules) async throws - #endif - public func changeInput(input: @escaping (_ hp: DouShouQiModel.HumanPlayer) -> DouShouQiModel.Move?) - #if compiler(>=5.3) && $AsyncAwait - public func chooseMove(_ move: DouShouQiModel.Move?) async throws - #endif - @objc deinit -} -public struct ClassicRules : DouShouQiModel.Rules { - public static func createBoard() -> DouShouQiModel.Board - public static func checkBoard(_ board: DouShouQiModel.Board) throws - public init() - public init(occurences: [DouShouQiModel.Board : Swift.Int], historic: [DouShouQiModel.Move]) - public func getMoves(in board: DouShouQiModel.Board, of owner: DouShouQiModel.Owner) -> [DouShouQiModel.Move] - public func getMoves(in board: DouShouQiModel.Board, of owner: DouShouQiModel.Owner, fromRow row: Swift.Int, andColumn col: Swift.Int) -> [DouShouQiModel.Move] - public func isMoveValid(onBoard board: DouShouQiModel.Board, fromRow originRow: Swift.Int, andFromColumn originColumn: Swift.Int, toRow destinationRow: Swift.Int, andToColumn destinationColumn: Swift.Int) -> Swift.Bool - public func isMoveValid(onBoard board: DouShouQiModel.Board, withMove move: DouShouQiModel.Move) -> Swift.Bool - public func isGameOver(withBoard board: DouShouQiModel.Board, andLastRowPlayed lastRow: Swift.Int, andLastColumnPlayer lastColumn: Swift.Int) -> (Swift.Bool, DouShouQiModel.Result) - public mutating func playedMove(_ move: DouShouQiModel.Move, onStartingBoard board: DouShouQiModel.Board, andResultingBoard resultingBoard: DouShouQiModel.Board) throws - public func getNextPlayer() -> DouShouQiModel.Owner - public var occurences: [DouShouQiModel.Board : Swift.Int] { - get - } - public var historic: [DouShouQiModel.Move] { - get - } -} -public struct Cell : Swift.CustomStringConvertible, Swift.Equatable { - public var description: Swift.String { - get - } - public let cellType: DouShouQiModel.CellType - public let initialOwner: DouShouQiModel.Owner - public var piece: DouShouQiModel.Piece? - public init(ofType cellType: DouShouQiModel.CellType, ownedBy initialOwner: DouShouQiModel.Owner = .noOne, withPiece piece: DouShouQiModel.Piece? = nil) - public static func == (a: DouShouQiModel.Cell, b: DouShouQiModel.Cell) -> Swift.Bool -} -public struct VerySimpleRules : DouShouQiModel.Rules { - public static func createBoard() -> DouShouQiModel.Board - public static func checkBoard(_ board: DouShouQiModel.Board) throws - public init() - public init(occurences: [DouShouQiModel.Board : Swift.Int], historic: [DouShouQiModel.Move]) - public func getMoves(in board: DouShouQiModel.Board, of owner: DouShouQiModel.Owner) -> [DouShouQiModel.Move] - public func getMoves(in board: DouShouQiModel.Board, of owner: DouShouQiModel.Owner, fromRow row: Swift.Int, andColumn col: Swift.Int) -> [DouShouQiModel.Move] - public func isMoveValid(onBoard board: DouShouQiModel.Board, fromRow originRow: Swift.Int, andFromColumn originColumn: Swift.Int, toRow destinationRow: Swift.Int, andToColumn destinationColumn: Swift.Int) -> Swift.Bool - public func isMoveValid(onBoard board: DouShouQiModel.Board, withMove move: DouShouQiModel.Move) -> Swift.Bool - public func isGameOver(withBoard board: DouShouQiModel.Board, andLastRowPlayed lastRow: Swift.Int, andLastColumnPlayer lastColumn: Swift.Int) -> (Swift.Bool, DouShouQiModel.Result) - public mutating func playedMove(_ move: DouShouQiModel.Move, onStartingBoard board: DouShouQiModel.Board, andResultingBoard resultingBoard: DouShouQiModel.Board) throws - public func getNextPlayer() -> DouShouQiModel.Owner - public var occurences: [DouShouQiModel.Board : Swift.Int] { - get - } - public var historic: [DouShouQiModel.Move] { - get - } -} -public protocol Rules { - static func createBoard() -> DouShouQiModel.Board - static func checkBoard(_ board: DouShouQiModel.Board) throws - func getNextPlayer() -> DouShouQiModel.Owner - func getMoves(in board: DouShouQiModel.Board, of: DouShouQiModel.Owner) -> [DouShouQiModel.Move] - func getMoves(in board: DouShouQiModel.Board, of: DouShouQiModel.Owner, fromRow row: Swift.Int, andColumn col: Swift.Int) -> [DouShouQiModel.Move] - func isMoveValid(onBoard: DouShouQiModel.Board, fromRow: Swift.Int, andFromColumn: Swift.Int, toRow: Swift.Int, andToColumn: Swift.Int) -> Swift.Bool - func isMoveValid(onBoard: DouShouQiModel.Board, withMove move: DouShouQiModel.Move) -> Swift.Bool - func isGameOver(withBoard: DouShouQiModel.Board, andLastRowPlayed: Swift.Int, andLastColumnPlayer: Swift.Int) -> (Swift.Bool, DouShouQiModel.Result) - mutating func playedMove(_ move: DouShouQiModel.Move, onStartingBoard board: DouShouQiModel.Board, andResultingBoard resultingBoard: DouShouQiModel.Board) throws - var occurences: [DouShouQiModel.Board : Swift.Int] { get } - var historic: [DouShouQiModel.Move] { get } -} -public class Player { - final public let name: Swift.String - final public let id: DouShouQiModel.Owner - public init?(withName name: Swift.String, andId id: DouShouQiModel.Owner) - #if compiler(>=5.3) && $AsyncAwait - public func chooseMove(in board: DouShouQiModel.Board, with rules: any DouShouQiModel.Rules) async throws - #endif - #if compiler(>=5.3) && $AsyncAwait - public func addPlayedCallbacksListener(_ listener: @escaping (DouShouQiModel.Move?, DouShouQiModel.Player) async throws -> Swift.Void) - #endif - #if compiler(>=5.3) && $AsyncAwait - public func notifyPlayed(withMove move: DouShouQiModel.Move?, andPlayer player: DouShouQiModel.Player) async throws - #endif - @objc deinit -} -public enum GameError : Swift.Error { - case invalidMove, nextPlayerError, badPlayerId(message: Swift.String), invalidRules, invalidPlayer, invalidGame, invalidBoard -} -@_inheritsConvenienceInitializers public class RandomPlayer : DouShouQiModel.IAPlayer { - #if compiler(>=5.3) && $AsyncAwait - override public func chooseMove(in board: DouShouQiModel.Board, with rules: any DouShouQiModel.Rules) async throws - #endif - override public init?(withName name: Swift.String, andId id: DouShouQiModel.Owner) - @objc deinit -} -public enum CellType : Swift.CaseIterable { - case unknown, jungle, water, trap, den - public static func == (a: DouShouQiModel.CellType, b: DouShouQiModel.CellType) -> Swift.Bool - public func hash(into hasher: inout Swift.Hasher) - public typealias AllCases = [DouShouQiModel.CellType] - public static var allCases: [DouShouQiModel.CellType] { - get - } - public var hashValue: Swift.Int { - get - } -} -public struct Board : Swift.Hashable { - public func hash(into hasher: inout Swift.Hasher) - public let nbRows: Swift.Int - public let nbColumns: Swift.Int - public var grid: [[DouShouQiModel.Cell]] { - get - } - public init?(withGrid grid: [[DouShouQiModel.Cell]]) - public func countPieces(of owner: DouShouQiModel.Owner) -> Swift.Int - public func countPieces() -> (nbOfPiecesOfPlayer1: Swift.Int, nbOfPiecesOfPlayer2: Swift.Int) - public mutating func insert(piece: DouShouQiModel.Piece, atRow row: Swift.Int, andColumn column: Swift.Int) -> DouShouQiModel.BoardResult - public mutating func removePiece(atRow row: Swift.Int, andColumn column: Swift.Int) -> DouShouQiModel.BoardResult - public static func == (a: DouShouQiModel.Board, b: DouShouQiModel.Board) -> Swift.Bool - public var hashValue: Swift.Int { - get - } -} -public struct Piece : Swift.CustomStringConvertible, Swift.Hashable { - public var description: Swift.String { - get - } - public let owner: DouShouQiModel.Owner - public let animal: DouShouQiModel.Animal - public init(withOwner owner: DouShouQiModel.Owner, andAnimal animal: DouShouQiModel.Animal) - public func hash(into hasher: inout Swift.Hasher) - public static func == (a: DouShouQiModel.Piece, b: DouShouQiModel.Piece) -> Swift.Bool - public var hashValue: Swift.Int { - get - } -} -public enum InvalidBoardError : Swift.Error, Swift.Equatable { - case unknownError - case badDimensions(nbRows: Swift.Int, nbColumns: Swift.Int) - case badCellType(cellType: DouShouQiModel.CellType, row: Swift.Int, column: Swift.Int) - case multipleOccurenceOfSamePiece(piece: DouShouQiModel.Piece) - case pieceWithNoOwner(piece: DouShouQiModel.Piece) - case pieceNotAllowedOnThisCell(piece: DouShouQiModel.Piece, cell: DouShouQiModel.Cell) - public static func == (a: DouShouQiModel.InvalidBoardError, b: DouShouQiModel.InvalidBoardError) -> Swift.Bool -} -public enum Owner { - case noOne, player1, player2 - public var simpleDescription: Swift.String { - get - } - public static func == (a: DouShouQiModel.Owner, b: DouShouQiModel.Owner) -> Swift.Bool - public func hash(into hasher: inout Swift.Hasher) - public var hashValue: Swift.Int { - get - } -} -@_inheritsConvenienceInitializers public class IAPlayer : DouShouQiModel.Player { - override public init?(withName name: Swift.String, andId id: DouShouQiModel.Owner) - @objc deinit -} -public struct Move : Swift.CustomStringConvertible, Swift.Equatable { - public let owner: DouShouQiModel.Owner - public let rowOrigin: Swift.Int - public let columnOrigin: Swift.Int - public let rowDestination: Swift.Int - public let columnDestination: Swift.Int - public init(of owner: DouShouQiModel.Owner, fromRow rowOrigin: Swift.Int, andFromColumn colOrigin: Swift.Int, toRow rowDest: Swift.Int, andToColumn colDest: Swift.Int) - public var description: Swift.String { - get - } - public static func == (a: DouShouQiModel.Move, b: DouShouQiModel.Move) -> Swift.Bool -} -public enum Animal : Swift.Int { - case rat, cat, dog, wolf, leopard, tiger, lion, elephant - public init?(rawValue: Swift.Int) - public typealias RawValue = Swift.Int - public var rawValue: Swift.Int { - get - } -} -public class Game { - public var board: DouShouQiModel.Board { - get - } - public var rules: any DouShouQiModel.Rules { - get - } - final public let players: [DouShouQiModel.Owner : DouShouQiModel.Player] - public init(withRules rules: any DouShouQiModel.Rules, andPlayer1 player1: DouShouQiModel.Player, andPlayer2 player2: DouShouQiModel.Player) throws - public init(withBoard board: DouShouQiModel.Board, andRules rules: any DouShouQiModel.Rules, andPlayer1 player1: DouShouQiModel.Player, andPlayer2 player2: DouShouQiModel.Player) throws - public func addGameStartedListener(_ listener: @escaping (DouShouQiModel.Board) -> Swift.Void) - #if compiler(>=5.3) && $AsyncAwait - public func addPlayerNotifiedListener(_ listener: @escaping (DouShouQiModel.Board, DouShouQiModel.Player) async throws -> Swift.Void) - #endif - #if compiler(>=5.3) && $AsyncAwait - public func addGameChangedListener(_ listener: @escaping (DouShouQiModel.Game) async -> Swift.Void) - #endif - public func addGameOverListener(_ listener: @escaping (DouShouQiModel.Board, DouShouQiModel.Result, DouShouQiModel.Player?) -> Swift.Void) - public func addMoveChosenCallbacksListener(_ listener: @escaping (DouShouQiModel.Board, DouShouQiModel.Move, DouShouQiModel.Player) -> Swift.Void) - public func addInvalidMoveCallbacksListener(_ listener: @escaping (DouShouQiModel.Board, DouShouQiModel.Move, DouShouQiModel.Player, Swift.Bool) -> Swift.Void) - public func addBoardChangedListener(_ listener: @escaping (DouShouQiModel.Board) -> Swift.Void) - public func addPieceRemovedListener(_ listener: @escaping (Swift.Int, Swift.Int, DouShouQiModel.Piece) -> Swift.Void) - #if compiler(>=5.3) && $AsyncAwait - public func onPlayed(with move: DouShouQiModel.Move?, from player: DouShouQiModel.Player) async throws - #endif - public var isOver: Swift.Bool { - get - } - #if compiler(>=5.3) && $AsyncAwait - public func start() async throws - #endif - @objc deinit -} -extension DouShouQiModel.WinningReason : Swift.Equatable {} -extension DouShouQiModel.WinningReason : Swift.Hashable {} -extension DouShouQiModel.BoardFailingReason : Swift.Equatable {} -extension DouShouQiModel.BoardFailingReason : Swift.Hashable {} -extension DouShouQiModel.CellType : Swift.Equatable {} -extension DouShouQiModel.CellType : Swift.Hashable {} -extension DouShouQiModel.Owner : Swift.Equatable {} -extension DouShouQiModel.Owner : Swift.Hashable {} -extension DouShouQiModel.Animal : Swift.Equatable {} -extension DouShouQiModel.Animal : Swift.Hashable {} -extension DouShouQiModel.Animal : Swift.RawRepresentable {} diff --git a/DouShouQi_App/DSQ.xcframework/macos-arm64_x86_64/DouShouQiModel.framework/Versions/A/Modules/DouShouQiModel.swiftmodule/x86_64-apple-macos.abi.json b/DouShouQi_App/DSQ.xcframework/macos-arm64_x86_64/DouShouQiModel.framework/Versions/A/Modules/DouShouQiModel.swiftmodule/x86_64-apple-macos.abi.json deleted file mode 100644 index c28e9fd..0000000 --- a/DouShouQi_App/DSQ.xcframework/macos-arm64_x86_64/DouShouQiModel.framework/Versions/A/Modules/DouShouQiModel.swiftmodule/x86_64-apple-macos.abi.json +++ /dev/null @@ -1,8546 +0,0 @@ -{ - "ABIRoot": { - "kind": "Root", - "name": "TopLevel", - "printedName": "TopLevel", - "children": [ - { - "kind": "Import", - "name": "Foundation", - "printedName": "Foundation", - "declKind": "Import", - "moduleName": "DouShouQiModel" - }, - { - "kind": "TypeDecl", - "name": "Result", - "printedName": "Result", - "children": [ - { - "kind": "Var", - "name": "notFinished", - "printedName": "notFinished", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.Result.Type) -> DouShouQiModel.Result", - "children": [ - { - "kind": "TypeNominal", - "name": "Result", - "printedName": "DouShouQiModel.Result", - "usr": "s:14DouShouQiModel6ResultO" - }, - { - "kind": "TypeNominal", - "name": "Metatype", - "printedName": "DouShouQiModel.Result.Type", - "children": [ - { - "kind": "TypeNominal", - "name": "Result", - "printedName": "DouShouQiModel.Result", - "usr": "s:14DouShouQiModel6ResultO" - } - ] - } - ] - } - ], - "declKind": "EnumElement", - "usr": "s:14DouShouQiModel6ResultO11notFinishedyA2CmF", - "mangledName": "$s14DouShouQiModel6ResultO11notFinishedyA2CmF", - "moduleName": "DouShouQiModel" - }, - { - "kind": "Var", - "name": "even", - "printedName": "even", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.Result.Type) -> DouShouQiModel.Result", - "children": [ - { - "kind": "TypeNominal", - "name": "Result", - "printedName": "DouShouQiModel.Result", - "usr": "s:14DouShouQiModel6ResultO" - }, - { - "kind": "TypeNominal", - "name": "Metatype", - "printedName": "DouShouQiModel.Result.Type", - "children": [ - { - "kind": "TypeNominal", - "name": "Result", - "printedName": "DouShouQiModel.Result", - "usr": "s:14DouShouQiModel6ResultO" - } - ] - } - ] - } - ], - "declKind": "EnumElement", - "usr": "s:14DouShouQiModel6ResultO4evenyA2CmF", - "mangledName": "$s14DouShouQiModel6ResultO4evenyA2CmF", - "moduleName": "DouShouQiModel" - }, - { - "kind": "Var", - "name": "winner", - "printedName": "winner", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.Result.Type) -> (DouShouQiModel.Owner, DouShouQiModel.WinningReason) -> DouShouQiModel.Result", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.Owner, DouShouQiModel.WinningReason) -> DouShouQiModel.Result", - "children": [ - { - "kind": "TypeNominal", - "name": "Result", - "printedName": "DouShouQiModel.Result", - "usr": "s:14DouShouQiModel6ResultO" - }, - { - "kind": "TypeNominal", - "name": "Tuple", - "printedName": "(winner: DouShouQiModel.Owner, reason: DouShouQiModel.WinningReason)", - "children": [ - { - "kind": "TypeNominal", - "name": "Owner", - "printedName": "DouShouQiModel.Owner", - "usr": "s:14DouShouQiModel5OwnerO" - }, - { - "kind": "TypeNominal", - "name": "WinningReason", - "printedName": "DouShouQiModel.WinningReason", - "usr": "s:14DouShouQiModel13WinningReasonO" - } - ] - } - ] - }, - { - "kind": "TypeNominal", - "name": "Metatype", - "printedName": "DouShouQiModel.Result.Type", - "children": [ - { - "kind": "TypeNominal", - "name": "Result", - "printedName": "DouShouQiModel.Result", - "usr": "s:14DouShouQiModel6ResultO" - } - ] - } - ] - } - ], - "declKind": "EnumElement", - "usr": "s:14DouShouQiModel6ResultO6winneryAcA5OwnerO_AA13WinningReasonOtcACmF", - "mangledName": "$s14DouShouQiModel6ResultO6winneryAcA5OwnerO_AA13WinningReasonOtcACmF", - "moduleName": "DouShouQiModel" - }, - { - "kind": "Function", - "name": "==", - "printedName": "==(_:_:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Bool", - "printedName": "Swift.Bool", - "usr": "s:Sb" - }, - { - "kind": "TypeNominal", - "name": "Result", - "printedName": "DouShouQiModel.Result", - "usr": "s:14DouShouQiModel6ResultO" - }, - { - "kind": "TypeNominal", - "name": "Result", - "printedName": "DouShouQiModel.Result", - "usr": "s:14DouShouQiModel6ResultO" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel6ResultO2eeoiySbAC_ACtFZ", - "mangledName": "$s14DouShouQiModel6ResultO2eeoiySbAC_ACtFZ", - "moduleName": "DouShouQiModel", - "static": true, - "implicit": true, - "funcSelfKind": "NonMutating" - } - ], - "declKind": "Enum", - "usr": "s:14DouShouQiModel6ResultO", - "mangledName": "$s14DouShouQiModel6ResultO", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "conformances": [ - { - "kind": "Conformance", - "name": "Equatable", - "printedName": "Equatable", - "usr": "s:SQ", - "mangledName": "$sSQ" - } - ] - }, - { - "kind": "TypeDecl", - "name": "WinningReason", - "printedName": "WinningReason", - "children": [ - { - "kind": "Var", - "name": "denReached", - "printedName": "denReached", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.WinningReason.Type) -> DouShouQiModel.WinningReason", - "children": [ - { - "kind": "TypeNominal", - "name": "WinningReason", - "printedName": "DouShouQiModel.WinningReason", - "usr": "s:14DouShouQiModel13WinningReasonO" - }, - { - "kind": "TypeNominal", - "name": "Metatype", - "printedName": "DouShouQiModel.WinningReason.Type", - "children": [ - { - "kind": "TypeNominal", - "name": "WinningReason", - "printedName": "DouShouQiModel.WinningReason", - "usr": "s:14DouShouQiModel13WinningReasonO" - } - ] - } - ] - } - ], - "declKind": "EnumElement", - "usr": "s:14DouShouQiModel13WinningReasonO10denReachedyA2CmF", - "mangledName": "$s14DouShouQiModel13WinningReasonO10denReachedyA2CmF", - "moduleName": "DouShouQiModel" - }, - { - "kind": "Var", - "name": "noMorePieces", - "printedName": "noMorePieces", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.WinningReason.Type) -> DouShouQiModel.WinningReason", - "children": [ - { - "kind": "TypeNominal", - "name": "WinningReason", - "printedName": "DouShouQiModel.WinningReason", - "usr": "s:14DouShouQiModel13WinningReasonO" - }, - { - "kind": "TypeNominal", - "name": "Metatype", - "printedName": "DouShouQiModel.WinningReason.Type", - "children": [ - { - "kind": "TypeNominal", - "name": "WinningReason", - "printedName": "DouShouQiModel.WinningReason", - "usr": "s:14DouShouQiModel13WinningReasonO" - } - ] - } - ] - } - ], - "declKind": "EnumElement", - "usr": "s:14DouShouQiModel13WinningReasonO12noMorePiecesyA2CmF", - "mangledName": "$s14DouShouQiModel13WinningReasonO12noMorePiecesyA2CmF", - "moduleName": "DouShouQiModel" - }, - { - "kind": "Var", - "name": "tooManyOccurences", - "printedName": "tooManyOccurences", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.WinningReason.Type) -> DouShouQiModel.WinningReason", - "children": [ - { - "kind": "TypeNominal", - "name": "WinningReason", - "printedName": "DouShouQiModel.WinningReason", - "usr": "s:14DouShouQiModel13WinningReasonO" - }, - { - "kind": "TypeNominal", - "name": "Metatype", - "printedName": "DouShouQiModel.WinningReason.Type", - "children": [ - { - "kind": "TypeNominal", - "name": "WinningReason", - "printedName": "DouShouQiModel.WinningReason", - "usr": "s:14DouShouQiModel13WinningReasonO" - } - ] - } - ] - } - ], - "declKind": "EnumElement", - "usr": "s:14DouShouQiModel13WinningReasonO17tooManyOccurencesyA2CmF", - "mangledName": "$s14DouShouQiModel13WinningReasonO17tooManyOccurencesyA2CmF", - "moduleName": "DouShouQiModel" - }, - { - "kind": "Var", - "name": "noMovesLeft", - "printedName": "noMovesLeft", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.WinningReason.Type) -> DouShouQiModel.WinningReason", - "children": [ - { - "kind": "TypeNominal", - "name": "WinningReason", - "printedName": "DouShouQiModel.WinningReason", - "usr": "s:14DouShouQiModel13WinningReasonO" - }, - { - "kind": "TypeNominal", - "name": "Metatype", - "printedName": "DouShouQiModel.WinningReason.Type", - "children": [ - { - "kind": "TypeNominal", - "name": "WinningReason", - "printedName": "DouShouQiModel.WinningReason", - "usr": "s:14DouShouQiModel13WinningReasonO" - } - ] - } - ] - } - ], - "declKind": "EnumElement", - "usr": "s:14DouShouQiModel13WinningReasonO11noMovesLeftyA2CmF", - "mangledName": "$s14DouShouQiModel13WinningReasonO11noMovesLeftyA2CmF", - "moduleName": "DouShouQiModel" - }, - { - "kind": "Function", - "name": "==", - "printedName": "==(_:_:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Bool", - "printedName": "Swift.Bool", - "usr": "s:Sb" - }, - { - "kind": "TypeNominal", - "name": "WinningReason", - "printedName": "DouShouQiModel.WinningReason", - "usr": "s:14DouShouQiModel13WinningReasonO" - }, - { - "kind": "TypeNominal", - "name": "WinningReason", - "printedName": "DouShouQiModel.WinningReason", - "usr": "s:14DouShouQiModel13WinningReasonO" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel13WinningReasonO2eeoiySbAC_ACtFZ", - "mangledName": "$s14DouShouQiModel13WinningReasonO2eeoiySbAC_ACtFZ", - "moduleName": "DouShouQiModel", - "static": true, - "implicit": true, - "funcSelfKind": "NonMutating" - }, - { - "kind": "Var", - "name": "hashValue", - "printedName": "hashValue", - "children": [ - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ], - "declKind": "Var", - "usr": "s:14DouShouQiModel13WinningReasonO9hashValueSivp", - "mangledName": "$s14DouShouQiModel13WinningReasonO9hashValueSivp", - "moduleName": "DouShouQiModel", - "implicit": true, - "accessors": [ - { - "kind": "Accessor", - "name": "Get", - "printedName": "Get()", - "children": [ - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ], - "declKind": "Accessor", - "usr": "s:14DouShouQiModel13WinningReasonO9hashValueSivg", - "mangledName": "$s14DouShouQiModel13WinningReasonO9hashValueSivg", - "moduleName": "DouShouQiModel", - "implicit": true, - "accessorKind": "get" - } - ] - }, - { - "kind": "Function", - "name": "hash", - "printedName": "hash(into:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - }, - { - "kind": "TypeNominal", - "name": "Hasher", - "printedName": "Swift.Hasher", - "paramValueOwnership": "InOut", - "usr": "s:s6HasherV" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel13WinningReasonO4hash4intoys6HasherVz_tF", - "mangledName": "$s14DouShouQiModel13WinningReasonO4hash4intoys6HasherVz_tF", - "moduleName": "DouShouQiModel", - "implicit": true, - "funcSelfKind": "NonMutating" - } - ], - "declKind": "Enum", - "usr": "s:14DouShouQiModel13WinningReasonO", - "mangledName": "$s14DouShouQiModel13WinningReasonO", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "conformances": [ - { - "kind": "Conformance", - "name": "Equatable", - "printedName": "Equatable", - "usr": "s:SQ", - "mangledName": "$sSQ" - }, - { - "kind": "Conformance", - "name": "Hashable", - "printedName": "Hashable", - "usr": "s:SH", - "mangledName": "$sSH" - } - ] - }, - { - "kind": "Import", - "name": "Foundation", - "printedName": "Foundation", - "declKind": "Import", - "moduleName": "DouShouQiModel" - }, - { - "kind": "TypeDecl", - "name": "BoardResult", - "printedName": "BoardResult", - "children": [ - { - "kind": "Var", - "name": "unknown", - "printedName": "unknown", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.BoardResult.Type) -> DouShouQiModel.BoardResult", - "children": [ - { - "kind": "TypeNominal", - "name": "BoardResult", - "printedName": "DouShouQiModel.BoardResult", - "usr": "s:14DouShouQiModel11BoardResultO" - }, - { - "kind": "TypeNominal", - "name": "Metatype", - "printedName": "DouShouQiModel.BoardResult.Type", - "children": [ - { - "kind": "TypeNominal", - "name": "BoardResult", - "printedName": "DouShouQiModel.BoardResult", - "usr": "s:14DouShouQiModel11BoardResultO" - } - ] - } - ] - } - ], - "declKind": "EnumElement", - "usr": "s:14DouShouQiModel11BoardResultO7unknownyA2CmF", - "mangledName": "$s14DouShouQiModel11BoardResultO7unknownyA2CmF", - "moduleName": "DouShouQiModel" - }, - { - "kind": "Var", - "name": "ok", - "printedName": "ok", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.BoardResult.Type) -> (DouShouQiModel.Piece?) -> DouShouQiModel.BoardResult", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.Piece?) -> DouShouQiModel.BoardResult", - "children": [ - { - "kind": "TypeNominal", - "name": "BoardResult", - "printedName": "DouShouQiModel.BoardResult", - "usr": "s:14DouShouQiModel11BoardResultO" - }, - { - "kind": "TypeNominal", - "name": "Tuple", - "printedName": "(piece: DouShouQiModel.Piece?)", - "children": [ - { - "kind": "TypeNominal", - "name": "Optional", - "printedName": "DouShouQiModel.Piece?", - "children": [ - { - "kind": "TypeNominal", - "name": "Piece", - "printedName": "DouShouQiModel.Piece", - "usr": "s:14DouShouQiModel5PieceV" - } - ], - "usr": "s:Sq" - } - ] - } - ] - }, - { - "kind": "TypeNominal", - "name": "Metatype", - "printedName": "DouShouQiModel.BoardResult.Type", - "children": [ - { - "kind": "TypeNominal", - "name": "BoardResult", - "printedName": "DouShouQiModel.BoardResult", - "usr": "s:14DouShouQiModel11BoardResultO" - } - ] - } - ] - } - ], - "declKind": "EnumElement", - "usr": "s:14DouShouQiModel11BoardResultO2okyAcA5PieceVSg_tcACmF", - "mangledName": "$s14DouShouQiModel11BoardResultO2okyAcA5PieceVSg_tcACmF", - "moduleName": "DouShouQiModel" - }, - { - "kind": "Var", - "name": "failed", - "printedName": "failed", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.BoardResult.Type) -> (DouShouQiModel.BoardFailingReason) -> DouShouQiModel.BoardResult", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.BoardFailingReason) -> DouShouQiModel.BoardResult", - "children": [ - { - "kind": "TypeNominal", - "name": "BoardResult", - "printedName": "DouShouQiModel.BoardResult", - "usr": "s:14DouShouQiModel11BoardResultO" - }, - { - "kind": "TypeNominal", - "name": "Tuple", - "printedName": "(reason: DouShouQiModel.BoardFailingReason)", - "children": [ - { - "kind": "TypeNominal", - "name": "BoardFailingReason", - "printedName": "DouShouQiModel.BoardFailingReason", - "usr": "s:14DouShouQiModel18BoardFailingReasonO" - } - ] - } - ] - }, - { - "kind": "TypeNominal", - "name": "Metatype", - "printedName": "DouShouQiModel.BoardResult.Type", - "children": [ - { - "kind": "TypeNominal", - "name": "BoardResult", - "printedName": "DouShouQiModel.BoardResult", - "usr": "s:14DouShouQiModel11BoardResultO" - } - ] - } - ] - } - ], - "declKind": "EnumElement", - "usr": "s:14DouShouQiModel11BoardResultO6failedyAcA0E13FailingReasonO_tcACmF", - "mangledName": "$s14DouShouQiModel11BoardResultO6failedyAcA0E13FailingReasonO_tcACmF", - "moduleName": "DouShouQiModel" - }, - { - "kind": "Function", - "name": "==", - "printedName": "==(_:_:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Bool", - "printedName": "Swift.Bool", - "usr": "s:Sb" - }, - { - "kind": "TypeNominal", - "name": "BoardResult", - "printedName": "DouShouQiModel.BoardResult", - "usr": "s:14DouShouQiModel11BoardResultO" - }, - { - "kind": "TypeNominal", - "name": "BoardResult", - "printedName": "DouShouQiModel.BoardResult", - "usr": "s:14DouShouQiModel11BoardResultO" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel11BoardResultO2eeoiySbAC_ACtFZ", - "mangledName": "$s14DouShouQiModel11BoardResultO2eeoiySbAC_ACtFZ", - "moduleName": "DouShouQiModel", - "static": true, - "implicit": true, - "funcSelfKind": "NonMutating" - } - ], - "declKind": "Enum", - "usr": "s:14DouShouQiModel11BoardResultO", - "mangledName": "$s14DouShouQiModel11BoardResultO", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "conformances": [ - { - "kind": "Conformance", - "name": "Equatable", - "printedName": "Equatable", - "usr": "s:SQ", - "mangledName": "$sSQ" - } - ] - }, - { - "kind": "TypeDecl", - "name": "BoardFailingReason", - "printedName": "BoardFailingReason", - "children": [ - { - "kind": "Var", - "name": "unknown", - "printedName": "unknown", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.BoardFailingReason.Type) -> DouShouQiModel.BoardFailingReason", - "children": [ - { - "kind": "TypeNominal", - "name": "BoardFailingReason", - "printedName": "DouShouQiModel.BoardFailingReason", - "usr": "s:14DouShouQiModel18BoardFailingReasonO" - }, - { - "kind": "TypeNominal", - "name": "Metatype", - "printedName": "DouShouQiModel.BoardFailingReason.Type", - "children": [ - { - "kind": "TypeNominal", - "name": "BoardFailingReason", - "printedName": "DouShouQiModel.BoardFailingReason", - "usr": "s:14DouShouQiModel18BoardFailingReasonO" - } - ] - } - ] - } - ], - "declKind": "EnumElement", - "usr": "s:14DouShouQiModel18BoardFailingReasonO7unknownyA2CmF", - "mangledName": "$s14DouShouQiModel18BoardFailingReasonO7unknownyA2CmF", - "moduleName": "DouShouQiModel" - }, - { - "kind": "Var", - "name": "outOfBounds", - "printedName": "outOfBounds", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.BoardFailingReason.Type) -> DouShouQiModel.BoardFailingReason", - "children": [ - { - "kind": "TypeNominal", - "name": "BoardFailingReason", - "printedName": "DouShouQiModel.BoardFailingReason", - "usr": "s:14DouShouQiModel18BoardFailingReasonO" - }, - { - "kind": "TypeNominal", - "name": "Metatype", - "printedName": "DouShouQiModel.BoardFailingReason.Type", - "children": [ - { - "kind": "TypeNominal", - "name": "BoardFailingReason", - "printedName": "DouShouQiModel.BoardFailingReason", - "usr": "s:14DouShouQiModel18BoardFailingReasonO" - } - ] - } - ] - } - ], - "declKind": "EnumElement", - "usr": "s:14DouShouQiModel18BoardFailingReasonO11outOfBoundsyA2CmF", - "mangledName": "$s14DouShouQiModel18BoardFailingReasonO11outOfBoundsyA2CmF", - "moduleName": "DouShouQiModel" - }, - { - "kind": "Var", - "name": "cellNotEmpty", - "printedName": "cellNotEmpty", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.BoardFailingReason.Type) -> DouShouQiModel.BoardFailingReason", - "children": [ - { - "kind": "TypeNominal", - "name": "BoardFailingReason", - "printedName": "DouShouQiModel.BoardFailingReason", - "usr": "s:14DouShouQiModel18BoardFailingReasonO" - }, - { - "kind": "TypeNominal", - "name": "Metatype", - "printedName": "DouShouQiModel.BoardFailingReason.Type", - "children": [ - { - "kind": "TypeNominal", - "name": "BoardFailingReason", - "printedName": "DouShouQiModel.BoardFailingReason", - "usr": "s:14DouShouQiModel18BoardFailingReasonO" - } - ] - } - ] - } - ], - "declKind": "EnumElement", - "usr": "s:14DouShouQiModel18BoardFailingReasonO12cellNotEmptyyA2CmF", - "mangledName": "$s14DouShouQiModel18BoardFailingReasonO12cellNotEmptyyA2CmF", - "moduleName": "DouShouQiModel" - }, - { - "kind": "Var", - "name": "cellEmpty", - "printedName": "cellEmpty", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.BoardFailingReason.Type) -> DouShouQiModel.BoardFailingReason", - "children": [ - { - "kind": "TypeNominal", - "name": "BoardFailingReason", - "printedName": "DouShouQiModel.BoardFailingReason", - "usr": "s:14DouShouQiModel18BoardFailingReasonO" - }, - { - "kind": "TypeNominal", - "name": "Metatype", - "printedName": "DouShouQiModel.BoardFailingReason.Type", - "children": [ - { - "kind": "TypeNominal", - "name": "BoardFailingReason", - "printedName": "DouShouQiModel.BoardFailingReason", - "usr": "s:14DouShouQiModel18BoardFailingReasonO" - } - ] - } - ] - } - ], - "declKind": "EnumElement", - "usr": "s:14DouShouQiModel18BoardFailingReasonO9cellEmptyyA2CmF", - "mangledName": "$s14DouShouQiModel18BoardFailingReasonO9cellEmptyyA2CmF", - "moduleName": "DouShouQiModel" - }, - { - "kind": "Function", - "name": "==", - "printedName": "==(_:_:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Bool", - "printedName": "Swift.Bool", - "usr": "s:Sb" - }, - { - "kind": "TypeNominal", - "name": "BoardFailingReason", - "printedName": "DouShouQiModel.BoardFailingReason", - "usr": "s:14DouShouQiModel18BoardFailingReasonO" - }, - { - "kind": "TypeNominal", - "name": "BoardFailingReason", - "printedName": "DouShouQiModel.BoardFailingReason", - "usr": "s:14DouShouQiModel18BoardFailingReasonO" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel18BoardFailingReasonO2eeoiySbAC_ACtFZ", - "mangledName": "$s14DouShouQiModel18BoardFailingReasonO2eeoiySbAC_ACtFZ", - "moduleName": "DouShouQiModel", - "static": true, - "implicit": true, - "funcSelfKind": "NonMutating" - }, - { - "kind": "Var", - "name": "hashValue", - "printedName": "hashValue", - "children": [ - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ], - "declKind": "Var", - "usr": "s:14DouShouQiModel18BoardFailingReasonO9hashValueSivp", - "mangledName": "$s14DouShouQiModel18BoardFailingReasonO9hashValueSivp", - "moduleName": "DouShouQiModel", - "implicit": true, - "accessors": [ - { - "kind": "Accessor", - "name": "Get", - "printedName": "Get()", - "children": [ - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ], - "declKind": "Accessor", - "usr": "s:14DouShouQiModel18BoardFailingReasonO9hashValueSivg", - "mangledName": "$s14DouShouQiModel18BoardFailingReasonO9hashValueSivg", - "moduleName": "DouShouQiModel", - "implicit": true, - "accessorKind": "get" - } - ] - }, - { - "kind": "Function", - "name": "hash", - "printedName": "hash(into:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - }, - { - "kind": "TypeNominal", - "name": "Hasher", - "printedName": "Swift.Hasher", - "paramValueOwnership": "InOut", - "usr": "s:s6HasherV" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel18BoardFailingReasonO4hash4intoys6HasherVz_tF", - "mangledName": "$s14DouShouQiModel18BoardFailingReasonO4hash4intoys6HasherVz_tF", - "moduleName": "DouShouQiModel", - "implicit": true, - "funcSelfKind": "NonMutating" - } - ], - "declKind": "Enum", - "usr": "s:14DouShouQiModel18BoardFailingReasonO", - "mangledName": "$s14DouShouQiModel18BoardFailingReasonO", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "conformances": [ - { - "kind": "Conformance", - "name": "Equatable", - "printedName": "Equatable", - "usr": "s:SQ", - "mangledName": "$sSQ" - }, - { - "kind": "Conformance", - "name": "Hashable", - "printedName": "Hashable", - "usr": "s:SH", - "mangledName": "$sSH" - } - ] - }, - { - "kind": "Import", - "name": "Foundation", - "printedName": "Foundation", - "declKind": "Import", - "moduleName": "DouShouQiModel" - }, - { - "kind": "TypeDecl", - "name": "HumanPlayer", - "printedName": "HumanPlayer", - "children": [ - { - "kind": "Constructor", - "name": "init", - "printedName": "init(withName:andId:andInputMethod:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Optional", - "printedName": "DouShouQiModel.HumanPlayer?", - "children": [ - { - "kind": "TypeNominal", - "name": "HumanPlayer", - "printedName": "DouShouQiModel.HumanPlayer", - "usr": "s:14DouShouQiModel11HumanPlayerC" - } - ], - "usr": "s:Sq" - }, - { - "kind": "TypeNominal", - "name": "String", - "printedName": "Swift.String", - "usr": "s:SS" - }, - { - "kind": "TypeNominal", - "name": "Owner", - "printedName": "DouShouQiModel.Owner", - "usr": "s:14DouShouQiModel5OwnerO" - }, - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.HumanPlayer) -> DouShouQiModel.Move?", - "children": [ - { - "kind": "TypeNominal", - "name": "Optional", - "printedName": "DouShouQiModel.Move?", - "children": [ - { - "kind": "TypeNominal", - "name": "Move", - "printedName": "DouShouQiModel.Move", - "usr": "s:14DouShouQiModel4MoveV" - } - ], - "usr": "s:Sq" - }, - { - "kind": "TypeNominal", - "name": "HumanPlayer", - "printedName": "DouShouQiModel.HumanPlayer", - "usr": "s:14DouShouQiModel11HumanPlayerC" - } - ] - } - ], - "declKind": "Constructor", - "usr": "s:14DouShouQiModel11HumanPlayerC8withName5andId0I11InputMethodACSgSS_AA5OwnerOAA4MoveVSgACctcfc", - "mangledName": "$s14DouShouQiModel11HumanPlayerC8withName5andId0I11InputMethodACSgSS_AA5OwnerOAA4MoveVSgACctcfc", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "init_kind": "Designated" - }, - { - "kind": "Constructor", - "name": "init", - "printedName": "init(withName:andId:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Optional", - "printedName": "DouShouQiModel.HumanPlayer?", - "children": [ - { - "kind": "TypeNominal", - "name": "HumanPlayer", - "printedName": "DouShouQiModel.HumanPlayer", - "usr": "s:14DouShouQiModel11HumanPlayerC" - } - ], - "usr": "s:Sq" - }, - { - "kind": "TypeNominal", - "name": "String", - "printedName": "Swift.String", - "usr": "s:SS" - }, - { - "kind": "TypeNominal", - "name": "Owner", - "printedName": "DouShouQiModel.Owner", - "usr": "s:14DouShouQiModel5OwnerO" - } - ], - "declKind": "Constructor", - "usr": "s:14DouShouQiModel11HumanPlayerC8withName5andIdACSgSS_AA5OwnerOtcfc", - "mangledName": "$s14DouShouQiModel11HumanPlayerC8withName5andIdACSgSS_AA5OwnerOtcfc", - "moduleName": "DouShouQiModel", - "overriding": true, - "declAttributes": [ - "Override", - "AccessControl" - ], - "init_kind": "Designated" - }, - { - "kind": "Function", - "name": "chooseMove", - "printedName": "chooseMove(in:with:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - }, - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - }, - { - "kind": "TypeNominal", - "name": "Rules", - "printedName": "DouShouQiModel.Rules", - "usr": "s:14DouShouQiModel5RulesP" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel11HumanPlayerC10chooseMove2in4withyAA5BoardV_AA5Rules_ptYaKF", - "mangledName": "$s14DouShouQiModel11HumanPlayerC10chooseMove2in4withyAA5BoardV_AA5Rules_ptYaKF", - "moduleName": "DouShouQiModel", - "overriding": true, - "declAttributes": [ - "Override", - "AccessControl" - ], - "throwing": true, - "funcSelfKind": "NonMutating" - }, - { - "kind": "Function", - "name": "changeInput", - "printedName": "changeInput(input:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - }, - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.HumanPlayer) -> DouShouQiModel.Move?", - "children": [ - { - "kind": "TypeNominal", - "name": "Optional", - "printedName": "DouShouQiModel.Move?", - "children": [ - { - "kind": "TypeNominal", - "name": "Move", - "printedName": "DouShouQiModel.Move", - "usr": "s:14DouShouQiModel4MoveV" - } - ], - "usr": "s:Sq" - }, - { - "kind": "TypeNominal", - "name": "HumanPlayer", - "printedName": "DouShouQiModel.HumanPlayer", - "usr": "s:14DouShouQiModel11HumanPlayerC" - } - ] - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel11HumanPlayerC11changeInput5inputyAA4MoveVSgACc_tF", - "mangledName": "$s14DouShouQiModel11HumanPlayerC11changeInput5inputyAA4MoveVSgACc_tF", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "funcSelfKind": "NonMutating" - }, - { - "kind": "Function", - "name": "chooseMove", - "printedName": "chooseMove(_:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - }, - { - "kind": "TypeNominal", - "name": "Optional", - "printedName": "DouShouQiModel.Move?", - "children": [ - { - "kind": "TypeNominal", - "name": "Move", - "printedName": "DouShouQiModel.Move", - "usr": "s:14DouShouQiModel4MoveV" - } - ], - "usr": "s:Sq" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel11HumanPlayerC10chooseMoveyyAA0H0VSgYaKF", - "mangledName": "$s14DouShouQiModel11HumanPlayerC10chooseMoveyyAA0H0VSgYaKF", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "throwing": true, - "funcSelfKind": "NonMutating" - } - ], - "declKind": "Class", - "usr": "s:14DouShouQiModel11HumanPlayerC", - "mangledName": "$s14DouShouQiModel11HumanPlayerC", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "superclassUsr": "s:14DouShouQiModel6PlayerC", - "inheritsConvenienceInitializers": true, - "superclassNames": [ - "DouShouQiModel.Player" - ] - }, - { - "kind": "Import", - "name": "Foundation", - "printedName": "Foundation", - "declKind": "Import", - "moduleName": "DouShouQiModel" - }, - { - "kind": "TypeDecl", - "name": "ClassicRules", - "printedName": "ClassicRules", - "children": [ - { - "kind": "Function", - "name": "createBoard", - "printedName": "createBoard()", - "children": [ - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel12ClassicRulesV11createBoardAA0H0VyFZ", - "mangledName": "$s14DouShouQiModel12ClassicRulesV11createBoardAA0H0VyFZ", - "moduleName": "DouShouQiModel", - "static": true, - "declAttributes": [ - "AccessControl" - ], - "funcSelfKind": "NonMutating" - }, - { - "kind": "Function", - "name": "checkBoard", - "printedName": "checkBoard(_:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - }, - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel12ClassicRulesV10checkBoardyyAA0H0VKFZ", - "mangledName": "$s14DouShouQiModel12ClassicRulesV10checkBoardyyAA0H0VKFZ", - "moduleName": "DouShouQiModel", - "static": true, - "declAttributes": [ - "AccessControl" - ], - "throwing": true, - "funcSelfKind": "NonMutating" - }, - { - "kind": "Constructor", - "name": "init", - "printedName": "init()", - "children": [ - { - "kind": "TypeNominal", - "name": "ClassicRules", - "printedName": "DouShouQiModel.ClassicRules", - "usr": "s:14DouShouQiModel12ClassicRulesV" - } - ], - "declKind": "Constructor", - "usr": "s:14DouShouQiModel12ClassicRulesVACycfc", - "mangledName": "$s14DouShouQiModel12ClassicRulesVACycfc", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "init_kind": "Designated" - }, - { - "kind": "Constructor", - "name": "init", - "printedName": "init(occurences:historic:)", - "children": [ - { - "kind": "TypeNominal", - "name": "ClassicRules", - "printedName": "DouShouQiModel.ClassicRules", - "usr": "s:14DouShouQiModel12ClassicRulesV" - }, - { - "kind": "TypeNominal", - "name": "Dictionary", - "printedName": "[DouShouQiModel.Board : Swift.Int]", - "children": [ - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ], - "usr": "s:SD" - }, - { - "kind": "TypeNominal", - "name": "Array", - "printedName": "[DouShouQiModel.Move]", - "children": [ - { - "kind": "TypeNominal", - "name": "Move", - "printedName": "DouShouQiModel.Move", - "usr": "s:14DouShouQiModel4MoveV" - } - ], - "usr": "s:Sa" - } - ], - "declKind": "Constructor", - "usr": "s:14DouShouQiModel12ClassicRulesV10occurences8historicACSDyAA5BoardVSiG_SayAA4MoveVGtcfc", - "mangledName": "$s14DouShouQiModel12ClassicRulesV10occurences8historicACSDyAA5BoardVSiG_SayAA4MoveVGtcfc", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "init_kind": "Designated" - }, - { - "kind": "Function", - "name": "getMoves", - "printedName": "getMoves(in:of:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Array", - "printedName": "[DouShouQiModel.Move]", - "children": [ - { - "kind": "TypeNominal", - "name": "Move", - "printedName": "DouShouQiModel.Move", - "usr": "s:14DouShouQiModel4MoveV" - } - ], - "usr": "s:Sa" - }, - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - }, - { - "kind": "TypeNominal", - "name": "Owner", - "printedName": "DouShouQiModel.Owner", - "usr": "s:14DouShouQiModel5OwnerO" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel12ClassicRulesV8getMoves2in2ofSayAA4MoveVGAA5BoardV_AA5OwnerOtF", - "mangledName": "$s14DouShouQiModel12ClassicRulesV8getMoves2in2ofSayAA4MoveVGAA5BoardV_AA5OwnerOtF", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "funcSelfKind": "NonMutating" - }, - { - "kind": "Function", - "name": "getMoves", - "printedName": "getMoves(in:of:fromRow:andColumn:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Array", - "printedName": "[DouShouQiModel.Move]", - "children": [ - { - "kind": "TypeNominal", - "name": "Move", - "printedName": "DouShouQiModel.Move", - "usr": "s:14DouShouQiModel4MoveV" - } - ], - "usr": "s:Sa" - }, - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - }, - { - "kind": "TypeNominal", - "name": "Owner", - "printedName": "DouShouQiModel.Owner", - "usr": "s:14DouShouQiModel5OwnerO" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel12ClassicRulesV8getMoves2in2of7fromRow9andColumnSayAA4MoveVGAA5BoardV_AA5OwnerOS2itF", - "mangledName": "$s14DouShouQiModel12ClassicRulesV8getMoves2in2of7fromRow9andColumnSayAA4MoveVGAA5BoardV_AA5OwnerOS2itF", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "funcSelfKind": "NonMutating" - }, - { - "kind": "Function", - "name": "isMoveValid", - "printedName": "isMoveValid(onBoard:fromRow:andFromColumn:toRow:andToColumn:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Bool", - "printedName": "Swift.Bool", - "usr": "s:Sb" - }, - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel12ClassicRulesV11isMoveValid7onBoard7fromRow13andFromColumn02toM00n2ToP0SbAA0K0V_S4itF", - "mangledName": "$s14DouShouQiModel12ClassicRulesV11isMoveValid7onBoard7fromRow13andFromColumn02toM00n2ToP0SbAA0K0V_S4itF", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "funcSelfKind": "NonMutating" - }, - { - "kind": "Function", - "name": "isMoveValid", - "printedName": "isMoveValid(onBoard:withMove:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Bool", - "printedName": "Swift.Bool", - "usr": "s:Sb" - }, - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - }, - { - "kind": "TypeNominal", - "name": "Move", - "printedName": "DouShouQiModel.Move", - "usr": "s:14DouShouQiModel4MoveV" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel12ClassicRulesV11isMoveValid7onBoard04withH0SbAA0K0V_AA0H0VtF", - "mangledName": "$s14DouShouQiModel12ClassicRulesV11isMoveValid7onBoard04withH0SbAA0K0V_AA0H0VtF", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "funcSelfKind": "NonMutating" - }, - { - "kind": "Function", - "name": "isGameOver", - "printedName": "isGameOver(withBoard:andLastRowPlayed:andLastColumnPlayer:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Tuple", - "printedName": "(Swift.Bool, DouShouQiModel.Result)", - "children": [ - { - "kind": "TypeNominal", - "name": "Bool", - "printedName": "Swift.Bool", - "usr": "s:Sb" - }, - { - "kind": "TypeNominal", - "name": "Result", - "printedName": "DouShouQiModel.Result", - "usr": "s:14DouShouQiModel6ResultO" - } - ] - }, - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel12ClassicRulesV10isGameOver9withBoard16andLastRowPlayed0lM12ColumnPlayerSb_AA6ResultOtAA0K0V_S2itF", - "mangledName": "$s14DouShouQiModel12ClassicRulesV10isGameOver9withBoard16andLastRowPlayed0lM12ColumnPlayerSb_AA6ResultOtAA0K0V_S2itF", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "funcSelfKind": "NonMutating" - }, - { - "kind": "Function", - "name": "playedMove", - "printedName": "playedMove(_:onStartingBoard:andResultingBoard:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - }, - { - "kind": "TypeNominal", - "name": "Move", - "printedName": "DouShouQiModel.Move", - "usr": "s:14DouShouQiModel4MoveV" - }, - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - }, - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel12ClassicRulesV10playedMove_15onStartingBoard012andResultingK0yAA0H0V_AA0K0VAJtKF", - "mangledName": "$s14DouShouQiModel12ClassicRulesV10playedMove_15onStartingBoard012andResultingK0yAA0H0V_AA0K0VAJtKF", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "Mutating", - "AccessControl" - ], - "throwing": true, - "funcSelfKind": "Mutating" - }, - { - "kind": "Function", - "name": "getNextPlayer", - "printedName": "getNextPlayer()", - "children": [ - { - "kind": "TypeNominal", - "name": "Owner", - "printedName": "DouShouQiModel.Owner", - "usr": "s:14DouShouQiModel5OwnerO" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel12ClassicRulesV13getNextPlayerAA5OwnerOyF", - "mangledName": "$s14DouShouQiModel12ClassicRulesV13getNextPlayerAA5OwnerOyF", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "funcSelfKind": "NonMutating" - }, - { - "kind": "Var", - "name": "occurences", - "printedName": "occurences", - "children": [ - { - "kind": "TypeNominal", - "name": "Dictionary", - "printedName": "[DouShouQiModel.Board : Swift.Int]", - "children": [ - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ], - "usr": "s:SD" - } - ], - "declKind": "Var", - "usr": "s:14DouShouQiModel12ClassicRulesV10occurencesSDyAA5BoardVSiGvp", - "mangledName": "$s14DouShouQiModel12ClassicRulesV10occurencesSDyAA5BoardVSiGvp", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "HasInitialValue", - "HasStorage", - "SetterAccess", - "AccessControl" - ], - "hasStorage": true, - "accessors": [ - { - "kind": "Accessor", - "name": "Get", - "printedName": "Get()", - "children": [ - { - "kind": "TypeNominal", - "name": "Dictionary", - "printedName": "[DouShouQiModel.Board : Swift.Int]", - "children": [ - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ], - "usr": "s:SD" - } - ], - "declKind": "Accessor", - "usr": "s:14DouShouQiModel12ClassicRulesV10occurencesSDyAA5BoardVSiGvg", - "mangledName": "$s14DouShouQiModel12ClassicRulesV10occurencesSDyAA5BoardVSiGvg", - "moduleName": "DouShouQiModel", - "implicit": true, - "accessorKind": "get" - } - ] - }, - { - "kind": "Var", - "name": "historic", - "printedName": "historic", - "children": [ - { - "kind": "TypeNominal", - "name": "Array", - "printedName": "[DouShouQiModel.Move]", - "children": [ - { - "kind": "TypeNominal", - "name": "Move", - "printedName": "DouShouQiModel.Move", - "usr": "s:14DouShouQiModel4MoveV" - } - ], - "usr": "s:Sa" - } - ], - "declKind": "Var", - "usr": "s:14DouShouQiModel12ClassicRulesV8historicSayAA4MoveVGvp", - "mangledName": "$s14DouShouQiModel12ClassicRulesV8historicSayAA4MoveVGvp", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "HasInitialValue", - "HasStorage", - "SetterAccess", - "AccessControl" - ], - "hasStorage": true, - "accessors": [ - { - "kind": "Accessor", - "name": "Get", - "printedName": "Get()", - "children": [ - { - "kind": "TypeNominal", - "name": "Array", - "printedName": "[DouShouQiModel.Move]", - "children": [ - { - "kind": "TypeNominal", - "name": "Move", - "printedName": "DouShouQiModel.Move", - "usr": "s:14DouShouQiModel4MoveV" - } - ], - "usr": "s:Sa" - } - ], - "declKind": "Accessor", - "usr": "s:14DouShouQiModel12ClassicRulesV8historicSayAA4MoveVGvg", - "mangledName": "$s14DouShouQiModel12ClassicRulesV8historicSayAA4MoveVGvg", - "moduleName": "DouShouQiModel", - "implicit": true, - "accessorKind": "get" - } - ] - } - ], - "declKind": "Struct", - "usr": "s:14DouShouQiModel12ClassicRulesV", - "mangledName": "$s14DouShouQiModel12ClassicRulesV", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "conformances": [ - { - "kind": "Conformance", - "name": "Rules", - "printedName": "Rules", - "usr": "s:14DouShouQiModel5RulesP", - "mangledName": "$s14DouShouQiModel5RulesP" - } - ] - }, - { - "kind": "Import", - "name": "Foundation", - "printedName": "Foundation", - "declKind": "Import", - "moduleName": "DouShouQiModel" - }, - { - "kind": "TypeDecl", - "name": "Cell", - "printedName": "Cell", - "children": [ - { - "kind": "Var", - "name": "description", - "printedName": "description", - "children": [ - { - "kind": "TypeNominal", - "name": "String", - "printedName": "Swift.String", - "usr": "s:SS" - } - ], - "declKind": "Var", - "usr": "s:14DouShouQiModel4CellV11descriptionSSvp", - "mangledName": "$s14DouShouQiModel4CellV11descriptionSSvp", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "accessors": [ - { - "kind": "Accessor", - "name": "Get", - "printedName": "Get()", - "children": [ - { - "kind": "TypeNominal", - "name": "String", - "printedName": "Swift.String", - "usr": "s:SS" - } - ], - "declKind": "Accessor", - "usr": "s:14DouShouQiModel4CellV11descriptionSSvg", - "mangledName": "$s14DouShouQiModel4CellV11descriptionSSvg", - "moduleName": "DouShouQiModel", - "accessorKind": "get" - } - ] - }, - { - "kind": "Var", - "name": "cellType", - "printedName": "cellType", - "children": [ - { - "kind": "TypeNominal", - "name": "CellType", - "printedName": "DouShouQiModel.CellType", - "usr": "s:14DouShouQiModel8CellTypeO" - } - ], - "declKind": "Var", - "usr": "s:14DouShouQiModel4CellV8cellTypeAA0eG0Ovp", - "mangledName": "$s14DouShouQiModel4CellV8cellTypeAA0eG0Ovp", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "HasStorage", - "AccessControl" - ], - "isLet": true, - "hasStorage": true, - "accessors": [ - { - "kind": "Accessor", - "name": "Get", - "printedName": "Get()", - "children": [ - { - "kind": "TypeNominal", - "name": "CellType", - "printedName": "DouShouQiModel.CellType", - "usr": "s:14DouShouQiModel8CellTypeO" - } - ], - "declKind": "Accessor", - "usr": "s:14DouShouQiModel4CellV8cellTypeAA0eG0Ovg", - "mangledName": "$s14DouShouQiModel4CellV8cellTypeAA0eG0Ovg", - "moduleName": "DouShouQiModel", - "implicit": true, - "accessorKind": "get" - } - ] - }, - { - "kind": "Var", - "name": "initialOwner", - "printedName": "initialOwner", - "children": [ - { - "kind": "TypeNominal", - "name": "Owner", - "printedName": "DouShouQiModel.Owner", - "usr": "s:14DouShouQiModel5OwnerO" - } - ], - "declKind": "Var", - "usr": "s:14DouShouQiModel4CellV12initialOwnerAA0G0Ovp", - "mangledName": "$s14DouShouQiModel4CellV12initialOwnerAA0G0Ovp", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "HasStorage", - "AccessControl" - ], - "isLet": true, - "hasStorage": true, - "accessors": [ - { - "kind": "Accessor", - "name": "Get", - "printedName": "Get()", - "children": [ - { - "kind": "TypeNominal", - "name": "Owner", - "printedName": "DouShouQiModel.Owner", - "usr": "s:14DouShouQiModel5OwnerO" - } - ], - "declKind": "Accessor", - "usr": "s:14DouShouQiModel4CellV12initialOwnerAA0G0Ovg", - "mangledName": "$s14DouShouQiModel4CellV12initialOwnerAA0G0Ovg", - "moduleName": "DouShouQiModel", - "implicit": true, - "accessorKind": "get" - } - ] - }, - { - "kind": "Var", - "name": "piece", - "printedName": "piece", - "children": [ - { - "kind": "TypeNominal", - "name": "Optional", - "printedName": "DouShouQiModel.Piece?", - "children": [ - { - "kind": "TypeNominal", - "name": "Piece", - "printedName": "DouShouQiModel.Piece", - "usr": "s:14DouShouQiModel5PieceV" - } - ], - "usr": "s:Sq" - } - ], - "declKind": "Var", - "usr": "s:14DouShouQiModel4CellV5pieceAA5PieceVSgvp", - "mangledName": "$s14DouShouQiModel4CellV5pieceAA5PieceVSgvp", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "HasInitialValue", - "HasStorage", - "AccessControl" - ], - "hasStorage": true, - "accessors": [ - { - "kind": "Accessor", - "name": "Get", - "printedName": "Get()", - "children": [ - { - "kind": "TypeNominal", - "name": "Optional", - "printedName": "DouShouQiModel.Piece?", - "children": [ - { - "kind": "TypeNominal", - "name": "Piece", - "printedName": "DouShouQiModel.Piece", - "usr": "s:14DouShouQiModel5PieceV" - } - ], - "usr": "s:Sq" - } - ], - "declKind": "Accessor", - "usr": "s:14DouShouQiModel4CellV5pieceAA5PieceVSgvg", - "mangledName": "$s14DouShouQiModel4CellV5pieceAA5PieceVSgvg", - "moduleName": "DouShouQiModel", - "implicit": true, - "accessorKind": "get" - }, - { - "kind": "Accessor", - "name": "Set", - "printedName": "Set()", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - }, - { - "kind": "TypeNominal", - "name": "Optional", - "printedName": "DouShouQiModel.Piece?", - "children": [ - { - "kind": "TypeNominal", - "name": "Piece", - "printedName": "DouShouQiModel.Piece", - "usr": "s:14DouShouQiModel5PieceV" - } - ], - "usr": "s:Sq" - } - ], - "declKind": "Accessor", - "usr": "s:14DouShouQiModel4CellV5pieceAA5PieceVSgvs", - "mangledName": "$s14DouShouQiModel4CellV5pieceAA5PieceVSgvs", - "moduleName": "DouShouQiModel", - "implicit": true, - "accessorKind": "set" - }, - { - "kind": "Accessor", - "name": "Modify", - "printedName": "Modify()", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - } - ], - "declKind": "Accessor", - "usr": "s:14DouShouQiModel4CellV5pieceAA5PieceVSgvM", - "mangledName": "$s14DouShouQiModel4CellV5pieceAA5PieceVSgvM", - "moduleName": "DouShouQiModel", - "implicit": true, - "accessorKind": "_modify" - } - ] - }, - { - "kind": "Constructor", - "name": "init", - "printedName": "init(ofType:ownedBy:withPiece:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Cell", - "printedName": "DouShouQiModel.Cell", - "usr": "s:14DouShouQiModel4CellV" - }, - { - "kind": "TypeNominal", - "name": "CellType", - "printedName": "DouShouQiModel.CellType", - "usr": "s:14DouShouQiModel8CellTypeO" - }, - { - "kind": "TypeNominal", - "name": "Owner", - "printedName": "DouShouQiModel.Owner", - "hasDefaultArg": true, - "usr": "s:14DouShouQiModel5OwnerO" - }, - { - "kind": "TypeNominal", - "name": "Optional", - "printedName": "DouShouQiModel.Piece?", - "children": [ - { - "kind": "TypeNominal", - "name": "Piece", - "printedName": "DouShouQiModel.Piece", - "usr": "s:14DouShouQiModel5PieceV" - } - ], - "hasDefaultArg": true, - "usr": "s:Sq" - } - ], - "declKind": "Constructor", - "usr": "s:14DouShouQiModel4CellV6ofType7ownedBy9withPieceAcA0eG0O_AA5OwnerOAA0K0VSgtcfc", - "mangledName": "$s14DouShouQiModel4CellV6ofType7ownedBy9withPieceAcA0eG0O_AA5OwnerOAA0K0VSgtcfc", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "init_kind": "Designated" - }, - { - "kind": "Function", - "name": "==", - "printedName": "==(_:_:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Bool", - "printedName": "Swift.Bool", - "usr": "s:Sb" - }, - { - "kind": "TypeNominal", - "name": "Cell", - "printedName": "DouShouQiModel.Cell", - "usr": "s:14DouShouQiModel4CellV" - }, - { - "kind": "TypeNominal", - "name": "Cell", - "printedName": "DouShouQiModel.Cell", - "usr": "s:14DouShouQiModel4CellV" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel4CellV2eeoiySbAC_ACtFZ", - "mangledName": "$s14DouShouQiModel4CellV2eeoiySbAC_ACtFZ", - "moduleName": "DouShouQiModel", - "static": true, - "implicit": true, - "funcSelfKind": "NonMutating" - } - ], - "declKind": "Struct", - "usr": "s:14DouShouQiModel4CellV", - "mangledName": "$s14DouShouQiModel4CellV", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "conformances": [ - { - "kind": "Conformance", - "name": "CustomStringConvertible", - "printedName": "CustomStringConvertible", - "usr": "s:s23CustomStringConvertibleP", - "mangledName": "$ss23CustomStringConvertibleP" - }, - { - "kind": "Conformance", - "name": "Equatable", - "printedName": "Equatable", - "usr": "s:SQ", - "mangledName": "$sSQ" - } - ] - }, - { - "kind": "Import", - "name": "Foundation", - "printedName": "Foundation", - "declKind": "Import", - "moduleName": "DouShouQiModel" - }, - { - "kind": "TypeDecl", - "name": "VerySimpleRules", - "printedName": "VerySimpleRules", - "children": [ - { - "kind": "Function", - "name": "createBoard", - "printedName": "createBoard()", - "children": [ - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel15VerySimpleRulesV11createBoardAA0I0VyFZ", - "mangledName": "$s14DouShouQiModel15VerySimpleRulesV11createBoardAA0I0VyFZ", - "moduleName": "DouShouQiModel", - "static": true, - "declAttributes": [ - "AccessControl" - ], - "funcSelfKind": "NonMutating" - }, - { - "kind": "Function", - "name": "checkBoard", - "printedName": "checkBoard(_:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - }, - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel15VerySimpleRulesV10checkBoardyyAA0I0VKFZ", - "mangledName": "$s14DouShouQiModel15VerySimpleRulesV10checkBoardyyAA0I0VKFZ", - "moduleName": "DouShouQiModel", - "static": true, - "declAttributes": [ - "AccessControl" - ], - "throwing": true, - "funcSelfKind": "NonMutating" - }, - { - "kind": "Constructor", - "name": "init", - "printedName": "init()", - "children": [ - { - "kind": "TypeNominal", - "name": "VerySimpleRules", - "printedName": "DouShouQiModel.VerySimpleRules", - "usr": "s:14DouShouQiModel15VerySimpleRulesV" - } - ], - "declKind": "Constructor", - "usr": "s:14DouShouQiModel15VerySimpleRulesVACycfc", - "mangledName": "$s14DouShouQiModel15VerySimpleRulesVACycfc", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "init_kind": "Designated" - }, - { - "kind": "Constructor", - "name": "init", - "printedName": "init(occurences:historic:)", - "children": [ - { - "kind": "TypeNominal", - "name": "VerySimpleRules", - "printedName": "DouShouQiModel.VerySimpleRules", - "usr": "s:14DouShouQiModel15VerySimpleRulesV" - }, - { - "kind": "TypeNominal", - "name": "Dictionary", - "printedName": "[DouShouQiModel.Board : Swift.Int]", - "children": [ - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ], - "usr": "s:SD" - }, - { - "kind": "TypeNominal", - "name": "Array", - "printedName": "[DouShouQiModel.Move]", - "children": [ - { - "kind": "TypeNominal", - "name": "Move", - "printedName": "DouShouQiModel.Move", - "usr": "s:14DouShouQiModel4MoveV" - } - ], - "usr": "s:Sa" - } - ], - "declKind": "Constructor", - "usr": "s:14DouShouQiModel15VerySimpleRulesV10occurences8historicACSDyAA5BoardVSiG_SayAA4MoveVGtcfc", - "mangledName": "$s14DouShouQiModel15VerySimpleRulesV10occurences8historicACSDyAA5BoardVSiG_SayAA4MoveVGtcfc", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "init_kind": "Designated" - }, - { - "kind": "Function", - "name": "getMoves", - "printedName": "getMoves(in:of:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Array", - "printedName": "[DouShouQiModel.Move]", - "children": [ - { - "kind": "TypeNominal", - "name": "Move", - "printedName": "DouShouQiModel.Move", - "usr": "s:14DouShouQiModel4MoveV" - } - ], - "usr": "s:Sa" - }, - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - }, - { - "kind": "TypeNominal", - "name": "Owner", - "printedName": "DouShouQiModel.Owner", - "usr": "s:14DouShouQiModel5OwnerO" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel15VerySimpleRulesV8getMoves2in2ofSayAA4MoveVGAA5BoardV_AA5OwnerOtF", - "mangledName": "$s14DouShouQiModel15VerySimpleRulesV8getMoves2in2ofSayAA4MoveVGAA5BoardV_AA5OwnerOtF", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "funcSelfKind": "NonMutating" - }, - { - "kind": "Function", - "name": "getMoves", - "printedName": "getMoves(in:of:fromRow:andColumn:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Array", - "printedName": "[DouShouQiModel.Move]", - "children": [ - { - "kind": "TypeNominal", - "name": "Move", - "printedName": "DouShouQiModel.Move", - "usr": "s:14DouShouQiModel4MoveV" - } - ], - "usr": "s:Sa" - }, - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - }, - { - "kind": "TypeNominal", - "name": "Owner", - "printedName": "DouShouQiModel.Owner", - "usr": "s:14DouShouQiModel5OwnerO" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel15VerySimpleRulesV8getMoves2in2of7fromRow9andColumnSayAA4MoveVGAA5BoardV_AA5OwnerOS2itF", - "mangledName": "$s14DouShouQiModel15VerySimpleRulesV8getMoves2in2of7fromRow9andColumnSayAA4MoveVGAA5BoardV_AA5OwnerOS2itF", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "funcSelfKind": "NonMutating" - }, - { - "kind": "Function", - "name": "isMoveValid", - "printedName": "isMoveValid(onBoard:fromRow:andFromColumn:toRow:andToColumn:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Bool", - "printedName": "Swift.Bool", - "usr": "s:Sb" - }, - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel15VerySimpleRulesV11isMoveValid7onBoard7fromRow13andFromColumn02toN00o2ToQ0SbAA0L0V_S4itF", - "mangledName": "$s14DouShouQiModel15VerySimpleRulesV11isMoveValid7onBoard7fromRow13andFromColumn02toN00o2ToQ0SbAA0L0V_S4itF", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "funcSelfKind": "NonMutating" - }, - { - "kind": "Function", - "name": "isMoveValid", - "printedName": "isMoveValid(onBoard:withMove:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Bool", - "printedName": "Swift.Bool", - "usr": "s:Sb" - }, - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - }, - { - "kind": "TypeNominal", - "name": "Move", - "printedName": "DouShouQiModel.Move", - "usr": "s:14DouShouQiModel4MoveV" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel15VerySimpleRulesV11isMoveValid7onBoard04withI0SbAA0L0V_AA0I0VtF", - "mangledName": "$s14DouShouQiModel15VerySimpleRulesV11isMoveValid7onBoard04withI0SbAA0L0V_AA0I0VtF", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "funcSelfKind": "NonMutating" - }, - { - "kind": "Function", - "name": "isGameOver", - "printedName": "isGameOver(withBoard:andLastRowPlayed:andLastColumnPlayer:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Tuple", - "printedName": "(Swift.Bool, DouShouQiModel.Result)", - "children": [ - { - "kind": "TypeNominal", - "name": "Bool", - "printedName": "Swift.Bool", - "usr": "s:Sb" - }, - { - "kind": "TypeNominal", - "name": "Result", - "printedName": "DouShouQiModel.Result", - "usr": "s:14DouShouQiModel6ResultO" - } - ] - }, - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel15VerySimpleRulesV10isGameOver9withBoard16andLastRowPlayed0mN12ColumnPlayerSb_AA6ResultOtAA0L0V_S2itF", - "mangledName": "$s14DouShouQiModel15VerySimpleRulesV10isGameOver9withBoard16andLastRowPlayed0mN12ColumnPlayerSb_AA6ResultOtAA0L0V_S2itF", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "funcSelfKind": "NonMutating" - }, - { - "kind": "Function", - "name": "playedMove", - "printedName": "playedMove(_:onStartingBoard:andResultingBoard:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - }, - { - "kind": "TypeNominal", - "name": "Move", - "printedName": "DouShouQiModel.Move", - "usr": "s:14DouShouQiModel4MoveV" - }, - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - }, - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel15VerySimpleRulesV10playedMove_15onStartingBoard012andResultingL0yAA0I0V_AA0L0VAJtKF", - "mangledName": "$s14DouShouQiModel15VerySimpleRulesV10playedMove_15onStartingBoard012andResultingL0yAA0I0V_AA0L0VAJtKF", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "Mutating", - "AccessControl" - ], - "throwing": true, - "funcSelfKind": "Mutating" - }, - { - "kind": "Function", - "name": "getNextPlayer", - "printedName": "getNextPlayer()", - "children": [ - { - "kind": "TypeNominal", - "name": "Owner", - "printedName": "DouShouQiModel.Owner", - "usr": "s:14DouShouQiModel5OwnerO" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel15VerySimpleRulesV13getNextPlayerAA5OwnerOyF", - "mangledName": "$s14DouShouQiModel15VerySimpleRulesV13getNextPlayerAA5OwnerOyF", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "funcSelfKind": "NonMutating" - }, - { - "kind": "Var", - "name": "occurences", - "printedName": "occurences", - "children": [ - { - "kind": "TypeNominal", - "name": "Dictionary", - "printedName": "[DouShouQiModel.Board : Swift.Int]", - "children": [ - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ], - "usr": "s:SD" - } - ], - "declKind": "Var", - "usr": "s:14DouShouQiModel15VerySimpleRulesV10occurencesSDyAA5BoardVSiGvp", - "mangledName": "$s14DouShouQiModel15VerySimpleRulesV10occurencesSDyAA5BoardVSiGvp", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "HasInitialValue", - "HasStorage", - "SetterAccess", - "AccessControl" - ], - "hasStorage": true, - "accessors": [ - { - "kind": "Accessor", - "name": "Get", - "printedName": "Get()", - "children": [ - { - "kind": "TypeNominal", - "name": "Dictionary", - "printedName": "[DouShouQiModel.Board : Swift.Int]", - "children": [ - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ], - "usr": "s:SD" - } - ], - "declKind": "Accessor", - "usr": "s:14DouShouQiModel15VerySimpleRulesV10occurencesSDyAA5BoardVSiGvg", - "mangledName": "$s14DouShouQiModel15VerySimpleRulesV10occurencesSDyAA5BoardVSiGvg", - "moduleName": "DouShouQiModel", - "implicit": true, - "accessorKind": "get" - } - ] - }, - { - "kind": "Var", - "name": "historic", - "printedName": "historic", - "children": [ - { - "kind": "TypeNominal", - "name": "Array", - "printedName": "[DouShouQiModel.Move]", - "children": [ - { - "kind": "TypeNominal", - "name": "Move", - "printedName": "DouShouQiModel.Move", - "usr": "s:14DouShouQiModel4MoveV" - } - ], - "usr": "s:Sa" - } - ], - "declKind": "Var", - "usr": "s:14DouShouQiModel15VerySimpleRulesV8historicSayAA4MoveVGvp", - "mangledName": "$s14DouShouQiModel15VerySimpleRulesV8historicSayAA4MoveVGvp", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "HasInitialValue", - "HasStorage", - "SetterAccess", - "AccessControl" - ], - "hasStorage": true, - "accessors": [ - { - "kind": "Accessor", - "name": "Get", - "printedName": "Get()", - "children": [ - { - "kind": "TypeNominal", - "name": "Array", - "printedName": "[DouShouQiModel.Move]", - "children": [ - { - "kind": "TypeNominal", - "name": "Move", - "printedName": "DouShouQiModel.Move", - "usr": "s:14DouShouQiModel4MoveV" - } - ], - "usr": "s:Sa" - } - ], - "declKind": "Accessor", - "usr": "s:14DouShouQiModel15VerySimpleRulesV8historicSayAA4MoveVGvg", - "mangledName": "$s14DouShouQiModel15VerySimpleRulesV8historicSayAA4MoveVGvg", - "moduleName": "DouShouQiModel", - "implicit": true, - "accessorKind": "get" - } - ] - } - ], - "declKind": "Struct", - "usr": "s:14DouShouQiModel15VerySimpleRulesV", - "mangledName": "$s14DouShouQiModel15VerySimpleRulesV", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "conformances": [ - { - "kind": "Conformance", - "name": "Rules", - "printedName": "Rules", - "usr": "s:14DouShouQiModel5RulesP", - "mangledName": "$s14DouShouQiModel5RulesP" - } - ] - }, - { - "kind": "Import", - "name": "Foundation", - "printedName": "Foundation", - "declKind": "Import", - "moduleName": "DouShouQiModel" - }, - { - "kind": "TypeDecl", - "name": "Rules", - "printedName": "Rules", - "children": [ - { - "kind": "Function", - "name": "createBoard", - "printedName": "createBoard()", - "children": [ - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel5RulesP11createBoardAA0G0VyFZ", - "mangledName": "$s14DouShouQiModel5RulesP11createBoardAA0G0VyFZ", - "moduleName": "DouShouQiModel", - "genericSig": "<τ_0_0 where τ_0_0 : DouShouQiModel.Rules>", - "sugared_genericSig": "", - "static": true, - "protocolReq": true, - "reqNewWitnessTableEntry": true, - "funcSelfKind": "NonMutating" - }, - { - "kind": "Function", - "name": "checkBoard", - "printedName": "checkBoard(_:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - }, - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel5RulesP10checkBoardyyAA0G0VKFZ", - "mangledName": "$s14DouShouQiModel5RulesP10checkBoardyyAA0G0VKFZ", - "moduleName": "DouShouQiModel", - "genericSig": "<τ_0_0 where τ_0_0 : DouShouQiModel.Rules>", - "sugared_genericSig": "", - "static": true, - "protocolReq": true, - "throwing": true, - "reqNewWitnessTableEntry": true, - "funcSelfKind": "NonMutating" - }, - { - "kind": "Function", - "name": "getNextPlayer", - "printedName": "getNextPlayer()", - "children": [ - { - "kind": "TypeNominal", - "name": "Owner", - "printedName": "DouShouQiModel.Owner", - "usr": "s:14DouShouQiModel5OwnerO" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel5RulesP13getNextPlayerAA5OwnerOyF", - "mangledName": "$s14DouShouQiModel5RulesP13getNextPlayerAA5OwnerOyF", - "moduleName": "DouShouQiModel", - "genericSig": "<τ_0_0 where τ_0_0 : DouShouQiModel.Rules>", - "sugared_genericSig": "", - "protocolReq": true, - "reqNewWitnessTableEntry": true, - "funcSelfKind": "NonMutating" - }, - { - "kind": "Function", - "name": "getMoves", - "printedName": "getMoves(in:of:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Array", - "printedName": "[DouShouQiModel.Move]", - "children": [ - { - "kind": "TypeNominal", - "name": "Move", - "printedName": "DouShouQiModel.Move", - "usr": "s:14DouShouQiModel4MoveV" - } - ], - "usr": "s:Sa" - }, - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - }, - { - "kind": "TypeNominal", - "name": "Owner", - "printedName": "DouShouQiModel.Owner", - "usr": "s:14DouShouQiModel5OwnerO" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel5RulesP8getMoves2in2ofSayAA4MoveVGAA5BoardV_AA5OwnerOtF", - "mangledName": "$s14DouShouQiModel5RulesP8getMoves2in2ofSayAA4MoveVGAA5BoardV_AA5OwnerOtF", - "moduleName": "DouShouQiModel", - "genericSig": "<τ_0_0 where τ_0_0 : DouShouQiModel.Rules>", - "sugared_genericSig": "", - "protocolReq": true, - "reqNewWitnessTableEntry": true, - "funcSelfKind": "NonMutating" - }, - { - "kind": "Function", - "name": "getMoves", - "printedName": "getMoves(in:of:fromRow:andColumn:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Array", - "printedName": "[DouShouQiModel.Move]", - "children": [ - { - "kind": "TypeNominal", - "name": "Move", - "printedName": "DouShouQiModel.Move", - "usr": "s:14DouShouQiModel4MoveV" - } - ], - "usr": "s:Sa" - }, - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - }, - { - "kind": "TypeNominal", - "name": "Owner", - "printedName": "DouShouQiModel.Owner", - "usr": "s:14DouShouQiModel5OwnerO" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel5RulesP8getMoves2in2of7fromRow9andColumnSayAA4MoveVGAA5BoardV_AA5OwnerOS2itF", - "mangledName": "$s14DouShouQiModel5RulesP8getMoves2in2of7fromRow9andColumnSayAA4MoveVGAA5BoardV_AA5OwnerOS2itF", - "moduleName": "DouShouQiModel", - "genericSig": "<τ_0_0 where τ_0_0 : DouShouQiModel.Rules>", - "sugared_genericSig": "", - "protocolReq": true, - "reqNewWitnessTableEntry": true, - "funcSelfKind": "NonMutating" - }, - { - "kind": "Function", - "name": "isMoveValid", - "printedName": "isMoveValid(onBoard:fromRow:andFromColumn:toRow:andToColumn:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Bool", - "printedName": "Swift.Bool", - "usr": "s:Sb" - }, - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel5RulesP11isMoveValid7onBoard7fromRow13andFromColumn02toL00m2ToO0SbAA0J0V_S4itF", - "mangledName": "$s14DouShouQiModel5RulesP11isMoveValid7onBoard7fromRow13andFromColumn02toL00m2ToO0SbAA0J0V_S4itF", - "moduleName": "DouShouQiModel", - "genericSig": "<τ_0_0 where τ_0_0 : DouShouQiModel.Rules>", - "sugared_genericSig": "", - "protocolReq": true, - "reqNewWitnessTableEntry": true, - "funcSelfKind": "NonMutating" - }, - { - "kind": "Function", - "name": "isMoveValid", - "printedName": "isMoveValid(onBoard:withMove:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Bool", - "printedName": "Swift.Bool", - "usr": "s:Sb" - }, - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - }, - { - "kind": "TypeNominal", - "name": "Move", - "printedName": "DouShouQiModel.Move", - "usr": "s:14DouShouQiModel4MoveV" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel5RulesP11isMoveValid7onBoard04withG0SbAA0J0V_AA0G0VtF", - "mangledName": "$s14DouShouQiModel5RulesP11isMoveValid7onBoard04withG0SbAA0J0V_AA0G0VtF", - "moduleName": "DouShouQiModel", - "genericSig": "<τ_0_0 where τ_0_0 : DouShouQiModel.Rules>", - "sugared_genericSig": "", - "protocolReq": true, - "reqNewWitnessTableEntry": true, - "funcSelfKind": "NonMutating" - }, - { - "kind": "Function", - "name": "isGameOver", - "printedName": "isGameOver(withBoard:andLastRowPlayed:andLastColumnPlayer:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Tuple", - "printedName": "(Swift.Bool, DouShouQiModel.Result)", - "children": [ - { - "kind": "TypeNominal", - "name": "Bool", - "printedName": "Swift.Bool", - "usr": "s:Sb" - }, - { - "kind": "TypeNominal", - "name": "Result", - "printedName": "DouShouQiModel.Result", - "usr": "s:14DouShouQiModel6ResultO" - } - ] - }, - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel5RulesP10isGameOver9withBoard16andLastRowPlayed0kL12ColumnPlayerSb_AA6ResultOtAA0J0V_S2itF", - "mangledName": "$s14DouShouQiModel5RulesP10isGameOver9withBoard16andLastRowPlayed0kL12ColumnPlayerSb_AA6ResultOtAA0J0V_S2itF", - "moduleName": "DouShouQiModel", - "genericSig": "<τ_0_0 where τ_0_0 : DouShouQiModel.Rules>", - "sugared_genericSig": "", - "protocolReq": true, - "reqNewWitnessTableEntry": true, - "funcSelfKind": "NonMutating" - }, - { - "kind": "Function", - "name": "playedMove", - "printedName": "playedMove(_:onStartingBoard:andResultingBoard:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - }, - { - "kind": "TypeNominal", - "name": "Move", - "printedName": "DouShouQiModel.Move", - "usr": "s:14DouShouQiModel4MoveV" - }, - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - }, - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel5RulesP10playedMove_15onStartingBoard012andResultingJ0yAA0G0V_AA0J0VAJtKF", - "mangledName": "$s14DouShouQiModel5RulesP10playedMove_15onStartingBoard012andResultingJ0yAA0G0V_AA0J0VAJtKF", - "moduleName": "DouShouQiModel", - "genericSig": "<τ_0_0 where τ_0_0 : DouShouQiModel.Rules>", - "sugared_genericSig": "", - "protocolReq": true, - "declAttributes": [ - "Mutating" - ], - "throwing": true, - "reqNewWitnessTableEntry": true, - "funcSelfKind": "Mutating" - }, - { - "kind": "Var", - "name": "occurences", - "printedName": "occurences", - "children": [ - { - "kind": "TypeNominal", - "name": "Dictionary", - "printedName": "[DouShouQiModel.Board : Swift.Int]", - "children": [ - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ], - "usr": "s:SD" - } - ], - "declKind": "Var", - "usr": "s:14DouShouQiModel5RulesP10occurencesSDyAA5BoardVSiGvp", - "mangledName": "$s14DouShouQiModel5RulesP10occurencesSDyAA5BoardVSiGvp", - "moduleName": "DouShouQiModel", - "protocolReq": true, - "accessors": [ - { - "kind": "Accessor", - "name": "Get", - "printedName": "Get()", - "children": [ - { - "kind": "TypeNominal", - "name": "Dictionary", - "printedName": "[DouShouQiModel.Board : Swift.Int]", - "children": [ - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ], - "usr": "s:SD" - } - ], - "declKind": "Accessor", - "usr": "s:14DouShouQiModel5RulesP10occurencesSDyAA5BoardVSiGvg", - "mangledName": "$s14DouShouQiModel5RulesP10occurencesSDyAA5BoardVSiGvg", - "moduleName": "DouShouQiModel", - "genericSig": "<τ_0_0 where τ_0_0 : DouShouQiModel.Rules>", - "sugared_genericSig": "", - "protocolReq": true, - "reqNewWitnessTableEntry": true, - "accessorKind": "get" - } - ] - }, - { - "kind": "Var", - "name": "historic", - "printedName": "historic", - "children": [ - { - "kind": "TypeNominal", - "name": "Array", - "printedName": "[DouShouQiModel.Move]", - "children": [ - { - "kind": "TypeNominal", - "name": "Move", - "printedName": "DouShouQiModel.Move", - "usr": "s:14DouShouQiModel4MoveV" - } - ], - "usr": "s:Sa" - } - ], - "declKind": "Var", - "usr": "s:14DouShouQiModel5RulesP8historicSayAA4MoveVGvp", - "mangledName": "$s14DouShouQiModel5RulesP8historicSayAA4MoveVGvp", - "moduleName": "DouShouQiModel", - "protocolReq": true, - "accessors": [ - { - "kind": "Accessor", - "name": "Get", - "printedName": "Get()", - "children": [ - { - "kind": "TypeNominal", - "name": "Array", - "printedName": "[DouShouQiModel.Move]", - "children": [ - { - "kind": "TypeNominal", - "name": "Move", - "printedName": "DouShouQiModel.Move", - "usr": "s:14DouShouQiModel4MoveV" - } - ], - "usr": "s:Sa" - } - ], - "declKind": "Accessor", - "usr": "s:14DouShouQiModel5RulesP8historicSayAA4MoveVGvg", - "mangledName": "$s14DouShouQiModel5RulesP8historicSayAA4MoveVGvg", - "moduleName": "DouShouQiModel", - "genericSig": "<τ_0_0 where τ_0_0 : DouShouQiModel.Rules>", - "sugared_genericSig": "", - "protocolReq": true, - "reqNewWitnessTableEntry": true, - "accessorKind": "get" - } - ] - } - ], - "declKind": "Protocol", - "usr": "s:14DouShouQiModel5RulesP", - "mangledName": "$s14DouShouQiModel5RulesP", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ] - }, - { - "kind": "Import", - "name": "Foundation", - "printedName": "Foundation", - "declKind": "Import", - "moduleName": "DouShouQiModel" - }, - { - "kind": "TypeDecl", - "name": "Player", - "printedName": "Player", - "children": [ - { - "kind": "Var", - "name": "name", - "printedName": "name", - "children": [ - { - "kind": "TypeNominal", - "name": "String", - "printedName": "Swift.String", - "usr": "s:SS" - } - ], - "declKind": "Var", - "usr": "s:14DouShouQiModel6PlayerC4nameSSvp", - "mangledName": "$s14DouShouQiModel6PlayerC4nameSSvp", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "HasStorage", - "Final", - "AccessControl" - ], - "isLet": true, - "hasStorage": true, - "accessors": [ - { - "kind": "Accessor", - "name": "Get", - "printedName": "Get()", - "children": [ - { - "kind": "TypeNominal", - "name": "String", - "printedName": "Swift.String", - "usr": "s:SS" - } - ], - "declKind": "Accessor", - "usr": "s:14DouShouQiModel6PlayerC4nameSSvg", - "mangledName": "$s14DouShouQiModel6PlayerC4nameSSvg", - "moduleName": "DouShouQiModel", - "implicit": true, - "declAttributes": [ - "Final" - ], - "accessorKind": "get" - } - ] - }, - { - "kind": "Var", - "name": "id", - "printedName": "id", - "children": [ - { - "kind": "TypeNominal", - "name": "Owner", - "printedName": "DouShouQiModel.Owner", - "usr": "s:14DouShouQiModel5OwnerO" - } - ], - "declKind": "Var", - "usr": "s:14DouShouQiModel6PlayerC2idAA5OwnerOvp", - "mangledName": "$s14DouShouQiModel6PlayerC2idAA5OwnerOvp", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "HasStorage", - "Final", - "AccessControl" - ], - "isLet": true, - "hasStorage": true, - "accessors": [ - { - "kind": "Accessor", - "name": "Get", - "printedName": "Get()", - "children": [ - { - "kind": "TypeNominal", - "name": "Owner", - "printedName": "DouShouQiModel.Owner", - "usr": "s:14DouShouQiModel5OwnerO" - } - ], - "declKind": "Accessor", - "usr": "s:14DouShouQiModel6PlayerC2idAA5OwnerOvg", - "mangledName": "$s14DouShouQiModel6PlayerC2idAA5OwnerOvg", - "moduleName": "DouShouQiModel", - "implicit": true, - "declAttributes": [ - "Final" - ], - "accessorKind": "get" - } - ] - }, - { - "kind": "Constructor", - "name": "init", - "printedName": "init(withName:andId:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Optional", - "printedName": "DouShouQiModel.Player?", - "children": [ - { - "kind": "TypeNominal", - "name": "Player", - "printedName": "DouShouQiModel.Player", - "usr": "s:14DouShouQiModel6PlayerC" - } - ], - "usr": "s:Sq" - }, - { - "kind": "TypeNominal", - "name": "String", - "printedName": "Swift.String", - "usr": "s:SS" - }, - { - "kind": "TypeNominal", - "name": "Owner", - "printedName": "DouShouQiModel.Owner", - "usr": "s:14DouShouQiModel5OwnerO" - } - ], - "declKind": "Constructor", - "usr": "s:14DouShouQiModel6PlayerC8withName5andIdACSgSS_AA5OwnerOtcfc", - "mangledName": "$s14DouShouQiModel6PlayerC8withName5andIdACSgSS_AA5OwnerOtcfc", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "init_kind": "Designated" - }, - { - "kind": "Function", - "name": "chooseMove", - "printedName": "chooseMove(in:with:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - }, - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - }, - { - "kind": "TypeNominal", - "name": "Rules", - "printedName": "DouShouQiModel.Rules", - "usr": "s:14DouShouQiModel5RulesP" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel6PlayerC10chooseMove2in4withyAA5BoardV_AA5Rules_ptYaKF", - "mangledName": "$s14DouShouQiModel6PlayerC10chooseMove2in4withyAA5BoardV_AA5Rules_ptYaKF", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "throwing": true, - "funcSelfKind": "NonMutating" - }, - { - "kind": "Function", - "name": "addPlayedCallbacksListener", - "printedName": "addPlayedCallbacksListener(_:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - }, - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.Move?, DouShouQiModel.Player) async throws -> ()", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - }, - { - "kind": "TypeNominal", - "name": "Tuple", - "printedName": "(DouShouQiModel.Move?, DouShouQiModel.Player)", - "children": [ - { - "kind": "TypeNominal", - "name": "Optional", - "printedName": "DouShouQiModel.Move?", - "children": [ - { - "kind": "TypeNominal", - "name": "Move", - "printedName": "DouShouQiModel.Move", - "usr": "s:14DouShouQiModel4MoveV" - } - ], - "usr": "s:Sq" - }, - { - "kind": "TypeNominal", - "name": "Player", - "printedName": "DouShouQiModel.Player", - "usr": "s:14DouShouQiModel6PlayerC" - } - ] - } - ] - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel6PlayerC26addPlayedCallbacksListeneryyyAA4MoveVSg_ACtYaKcF", - "mangledName": "$s14DouShouQiModel6PlayerC26addPlayedCallbacksListeneryyyAA4MoveVSg_ACtYaKcF", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "funcSelfKind": "NonMutating" - }, - { - "kind": "Function", - "name": "notifyPlayed", - "printedName": "notifyPlayed(withMove:andPlayer:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - }, - { - "kind": "TypeNominal", - "name": "Optional", - "printedName": "DouShouQiModel.Move?", - "children": [ - { - "kind": "TypeNominal", - "name": "Move", - "printedName": "DouShouQiModel.Move", - "usr": "s:14DouShouQiModel4MoveV" - } - ], - "usr": "s:Sq" - }, - { - "kind": "TypeNominal", - "name": "Player", - "printedName": "DouShouQiModel.Player", - "usr": "s:14DouShouQiModel6PlayerC" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel6PlayerC12notifyPlayed8withMove03andE0yAA0I0VSg_ACtYaKF", - "mangledName": "$s14DouShouQiModel6PlayerC12notifyPlayed8withMove03andE0yAA0I0VSg_ACtYaKF", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "throwing": true, - "funcSelfKind": "NonMutating" - } - ], - "declKind": "Class", - "usr": "s:14DouShouQiModel6PlayerC", - "mangledName": "$s14DouShouQiModel6PlayerC", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ] - }, - { - "kind": "Import", - "name": "Foundation", - "printedName": "Foundation", - "declKind": "Import", - "moduleName": "DouShouQiModel" - }, - { - "kind": "TypeDecl", - "name": "GameError", - "printedName": "GameError", - "children": [ - { - "kind": "Var", - "name": "invalidMove", - "printedName": "invalidMove", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.GameError.Type) -> DouShouQiModel.GameError", - "children": [ - { - "kind": "TypeNominal", - "name": "GameError", - "printedName": "DouShouQiModel.GameError", - "usr": "s:14DouShouQiModel9GameErrorO" - }, - { - "kind": "TypeNominal", - "name": "Metatype", - "printedName": "DouShouQiModel.GameError.Type", - "children": [ - { - "kind": "TypeNominal", - "name": "GameError", - "printedName": "DouShouQiModel.GameError", - "usr": "s:14DouShouQiModel9GameErrorO" - } - ] - } - ] - } - ], - "declKind": "EnumElement", - "usr": "s:14DouShouQiModel9GameErrorO11invalidMoveyA2CmF", - "mangledName": "$s14DouShouQiModel9GameErrorO11invalidMoveyA2CmF", - "moduleName": "DouShouQiModel" - }, - { - "kind": "Var", - "name": "nextPlayerError", - "printedName": "nextPlayerError", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.GameError.Type) -> DouShouQiModel.GameError", - "children": [ - { - "kind": "TypeNominal", - "name": "GameError", - "printedName": "DouShouQiModel.GameError", - "usr": "s:14DouShouQiModel9GameErrorO" - }, - { - "kind": "TypeNominal", - "name": "Metatype", - "printedName": "DouShouQiModel.GameError.Type", - "children": [ - { - "kind": "TypeNominal", - "name": "GameError", - "printedName": "DouShouQiModel.GameError", - "usr": "s:14DouShouQiModel9GameErrorO" - } - ] - } - ] - } - ], - "declKind": "EnumElement", - "usr": "s:14DouShouQiModel9GameErrorO010nextPlayerF0yA2CmF", - "mangledName": "$s14DouShouQiModel9GameErrorO010nextPlayerF0yA2CmF", - "moduleName": "DouShouQiModel" - }, - { - "kind": "Var", - "name": "badPlayerId", - "printedName": "badPlayerId", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.GameError.Type) -> (Swift.String) -> DouShouQiModel.GameError", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(Swift.String) -> DouShouQiModel.GameError", - "children": [ - { - "kind": "TypeNominal", - "name": "GameError", - "printedName": "DouShouQiModel.GameError", - "usr": "s:14DouShouQiModel9GameErrorO" - }, - { - "kind": "TypeNominal", - "name": "Tuple", - "printedName": "(message: Swift.String)", - "children": [ - { - "kind": "TypeNominal", - "name": "String", - "printedName": "Swift.String", - "usr": "s:SS" - } - ] - } - ] - }, - { - "kind": "TypeNominal", - "name": "Metatype", - "printedName": "DouShouQiModel.GameError.Type", - "children": [ - { - "kind": "TypeNominal", - "name": "GameError", - "printedName": "DouShouQiModel.GameError", - "usr": "s:14DouShouQiModel9GameErrorO" - } - ] - } - ] - } - ], - "declKind": "EnumElement", - "usr": "s:14DouShouQiModel9GameErrorO11badPlayerIdyACSS_tcACmF", - "mangledName": "$s14DouShouQiModel9GameErrorO11badPlayerIdyACSS_tcACmF", - "moduleName": "DouShouQiModel" - }, - { - "kind": "Var", - "name": "invalidRules", - "printedName": "invalidRules", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.GameError.Type) -> DouShouQiModel.GameError", - "children": [ - { - "kind": "TypeNominal", - "name": "GameError", - "printedName": "DouShouQiModel.GameError", - "usr": "s:14DouShouQiModel9GameErrorO" - }, - { - "kind": "TypeNominal", - "name": "Metatype", - "printedName": "DouShouQiModel.GameError.Type", - "children": [ - { - "kind": "TypeNominal", - "name": "GameError", - "printedName": "DouShouQiModel.GameError", - "usr": "s:14DouShouQiModel9GameErrorO" - } - ] - } - ] - } - ], - "declKind": "EnumElement", - "usr": "s:14DouShouQiModel9GameErrorO12invalidRulesyA2CmF", - "mangledName": "$s14DouShouQiModel9GameErrorO12invalidRulesyA2CmF", - "moduleName": "DouShouQiModel" - }, - { - "kind": "Var", - "name": "invalidPlayer", - "printedName": "invalidPlayer", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.GameError.Type) -> DouShouQiModel.GameError", - "children": [ - { - "kind": "TypeNominal", - "name": "GameError", - "printedName": "DouShouQiModel.GameError", - "usr": "s:14DouShouQiModel9GameErrorO" - }, - { - "kind": "TypeNominal", - "name": "Metatype", - "printedName": "DouShouQiModel.GameError.Type", - "children": [ - { - "kind": "TypeNominal", - "name": "GameError", - "printedName": "DouShouQiModel.GameError", - "usr": "s:14DouShouQiModel9GameErrorO" - } - ] - } - ] - } - ], - "declKind": "EnumElement", - "usr": "s:14DouShouQiModel9GameErrorO13invalidPlayeryA2CmF", - "mangledName": "$s14DouShouQiModel9GameErrorO13invalidPlayeryA2CmF", - "moduleName": "DouShouQiModel" - }, - { - "kind": "Var", - "name": "invalidGame", - "printedName": "invalidGame", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.GameError.Type) -> DouShouQiModel.GameError", - "children": [ - { - "kind": "TypeNominal", - "name": "GameError", - "printedName": "DouShouQiModel.GameError", - "usr": "s:14DouShouQiModel9GameErrorO" - }, - { - "kind": "TypeNominal", - "name": "Metatype", - "printedName": "DouShouQiModel.GameError.Type", - "children": [ - { - "kind": "TypeNominal", - "name": "GameError", - "printedName": "DouShouQiModel.GameError", - "usr": "s:14DouShouQiModel9GameErrorO" - } - ] - } - ] - } - ], - "declKind": "EnumElement", - "usr": "s:14DouShouQiModel9GameErrorO07invalidE0yA2CmF", - "mangledName": "$s14DouShouQiModel9GameErrorO07invalidE0yA2CmF", - "moduleName": "DouShouQiModel" - }, - { - "kind": "Var", - "name": "invalidBoard", - "printedName": "invalidBoard", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.GameError.Type) -> DouShouQiModel.GameError", - "children": [ - { - "kind": "TypeNominal", - "name": "GameError", - "printedName": "DouShouQiModel.GameError", - "usr": "s:14DouShouQiModel9GameErrorO" - }, - { - "kind": "TypeNominal", - "name": "Metatype", - "printedName": "DouShouQiModel.GameError.Type", - "children": [ - { - "kind": "TypeNominal", - "name": "GameError", - "printedName": "DouShouQiModel.GameError", - "usr": "s:14DouShouQiModel9GameErrorO" - } - ] - } - ] - } - ], - "declKind": "EnumElement", - "usr": "s:14DouShouQiModel9GameErrorO12invalidBoardyA2CmF", - "mangledName": "$s14DouShouQiModel9GameErrorO12invalidBoardyA2CmF", - "moduleName": "DouShouQiModel" - } - ], - "declKind": "Enum", - "usr": "s:14DouShouQiModel9GameErrorO", - "mangledName": "$s14DouShouQiModel9GameErrorO", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "conformances": [ - { - "kind": "Conformance", - "name": "Error", - "printedName": "Error", - "usr": "s:s5ErrorP", - "mangledName": "$ss5ErrorP" - }, - { - "kind": "Conformance", - "name": "Sendable", - "printedName": "Sendable", - "usr": "s:s8SendableP", - "mangledName": "$ss8SendableP" - } - ] - }, - { - "kind": "Import", - "name": "Foundation", - "printedName": "Foundation", - "declKind": "Import", - "moduleName": "DouShouQiModel" - }, - { - "kind": "TypeDecl", - "name": "RandomPlayer", - "printedName": "RandomPlayer", - "children": [ - { - "kind": "Function", - "name": "chooseMove", - "printedName": "chooseMove(in:with:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - }, - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - }, - { - "kind": "TypeNominal", - "name": "Rules", - "printedName": "DouShouQiModel.Rules", - "usr": "s:14DouShouQiModel5RulesP" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel12RandomPlayerC10chooseMove2in4withyAA5BoardV_AA5Rules_ptYaKF", - "mangledName": "$s14DouShouQiModel12RandomPlayerC10chooseMove2in4withyAA5BoardV_AA5Rules_ptYaKF", - "moduleName": "DouShouQiModel", - "overriding": true, - "declAttributes": [ - "Override", - "AccessControl" - ], - "throwing": true, - "funcSelfKind": "NonMutating" - }, - { - "kind": "Constructor", - "name": "init", - "printedName": "init(withName:andId:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Optional", - "printedName": "DouShouQiModel.RandomPlayer?", - "children": [ - { - "kind": "TypeNominal", - "name": "RandomPlayer", - "printedName": "DouShouQiModel.RandomPlayer", - "usr": "s:14DouShouQiModel12RandomPlayerC" - } - ], - "usr": "s:Sq" - }, - { - "kind": "TypeNominal", - "name": "String", - "printedName": "Swift.String", - "usr": "s:SS" - }, - { - "kind": "TypeNominal", - "name": "Owner", - "printedName": "DouShouQiModel.Owner", - "usr": "s:14DouShouQiModel5OwnerO" - } - ], - "declKind": "Constructor", - "usr": "s:14DouShouQiModel12RandomPlayerC8withName5andIdACSgSS_AA5OwnerOtcfc", - "mangledName": "$s14DouShouQiModel12RandomPlayerC8withName5andIdACSgSS_AA5OwnerOtcfc", - "moduleName": "DouShouQiModel", - "overriding": true, - "implicit": true, - "declAttributes": [ - "Override" - ], - "init_kind": "Designated" - } - ], - "declKind": "Class", - "usr": "s:14DouShouQiModel12RandomPlayerC", - "mangledName": "$s14DouShouQiModel12RandomPlayerC", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "superclassUsr": "s:14DouShouQiModel8IAPlayerC", - "inheritsConvenienceInitializers": true, - "superclassNames": [ - "DouShouQiModel.IAPlayer", - "DouShouQiModel.Player" - ] - }, - { - "kind": "Import", - "name": "Foundation", - "printedName": "Foundation", - "declKind": "Import", - "moduleName": "DouShouQiModel" - }, - { - "kind": "TypeDecl", - "name": "CellType", - "printedName": "CellType", - "children": [ - { - "kind": "Var", - "name": "unknown", - "printedName": "unknown", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.CellType.Type) -> DouShouQiModel.CellType", - "children": [ - { - "kind": "TypeNominal", - "name": "CellType", - "printedName": "DouShouQiModel.CellType", - "usr": "s:14DouShouQiModel8CellTypeO" - }, - { - "kind": "TypeNominal", - "name": "Metatype", - "printedName": "DouShouQiModel.CellType.Type", - "children": [ - { - "kind": "TypeNominal", - "name": "CellType", - "printedName": "DouShouQiModel.CellType", - "usr": "s:14DouShouQiModel8CellTypeO" - } - ] - } - ] - } - ], - "declKind": "EnumElement", - "usr": "s:14DouShouQiModel8CellTypeO7unknownyA2CmF", - "mangledName": "$s14DouShouQiModel8CellTypeO7unknownyA2CmF", - "moduleName": "DouShouQiModel" - }, - { - "kind": "Var", - "name": "jungle", - "printedName": "jungle", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.CellType.Type) -> DouShouQiModel.CellType", - "children": [ - { - "kind": "TypeNominal", - "name": "CellType", - "printedName": "DouShouQiModel.CellType", - "usr": "s:14DouShouQiModel8CellTypeO" - }, - { - "kind": "TypeNominal", - "name": "Metatype", - "printedName": "DouShouQiModel.CellType.Type", - "children": [ - { - "kind": "TypeNominal", - "name": "CellType", - "printedName": "DouShouQiModel.CellType", - "usr": "s:14DouShouQiModel8CellTypeO" - } - ] - } - ] - } - ], - "declKind": "EnumElement", - "usr": "s:14DouShouQiModel8CellTypeO6jungleyA2CmF", - "mangledName": "$s14DouShouQiModel8CellTypeO6jungleyA2CmF", - "moduleName": "DouShouQiModel" - }, - { - "kind": "Var", - "name": "water", - "printedName": "water", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.CellType.Type) -> DouShouQiModel.CellType", - "children": [ - { - "kind": "TypeNominal", - "name": "CellType", - "printedName": "DouShouQiModel.CellType", - "usr": "s:14DouShouQiModel8CellTypeO" - }, - { - "kind": "TypeNominal", - "name": "Metatype", - "printedName": "DouShouQiModel.CellType.Type", - "children": [ - { - "kind": "TypeNominal", - "name": "CellType", - "printedName": "DouShouQiModel.CellType", - "usr": "s:14DouShouQiModel8CellTypeO" - } - ] - } - ] - } - ], - "declKind": "EnumElement", - "usr": "s:14DouShouQiModel8CellTypeO5wateryA2CmF", - "mangledName": "$s14DouShouQiModel8CellTypeO5wateryA2CmF", - "moduleName": "DouShouQiModel" - }, - { - "kind": "Var", - "name": "trap", - "printedName": "trap", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.CellType.Type) -> DouShouQiModel.CellType", - "children": [ - { - "kind": "TypeNominal", - "name": "CellType", - "printedName": "DouShouQiModel.CellType", - "usr": "s:14DouShouQiModel8CellTypeO" - }, - { - "kind": "TypeNominal", - "name": "Metatype", - "printedName": "DouShouQiModel.CellType.Type", - "children": [ - { - "kind": "TypeNominal", - "name": "CellType", - "printedName": "DouShouQiModel.CellType", - "usr": "s:14DouShouQiModel8CellTypeO" - } - ] - } - ] - } - ], - "declKind": "EnumElement", - "usr": "s:14DouShouQiModel8CellTypeO4trapyA2CmF", - "mangledName": "$s14DouShouQiModel8CellTypeO4trapyA2CmF", - "moduleName": "DouShouQiModel" - }, - { - "kind": "Var", - "name": "den", - "printedName": "den", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.CellType.Type) -> DouShouQiModel.CellType", - "children": [ - { - "kind": "TypeNominal", - "name": "CellType", - "printedName": "DouShouQiModel.CellType", - "usr": "s:14DouShouQiModel8CellTypeO" - }, - { - "kind": "TypeNominal", - "name": "Metatype", - "printedName": "DouShouQiModel.CellType.Type", - "children": [ - { - "kind": "TypeNominal", - "name": "CellType", - "printedName": "DouShouQiModel.CellType", - "usr": "s:14DouShouQiModel8CellTypeO" - } - ] - } - ] - } - ], - "declKind": "EnumElement", - "usr": "s:14DouShouQiModel8CellTypeO3denyA2CmF", - "mangledName": "$s14DouShouQiModel8CellTypeO3denyA2CmF", - "moduleName": "DouShouQiModel" - }, - { - "kind": "Var", - "name": "allCases", - "printedName": "allCases", - "children": [ - { - "kind": "TypeNominal", - "name": "Array", - "printedName": "[DouShouQiModel.CellType]", - "children": [ - { - "kind": "TypeNominal", - "name": "CellType", - "printedName": "DouShouQiModel.CellType", - "usr": "s:14DouShouQiModel8CellTypeO" - } - ], - "usr": "s:Sa" - } - ], - "declKind": "Var", - "usr": "s:14DouShouQiModel8CellTypeO8allCasesSayACGvpZ", - "mangledName": "$s14DouShouQiModel8CellTypeO8allCasesSayACGvpZ", - "moduleName": "DouShouQiModel", - "static": true, - "implicit": true, - "accessors": [ - { - "kind": "Accessor", - "name": "Get", - "printedName": "Get()", - "children": [ - { - "kind": "TypeNominal", - "name": "Array", - "printedName": "[DouShouQiModel.CellType]", - "children": [ - { - "kind": "TypeNominal", - "name": "CellType", - "printedName": "DouShouQiModel.CellType", - "usr": "s:14DouShouQiModel8CellTypeO" - } - ], - "usr": "s:Sa" - } - ], - "declKind": "Accessor", - "usr": "s:14DouShouQiModel8CellTypeO8allCasesSayACGvgZ", - "mangledName": "$s14DouShouQiModel8CellTypeO8allCasesSayACGvgZ", - "moduleName": "DouShouQiModel", - "static": true, - "implicit": true, - "accessorKind": "get" - } - ] - }, - { - "kind": "Function", - "name": "==", - "printedName": "==(_:_:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Bool", - "printedName": "Swift.Bool", - "usr": "s:Sb" - }, - { - "kind": "TypeNominal", - "name": "CellType", - "printedName": "DouShouQiModel.CellType", - "usr": "s:14DouShouQiModel8CellTypeO" - }, - { - "kind": "TypeNominal", - "name": "CellType", - "printedName": "DouShouQiModel.CellType", - "usr": "s:14DouShouQiModel8CellTypeO" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel8CellTypeO2eeoiySbAC_ACtFZ", - "mangledName": "$s14DouShouQiModel8CellTypeO2eeoiySbAC_ACtFZ", - "moduleName": "DouShouQiModel", - "static": true, - "implicit": true, - "funcSelfKind": "NonMutating" - }, - { - "kind": "Var", - "name": "hashValue", - "printedName": "hashValue", - "children": [ - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ], - "declKind": "Var", - "usr": "s:14DouShouQiModel8CellTypeO9hashValueSivp", - "mangledName": "$s14DouShouQiModel8CellTypeO9hashValueSivp", - "moduleName": "DouShouQiModel", - "implicit": true, - "accessors": [ - { - "kind": "Accessor", - "name": "Get", - "printedName": "Get()", - "children": [ - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ], - "declKind": "Accessor", - "usr": "s:14DouShouQiModel8CellTypeO9hashValueSivg", - "mangledName": "$s14DouShouQiModel8CellTypeO9hashValueSivg", - "moduleName": "DouShouQiModel", - "implicit": true, - "accessorKind": "get" - } - ] - }, - { - "kind": "Function", - "name": "hash", - "printedName": "hash(into:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - }, - { - "kind": "TypeNominal", - "name": "Hasher", - "printedName": "Swift.Hasher", - "paramValueOwnership": "InOut", - "usr": "s:s6HasherV" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel8CellTypeO4hash4intoys6HasherVz_tF", - "mangledName": "$s14DouShouQiModel8CellTypeO4hash4intoys6HasherVz_tF", - "moduleName": "DouShouQiModel", - "implicit": true, - "funcSelfKind": "NonMutating" - } - ], - "declKind": "Enum", - "usr": "s:14DouShouQiModel8CellTypeO", - "mangledName": "$s14DouShouQiModel8CellTypeO", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "conformances": [ - { - "kind": "Conformance", - "name": "Equatable", - "printedName": "Equatable", - "usr": "s:SQ", - "mangledName": "$sSQ" - }, - { - "kind": "Conformance", - "name": "Hashable", - "printedName": "Hashable", - "usr": "s:SH", - "mangledName": "$sSH" - }, - { - "kind": "Conformance", - "name": "CaseIterable", - "printedName": "CaseIterable", - "children": [ - { - "kind": "TypeWitness", - "name": "AllCases", - "printedName": "AllCases", - "children": [ - { - "kind": "TypeNominal", - "name": "Array", - "printedName": "[DouShouQiModel.CellType]", - "children": [ - { - "kind": "TypeNominal", - "name": "CellType", - "printedName": "DouShouQiModel.CellType", - "usr": "s:14DouShouQiModel8CellTypeO" - } - ], - "usr": "s:Sa" - } - ] - } - ], - "usr": "s:s12CaseIterableP", - "mangledName": "$ss12CaseIterableP" - } - ] - }, - { - "kind": "Import", - "name": "Foundation", - "printedName": "Foundation", - "declKind": "Import", - "moduleName": "DouShouQiModel" - }, - { - "kind": "TypeDecl", - "name": "Board", - "printedName": "Board", - "children": [ - { - "kind": "Function", - "name": "hash", - "printedName": "hash(into:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - }, - { - "kind": "TypeNominal", - "name": "Hasher", - "printedName": "Swift.Hasher", - "paramValueOwnership": "InOut", - "usr": "s:s6HasherV" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel5BoardV4hash4intoys6HasherVz_tF", - "mangledName": "$s14DouShouQiModel5BoardV4hash4intoys6HasherVz_tF", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "funcSelfKind": "NonMutating" - }, - { - "kind": "Var", - "name": "nbRows", - "printedName": "nbRows", - "children": [ - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ], - "declKind": "Var", - "usr": "s:14DouShouQiModel5BoardV6nbRowsSivp", - "mangledName": "$s14DouShouQiModel5BoardV6nbRowsSivp", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "HasStorage", - "AccessControl", - "RawDocComment" - ], - "isLet": true, - "hasStorage": true, - "accessors": [ - { - "kind": "Accessor", - "name": "Get", - "printedName": "Get()", - "children": [ - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ], - "declKind": "Accessor", - "usr": "s:14DouShouQiModel5BoardV6nbRowsSivg", - "mangledName": "$s14DouShouQiModel5BoardV6nbRowsSivg", - "moduleName": "DouShouQiModel", - "implicit": true, - "accessorKind": "get" - } - ] - }, - { - "kind": "Var", - "name": "nbColumns", - "printedName": "nbColumns", - "children": [ - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ], - "declKind": "Var", - "usr": "s:14DouShouQiModel5BoardV9nbColumnsSivp", - "mangledName": "$s14DouShouQiModel5BoardV9nbColumnsSivp", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "HasStorage", - "AccessControl", - "RawDocComment" - ], - "isLet": true, - "hasStorage": true, - "accessors": [ - { - "kind": "Accessor", - "name": "Get", - "printedName": "Get()", - "children": [ - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ], - "declKind": "Accessor", - "usr": "s:14DouShouQiModel5BoardV9nbColumnsSivg", - "mangledName": "$s14DouShouQiModel5BoardV9nbColumnsSivg", - "moduleName": "DouShouQiModel", - "implicit": true, - "accessorKind": "get" - } - ] - }, - { - "kind": "Var", - "name": "grid", - "printedName": "grid", - "children": [ - { - "kind": "TypeNominal", - "name": "Array", - "printedName": "[[DouShouQiModel.Cell]]", - "children": [ - { - "kind": "TypeNominal", - "name": "Array", - "printedName": "[DouShouQiModel.Cell]", - "children": [ - { - "kind": "TypeNominal", - "name": "Cell", - "printedName": "DouShouQiModel.Cell", - "usr": "s:14DouShouQiModel4CellV" - } - ], - "usr": "s:Sa" - } - ], - "usr": "s:Sa" - } - ], - "declKind": "Var", - "usr": "s:14DouShouQiModel5BoardV4gridSaySayAA4CellVGGvp", - "mangledName": "$s14DouShouQiModel5BoardV4gridSaySayAA4CellVGGvp", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "HasStorage", - "SetterAccess", - "AccessControl" - ], - "hasStorage": true, - "accessors": [ - { - "kind": "Accessor", - "name": "Get", - "printedName": "Get()", - "children": [ - { - "kind": "TypeNominal", - "name": "Array", - "printedName": "[[DouShouQiModel.Cell]]", - "children": [ - { - "kind": "TypeNominal", - "name": "Array", - "printedName": "[DouShouQiModel.Cell]", - "children": [ - { - "kind": "TypeNominal", - "name": "Cell", - "printedName": "DouShouQiModel.Cell", - "usr": "s:14DouShouQiModel4CellV" - } - ], - "usr": "s:Sa" - } - ], - "usr": "s:Sa" - } - ], - "declKind": "Accessor", - "usr": "s:14DouShouQiModel5BoardV4gridSaySayAA4CellVGGvg", - "mangledName": "$s14DouShouQiModel5BoardV4gridSaySayAA4CellVGGvg", - "moduleName": "DouShouQiModel", - "implicit": true, - "accessorKind": "get" - } - ] - }, - { - "kind": "Constructor", - "name": "init", - "printedName": "init(withGrid:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Optional", - "printedName": "DouShouQiModel.Board?", - "children": [ - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - } - ], - "usr": "s:Sq" - }, - { - "kind": "TypeNominal", - "name": "Array", - "printedName": "[[DouShouQiModel.Cell]]", - "children": [ - { - "kind": "TypeNominal", - "name": "Array", - "printedName": "[DouShouQiModel.Cell]", - "children": [ - { - "kind": "TypeNominal", - "name": "Cell", - "printedName": "DouShouQiModel.Cell", - "usr": "s:14DouShouQiModel4CellV" - } - ], - "usr": "s:Sa" - } - ], - "usr": "s:Sa" - } - ], - "declKind": "Constructor", - "usr": "s:14DouShouQiModel5BoardV8withGridACSgSaySayAA4CellVGG_tcfc", - "mangledName": "$s14DouShouQiModel5BoardV8withGridACSgSaySayAA4CellVGG_tcfc", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "init_kind": "Designated" - }, - { - "kind": "Function", - "name": "countPieces", - "printedName": "countPieces(of:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - }, - { - "kind": "TypeNominal", - "name": "Owner", - "printedName": "DouShouQiModel.Owner", - "usr": "s:14DouShouQiModel5OwnerO" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel5BoardV11countPieces2ofSiAA5OwnerO_tF", - "mangledName": "$s14DouShouQiModel5BoardV11countPieces2ofSiAA5OwnerO_tF", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "funcSelfKind": "NonMutating" - }, - { - "kind": "Function", - "name": "countPieces", - "printedName": "countPieces()", - "children": [ - { - "kind": "TypeNominal", - "name": "Tuple", - "printedName": "(nbOfPiecesOfPlayer1: Swift.Int, nbOfPiecesOfPlayer2: Swift.Int)", - "children": [ - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ] - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel5BoardV11countPiecesSi04nbOfgI7Player1_Si0higI7Player2tyF", - "mangledName": "$s14DouShouQiModel5BoardV11countPiecesSi04nbOfgI7Player1_Si0higI7Player2tyF", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "funcSelfKind": "NonMutating" - }, - { - "kind": "Function", - "name": "insert", - "printedName": "insert(piece:atRow:andColumn:)", - "children": [ - { - "kind": "TypeNominal", - "name": "BoardResult", - "printedName": "DouShouQiModel.BoardResult", - "usr": "s:14DouShouQiModel11BoardResultO" - }, - { - "kind": "TypeNominal", - "name": "Piece", - "printedName": "DouShouQiModel.Piece", - "usr": "s:14DouShouQiModel5PieceV" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel5BoardV6insert5piece5atRow9andColumnAA0E6ResultOAA5PieceV_S2itF", - "mangledName": "$s14DouShouQiModel5BoardV6insert5piece5atRow9andColumnAA0E6ResultOAA5PieceV_S2itF", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "Mutating", - "AccessControl" - ], - "funcSelfKind": "Mutating" - }, - { - "kind": "Function", - "name": "removePiece", - "printedName": "removePiece(atRow:andColumn:)", - "children": [ - { - "kind": "TypeNominal", - "name": "BoardResult", - "printedName": "DouShouQiModel.BoardResult", - "usr": "s:14DouShouQiModel11BoardResultO" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel5BoardV11removePiece5atRow9andColumnAA0E6ResultOSi_SitF", - "mangledName": "$s14DouShouQiModel5BoardV11removePiece5atRow9andColumnAA0E6ResultOSi_SitF", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "Mutating", - "AccessControl" - ], - "funcSelfKind": "Mutating" - }, - { - "kind": "Var", - "name": "hashValue", - "printedName": "hashValue", - "children": [ - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ], - "declKind": "Var", - "usr": "s:14DouShouQiModel5BoardV9hashValueSivp", - "mangledName": "$s14DouShouQiModel5BoardV9hashValueSivp", - "moduleName": "DouShouQiModel", - "implicit": true, - "accessors": [ - { - "kind": "Accessor", - "name": "Get", - "printedName": "Get()", - "children": [ - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ], - "declKind": "Accessor", - "usr": "s:14DouShouQiModel5BoardV9hashValueSivg", - "mangledName": "$s14DouShouQiModel5BoardV9hashValueSivg", - "moduleName": "DouShouQiModel", - "implicit": true, - "accessorKind": "get" - } - ] - }, - { - "kind": "Function", - "name": "==", - "printedName": "==(_:_:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Bool", - "printedName": "Swift.Bool", - "usr": "s:Sb" - }, - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - }, - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel5BoardV2eeoiySbAC_ACtFZ", - "mangledName": "$s14DouShouQiModel5BoardV2eeoiySbAC_ACtFZ", - "moduleName": "DouShouQiModel", - "static": true, - "implicit": true, - "funcSelfKind": "NonMutating" - } - ], - "declKind": "Struct", - "usr": "s:14DouShouQiModel5BoardV", - "mangledName": "$s14DouShouQiModel5BoardV", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "conformances": [ - { - "kind": "Conformance", - "name": "Hashable", - "printedName": "Hashable", - "usr": "s:SH", - "mangledName": "$sSH" - }, - { - "kind": "Conformance", - "name": "Equatable", - "printedName": "Equatable", - "usr": "s:SQ", - "mangledName": "$sSQ" - } - ] - }, - { - "kind": "Import", - "name": "Foundation", - "printedName": "Foundation", - "declKind": "Import", - "moduleName": "DouShouQiModel" - }, - { - "kind": "TypeDecl", - "name": "Piece", - "printedName": "Piece", - "children": [ - { - "kind": "Var", - "name": "description", - "printedName": "description", - "children": [ - { - "kind": "TypeNominal", - "name": "String", - "printedName": "Swift.String", - "usr": "s:SS" - } - ], - "declKind": "Var", - "usr": "s:14DouShouQiModel5PieceV11descriptionSSvp", - "mangledName": "$s14DouShouQiModel5PieceV11descriptionSSvp", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "accessors": [ - { - "kind": "Accessor", - "name": "Get", - "printedName": "Get()", - "children": [ - { - "kind": "TypeNominal", - "name": "String", - "printedName": "Swift.String", - "usr": "s:SS" - } - ], - "declKind": "Accessor", - "usr": "s:14DouShouQiModel5PieceV11descriptionSSvg", - "mangledName": "$s14DouShouQiModel5PieceV11descriptionSSvg", - "moduleName": "DouShouQiModel", - "accessorKind": "get" - } - ] - }, - { - "kind": "Var", - "name": "owner", - "printedName": "owner", - "children": [ - { - "kind": "TypeNominal", - "name": "Owner", - "printedName": "DouShouQiModel.Owner", - "usr": "s:14DouShouQiModel5OwnerO" - } - ], - "declKind": "Var", - "usr": "s:14DouShouQiModel5PieceV5ownerAA5OwnerOvp", - "mangledName": "$s14DouShouQiModel5PieceV5ownerAA5OwnerOvp", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "HasStorage", - "AccessControl" - ], - "isLet": true, - "hasStorage": true, - "accessors": [ - { - "kind": "Accessor", - "name": "Get", - "printedName": "Get()", - "children": [ - { - "kind": "TypeNominal", - "name": "Owner", - "printedName": "DouShouQiModel.Owner", - "usr": "s:14DouShouQiModel5OwnerO" - } - ], - "declKind": "Accessor", - "usr": "s:14DouShouQiModel5PieceV5ownerAA5OwnerOvg", - "mangledName": "$s14DouShouQiModel5PieceV5ownerAA5OwnerOvg", - "moduleName": "DouShouQiModel", - "implicit": true, - "accessorKind": "get" - } - ] - }, - { - "kind": "Var", - "name": "animal", - "printedName": "animal", - "children": [ - { - "kind": "TypeNominal", - "name": "Animal", - "printedName": "DouShouQiModel.Animal", - "usr": "s:14DouShouQiModel6AnimalO" - } - ], - "declKind": "Var", - "usr": "s:14DouShouQiModel5PieceV6animalAA6AnimalOvp", - "mangledName": "$s14DouShouQiModel5PieceV6animalAA6AnimalOvp", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "HasStorage", - "AccessControl" - ], - "isLet": true, - "hasStorage": true, - "accessors": [ - { - "kind": "Accessor", - "name": "Get", - "printedName": "Get()", - "children": [ - { - "kind": "TypeNominal", - "name": "Animal", - "printedName": "DouShouQiModel.Animal", - "usr": "s:14DouShouQiModel6AnimalO" - } - ], - "declKind": "Accessor", - "usr": "s:14DouShouQiModel5PieceV6animalAA6AnimalOvg", - "mangledName": "$s14DouShouQiModel5PieceV6animalAA6AnimalOvg", - "moduleName": "DouShouQiModel", - "implicit": true, - "accessorKind": "get" - } - ] - }, - { - "kind": "Constructor", - "name": "init", - "printedName": "init(withOwner:andAnimal:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Piece", - "printedName": "DouShouQiModel.Piece", - "usr": "s:14DouShouQiModel5PieceV" - }, - { - "kind": "TypeNominal", - "name": "Owner", - "printedName": "DouShouQiModel.Owner", - "usr": "s:14DouShouQiModel5OwnerO" - }, - { - "kind": "TypeNominal", - "name": "Animal", - "printedName": "DouShouQiModel.Animal", - "usr": "s:14DouShouQiModel6AnimalO" - } - ], - "declKind": "Constructor", - "usr": "s:14DouShouQiModel5PieceV9withOwner9andAnimalAcA0G0O_AA0I0Otcfc", - "mangledName": "$s14DouShouQiModel5PieceV9withOwner9andAnimalAcA0G0O_AA0I0Otcfc", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "init_kind": "Designated" - }, - { - "kind": "Var", - "name": "hashValue", - "printedName": "hashValue", - "children": [ - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ], - "declKind": "Var", - "usr": "s:14DouShouQiModel5PieceV9hashValueSivp", - "mangledName": "$s14DouShouQiModel5PieceV9hashValueSivp", - "moduleName": "DouShouQiModel", - "implicit": true, - "accessors": [ - { - "kind": "Accessor", - "name": "Get", - "printedName": "Get()", - "children": [ - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ], - "declKind": "Accessor", - "usr": "s:14DouShouQiModel5PieceV9hashValueSivg", - "mangledName": "$s14DouShouQiModel5PieceV9hashValueSivg", - "moduleName": "DouShouQiModel", - "implicit": true, - "accessorKind": "get" - } - ] - }, - { - "kind": "Function", - "name": "hash", - "printedName": "hash(into:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - }, - { - "kind": "TypeNominal", - "name": "Hasher", - "printedName": "Swift.Hasher", - "paramValueOwnership": "InOut", - "usr": "s:s6HasherV" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel5PieceV4hash4intoys6HasherVz_tF", - "mangledName": "$s14DouShouQiModel5PieceV4hash4intoys6HasherVz_tF", - "moduleName": "DouShouQiModel", - "implicit": true, - "funcSelfKind": "NonMutating" - }, - { - "kind": "Function", - "name": "==", - "printedName": "==(_:_:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Bool", - "printedName": "Swift.Bool", - "usr": "s:Sb" - }, - { - "kind": "TypeNominal", - "name": "Piece", - "printedName": "DouShouQiModel.Piece", - "usr": "s:14DouShouQiModel5PieceV" - }, - { - "kind": "TypeNominal", - "name": "Piece", - "printedName": "DouShouQiModel.Piece", - "usr": "s:14DouShouQiModel5PieceV" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel5PieceV2eeoiySbAC_ACtFZ", - "mangledName": "$s14DouShouQiModel5PieceV2eeoiySbAC_ACtFZ", - "moduleName": "DouShouQiModel", - "static": true, - "implicit": true, - "funcSelfKind": "NonMutating" - } - ], - "declKind": "Struct", - "usr": "s:14DouShouQiModel5PieceV", - "mangledName": "$s14DouShouQiModel5PieceV", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "conformances": [ - { - "kind": "Conformance", - "name": "CustomStringConvertible", - "printedName": "CustomStringConvertible", - "usr": "s:s23CustomStringConvertibleP", - "mangledName": "$ss23CustomStringConvertibleP" - }, - { - "kind": "Conformance", - "name": "Hashable", - "printedName": "Hashable", - "usr": "s:SH", - "mangledName": "$sSH" - }, - { - "kind": "Conformance", - "name": "Equatable", - "printedName": "Equatable", - "usr": "s:SQ", - "mangledName": "$sSQ" - } - ] - }, - { - "kind": "Import", - "name": "Foundation", - "printedName": "Foundation", - "declKind": "Import", - "moduleName": "DouShouQiModel" - }, - { - "kind": "TypeDecl", - "name": "InvalidBoardError", - "printedName": "InvalidBoardError", - "children": [ - { - "kind": "Var", - "name": "unknownError", - "printedName": "unknownError", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.InvalidBoardError.Type) -> DouShouQiModel.InvalidBoardError", - "children": [ - { - "kind": "TypeNominal", - "name": "InvalidBoardError", - "printedName": "DouShouQiModel.InvalidBoardError", - "usr": "s:14DouShouQiModel17InvalidBoardErrorO" - }, - { - "kind": "TypeNominal", - "name": "Metatype", - "printedName": "DouShouQiModel.InvalidBoardError.Type", - "children": [ - { - "kind": "TypeNominal", - "name": "InvalidBoardError", - "printedName": "DouShouQiModel.InvalidBoardError", - "usr": "s:14DouShouQiModel17InvalidBoardErrorO" - } - ] - } - ] - } - ], - "declKind": "EnumElement", - "usr": "s:14DouShouQiModel17InvalidBoardErrorO07unknownG0yA2CmF", - "mangledName": "$s14DouShouQiModel17InvalidBoardErrorO07unknownG0yA2CmF", - "moduleName": "DouShouQiModel" - }, - { - "kind": "Var", - "name": "badDimensions", - "printedName": "badDimensions", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.InvalidBoardError.Type) -> (Swift.Int, Swift.Int) -> DouShouQiModel.InvalidBoardError", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(Swift.Int, Swift.Int) -> DouShouQiModel.InvalidBoardError", - "children": [ - { - "kind": "TypeNominal", - "name": "InvalidBoardError", - "printedName": "DouShouQiModel.InvalidBoardError", - "usr": "s:14DouShouQiModel17InvalidBoardErrorO" - }, - { - "kind": "TypeNominal", - "name": "Tuple", - "printedName": "(nbRows: Swift.Int, nbColumns: Swift.Int)", - "children": [ - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ] - } - ] - }, - { - "kind": "TypeNominal", - "name": "Metatype", - "printedName": "DouShouQiModel.InvalidBoardError.Type", - "children": [ - { - "kind": "TypeNominal", - "name": "InvalidBoardError", - "printedName": "DouShouQiModel.InvalidBoardError", - "usr": "s:14DouShouQiModel17InvalidBoardErrorO" - } - ] - } - ] - } - ], - "declKind": "EnumElement", - "usr": "s:14DouShouQiModel17InvalidBoardErrorO13badDimensionsyACSi_SitcACmF", - "mangledName": "$s14DouShouQiModel17InvalidBoardErrorO13badDimensionsyACSi_SitcACmF", - "moduleName": "DouShouQiModel" - }, - { - "kind": "Var", - "name": "badCellType", - "printedName": "badCellType", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.InvalidBoardError.Type) -> (DouShouQiModel.CellType, Swift.Int, Swift.Int) -> DouShouQiModel.InvalidBoardError", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.CellType, Swift.Int, Swift.Int) -> DouShouQiModel.InvalidBoardError", - "children": [ - { - "kind": "TypeNominal", - "name": "InvalidBoardError", - "printedName": "DouShouQiModel.InvalidBoardError", - "usr": "s:14DouShouQiModel17InvalidBoardErrorO" - }, - { - "kind": "TypeNominal", - "name": "Tuple", - "printedName": "(cellType: DouShouQiModel.CellType, row: Swift.Int, column: Swift.Int)", - "children": [ - { - "kind": "TypeNominal", - "name": "CellType", - "printedName": "DouShouQiModel.CellType", - "usr": "s:14DouShouQiModel8CellTypeO" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ] - } - ] - }, - { - "kind": "TypeNominal", - "name": "Metatype", - "printedName": "DouShouQiModel.InvalidBoardError.Type", - "children": [ - { - "kind": "TypeNominal", - "name": "InvalidBoardError", - "printedName": "DouShouQiModel.InvalidBoardError", - "usr": "s:14DouShouQiModel17InvalidBoardErrorO" - } - ] - } - ] - } - ], - "declKind": "EnumElement", - "usr": "s:14DouShouQiModel17InvalidBoardErrorO11badCellTypeyAcA0iJ0O_S2itcACmF", - "mangledName": "$s14DouShouQiModel17InvalidBoardErrorO11badCellTypeyAcA0iJ0O_S2itcACmF", - "moduleName": "DouShouQiModel" - }, - { - "kind": "Var", - "name": "multipleOccurenceOfSamePiece", - "printedName": "multipleOccurenceOfSamePiece", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.InvalidBoardError.Type) -> (DouShouQiModel.Piece) -> DouShouQiModel.InvalidBoardError", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.Piece) -> DouShouQiModel.InvalidBoardError", - "children": [ - { - "kind": "TypeNominal", - "name": "InvalidBoardError", - "printedName": "DouShouQiModel.InvalidBoardError", - "usr": "s:14DouShouQiModel17InvalidBoardErrorO" - }, - { - "kind": "TypeNominal", - "name": "Tuple", - "printedName": "(piece: DouShouQiModel.Piece)", - "children": [ - { - "kind": "TypeNominal", - "name": "Piece", - "printedName": "DouShouQiModel.Piece", - "usr": "s:14DouShouQiModel5PieceV" - } - ] - } - ] - }, - { - "kind": "TypeNominal", - "name": "Metatype", - "printedName": "DouShouQiModel.InvalidBoardError.Type", - "children": [ - { - "kind": "TypeNominal", - "name": "InvalidBoardError", - "printedName": "DouShouQiModel.InvalidBoardError", - "usr": "s:14DouShouQiModel17InvalidBoardErrorO" - } - ] - } - ] - } - ], - "declKind": "EnumElement", - "usr": "s:14DouShouQiModel17InvalidBoardErrorO28multipleOccurenceOfSamePieceyAcA0L0V_tcACmF", - "mangledName": "$s14DouShouQiModel17InvalidBoardErrorO28multipleOccurenceOfSamePieceyAcA0L0V_tcACmF", - "moduleName": "DouShouQiModel" - }, - { - "kind": "Var", - "name": "pieceWithNoOwner", - "printedName": "pieceWithNoOwner", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.InvalidBoardError.Type) -> (DouShouQiModel.Piece) -> DouShouQiModel.InvalidBoardError", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.Piece) -> DouShouQiModel.InvalidBoardError", - "children": [ - { - "kind": "TypeNominal", - "name": "InvalidBoardError", - "printedName": "DouShouQiModel.InvalidBoardError", - "usr": "s:14DouShouQiModel17InvalidBoardErrorO" - }, - { - "kind": "TypeNominal", - "name": "Tuple", - "printedName": "(piece: DouShouQiModel.Piece)", - "children": [ - { - "kind": "TypeNominal", - "name": "Piece", - "printedName": "DouShouQiModel.Piece", - "usr": "s:14DouShouQiModel5PieceV" - } - ] - } - ] - }, - { - "kind": "TypeNominal", - "name": "Metatype", - "printedName": "DouShouQiModel.InvalidBoardError.Type", - "children": [ - { - "kind": "TypeNominal", - "name": "InvalidBoardError", - "printedName": "DouShouQiModel.InvalidBoardError", - "usr": "s:14DouShouQiModel17InvalidBoardErrorO" - } - ] - } - ] - } - ], - "declKind": "EnumElement", - "usr": "s:14DouShouQiModel17InvalidBoardErrorO16pieceWithNoOwneryAcA5PieceV_tcACmF", - "mangledName": "$s14DouShouQiModel17InvalidBoardErrorO16pieceWithNoOwneryAcA5PieceV_tcACmF", - "moduleName": "DouShouQiModel" - }, - { - "kind": "Var", - "name": "pieceNotAllowedOnThisCell", - "printedName": "pieceNotAllowedOnThisCell", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.InvalidBoardError.Type) -> (DouShouQiModel.Piece, DouShouQiModel.Cell) -> DouShouQiModel.InvalidBoardError", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.Piece, DouShouQiModel.Cell) -> DouShouQiModel.InvalidBoardError", - "children": [ - { - "kind": "TypeNominal", - "name": "InvalidBoardError", - "printedName": "DouShouQiModel.InvalidBoardError", - "usr": "s:14DouShouQiModel17InvalidBoardErrorO" - }, - { - "kind": "TypeNominal", - "name": "Tuple", - "printedName": "(piece: DouShouQiModel.Piece, cell: DouShouQiModel.Cell)", - "children": [ - { - "kind": "TypeNominal", - "name": "Piece", - "printedName": "DouShouQiModel.Piece", - "usr": "s:14DouShouQiModel5PieceV" - }, - { - "kind": "TypeNominal", - "name": "Cell", - "printedName": "DouShouQiModel.Cell", - "usr": "s:14DouShouQiModel4CellV" - } - ] - } - ] - }, - { - "kind": "TypeNominal", - "name": "Metatype", - "printedName": "DouShouQiModel.InvalidBoardError.Type", - "children": [ - { - "kind": "TypeNominal", - "name": "InvalidBoardError", - "printedName": "DouShouQiModel.InvalidBoardError", - "usr": "s:14DouShouQiModel17InvalidBoardErrorO" - } - ] - } - ] - } - ], - "declKind": "EnumElement", - "usr": "s:14DouShouQiModel17InvalidBoardErrorO25pieceNotAllowedOnThisCellyAcA5PieceV_AA0M0VtcACmF", - "mangledName": "$s14DouShouQiModel17InvalidBoardErrorO25pieceNotAllowedOnThisCellyAcA5PieceV_AA0M0VtcACmF", - "moduleName": "DouShouQiModel" - }, - { - "kind": "Function", - "name": "==", - "printedName": "==(_:_:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Bool", - "printedName": "Swift.Bool", - "usr": "s:Sb" - }, - { - "kind": "TypeNominal", - "name": "InvalidBoardError", - "printedName": "DouShouQiModel.InvalidBoardError", - "usr": "s:14DouShouQiModel17InvalidBoardErrorO" - }, - { - "kind": "TypeNominal", - "name": "InvalidBoardError", - "printedName": "DouShouQiModel.InvalidBoardError", - "usr": "s:14DouShouQiModel17InvalidBoardErrorO" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel17InvalidBoardErrorO2eeoiySbAC_ACtFZ", - "mangledName": "$s14DouShouQiModel17InvalidBoardErrorO2eeoiySbAC_ACtFZ", - "moduleName": "DouShouQiModel", - "static": true, - "implicit": true, - "funcSelfKind": "NonMutating" - } - ], - "declKind": "Enum", - "usr": "s:14DouShouQiModel17InvalidBoardErrorO", - "mangledName": "$s14DouShouQiModel17InvalidBoardErrorO", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "conformances": [ - { - "kind": "Conformance", - "name": "Error", - "printedName": "Error", - "usr": "s:s5ErrorP", - "mangledName": "$ss5ErrorP" - }, - { - "kind": "Conformance", - "name": "Equatable", - "printedName": "Equatable", - "usr": "s:SQ", - "mangledName": "$sSQ" - }, - { - "kind": "Conformance", - "name": "Sendable", - "printedName": "Sendable", - "usr": "s:s8SendableP", - "mangledName": "$ss8SendableP" - } - ] - }, - { - "kind": "Import", - "name": "Foundation", - "printedName": "Foundation", - "declKind": "Import", - "moduleName": "DouShouQiModel" - }, - { - "kind": "TypeDecl", - "name": "Owner", - "printedName": "Owner", - "children": [ - { - "kind": "Var", - "name": "noOne", - "printedName": "noOne", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.Owner.Type) -> DouShouQiModel.Owner", - "children": [ - { - "kind": "TypeNominal", - "name": "Owner", - "printedName": "DouShouQiModel.Owner", - "usr": "s:14DouShouQiModel5OwnerO" - }, - { - "kind": "TypeNominal", - "name": "Metatype", - "printedName": "DouShouQiModel.Owner.Type", - "children": [ - { - "kind": "TypeNominal", - "name": "Owner", - "printedName": "DouShouQiModel.Owner", - "usr": "s:14DouShouQiModel5OwnerO" - } - ] - } - ] - } - ], - "declKind": "EnumElement", - "usr": "s:14DouShouQiModel5OwnerO5noOneyA2CmF", - "mangledName": "$s14DouShouQiModel5OwnerO5noOneyA2CmF", - "moduleName": "DouShouQiModel" - }, - { - "kind": "Var", - "name": "player1", - "printedName": "player1", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.Owner.Type) -> DouShouQiModel.Owner", - "children": [ - { - "kind": "TypeNominal", - "name": "Owner", - "printedName": "DouShouQiModel.Owner", - "usr": "s:14DouShouQiModel5OwnerO" - }, - { - "kind": "TypeNominal", - "name": "Metatype", - "printedName": "DouShouQiModel.Owner.Type", - "children": [ - { - "kind": "TypeNominal", - "name": "Owner", - "printedName": "DouShouQiModel.Owner", - "usr": "s:14DouShouQiModel5OwnerO" - } - ] - } - ] - } - ], - "declKind": "EnumElement", - "usr": "s:14DouShouQiModel5OwnerO7player1yA2CmF", - "mangledName": "$s14DouShouQiModel5OwnerO7player1yA2CmF", - "moduleName": "DouShouQiModel" - }, - { - "kind": "Var", - "name": "player2", - "printedName": "player2", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.Owner.Type) -> DouShouQiModel.Owner", - "children": [ - { - "kind": "TypeNominal", - "name": "Owner", - "printedName": "DouShouQiModel.Owner", - "usr": "s:14DouShouQiModel5OwnerO" - }, - { - "kind": "TypeNominal", - "name": "Metatype", - "printedName": "DouShouQiModel.Owner.Type", - "children": [ - { - "kind": "TypeNominal", - "name": "Owner", - "printedName": "DouShouQiModel.Owner", - "usr": "s:14DouShouQiModel5OwnerO" - } - ] - } - ] - } - ], - "declKind": "EnumElement", - "usr": "s:14DouShouQiModel5OwnerO7player2yA2CmF", - "mangledName": "$s14DouShouQiModel5OwnerO7player2yA2CmF", - "moduleName": "DouShouQiModel" - }, - { - "kind": "Var", - "name": "simpleDescription", - "printedName": "simpleDescription", - "children": [ - { - "kind": "TypeNominal", - "name": "String", - "printedName": "Swift.String", - "usr": "s:SS" - } - ], - "declKind": "Var", - "usr": "s:14DouShouQiModel5OwnerO17simpleDescriptionSSvp", - "mangledName": "$s14DouShouQiModel5OwnerO17simpleDescriptionSSvp", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "accessors": [ - { - "kind": "Accessor", - "name": "Get", - "printedName": "Get()", - "children": [ - { - "kind": "TypeNominal", - "name": "String", - "printedName": "Swift.String", - "usr": "s:SS" - } - ], - "declKind": "Accessor", - "usr": "s:14DouShouQiModel5OwnerO17simpleDescriptionSSvg", - "mangledName": "$s14DouShouQiModel5OwnerO17simpleDescriptionSSvg", - "moduleName": "DouShouQiModel", - "accessorKind": "get" - } - ] - }, - { - "kind": "Function", - "name": "==", - "printedName": "==(_:_:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Bool", - "printedName": "Swift.Bool", - "usr": "s:Sb" - }, - { - "kind": "TypeNominal", - "name": "Owner", - "printedName": "DouShouQiModel.Owner", - "usr": "s:14DouShouQiModel5OwnerO" - }, - { - "kind": "TypeNominal", - "name": "Owner", - "printedName": "DouShouQiModel.Owner", - "usr": "s:14DouShouQiModel5OwnerO" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel5OwnerO2eeoiySbAC_ACtFZ", - "mangledName": "$s14DouShouQiModel5OwnerO2eeoiySbAC_ACtFZ", - "moduleName": "DouShouQiModel", - "static": true, - "implicit": true, - "funcSelfKind": "NonMutating" - }, - { - "kind": "Var", - "name": "hashValue", - "printedName": "hashValue", - "children": [ - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ], - "declKind": "Var", - "usr": "s:14DouShouQiModel5OwnerO9hashValueSivp", - "mangledName": "$s14DouShouQiModel5OwnerO9hashValueSivp", - "moduleName": "DouShouQiModel", - "implicit": true, - "accessors": [ - { - "kind": "Accessor", - "name": "Get", - "printedName": "Get()", - "children": [ - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ], - "declKind": "Accessor", - "usr": "s:14DouShouQiModel5OwnerO9hashValueSivg", - "mangledName": "$s14DouShouQiModel5OwnerO9hashValueSivg", - "moduleName": "DouShouQiModel", - "implicit": true, - "accessorKind": "get" - } - ] - }, - { - "kind": "Function", - "name": "hash", - "printedName": "hash(into:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - }, - { - "kind": "TypeNominal", - "name": "Hasher", - "printedName": "Swift.Hasher", - "paramValueOwnership": "InOut", - "usr": "s:s6HasherV" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel5OwnerO4hash4intoys6HasherVz_tF", - "mangledName": "$s14DouShouQiModel5OwnerO4hash4intoys6HasherVz_tF", - "moduleName": "DouShouQiModel", - "implicit": true, - "funcSelfKind": "NonMutating" - } - ], - "declKind": "Enum", - "usr": "s:14DouShouQiModel5OwnerO", - "mangledName": "$s14DouShouQiModel5OwnerO", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "conformances": [ - { - "kind": "Conformance", - "name": "Equatable", - "printedName": "Equatable", - "usr": "s:SQ", - "mangledName": "$sSQ" - }, - { - "kind": "Conformance", - "name": "Hashable", - "printedName": "Hashable", - "usr": "s:SH", - "mangledName": "$sSH" - } - ] - }, - { - "kind": "Import", - "name": "Foundation", - "printedName": "Foundation", - "declKind": "Import", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "RawDocComment" - ] - }, - { - "kind": "TypeDecl", - "name": "IAPlayer", - "printedName": "IAPlayer", - "children": [ - { - "kind": "Constructor", - "name": "init", - "printedName": "init(withName:andId:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Optional", - "printedName": "DouShouQiModel.IAPlayer?", - "children": [ - { - "kind": "TypeNominal", - "name": "IAPlayer", - "printedName": "DouShouQiModel.IAPlayer", - "usr": "s:14DouShouQiModel8IAPlayerC" - } - ], - "usr": "s:Sq" - }, - { - "kind": "TypeNominal", - "name": "String", - "printedName": "Swift.String", - "usr": "s:SS" - }, - { - "kind": "TypeNominal", - "name": "Owner", - "printedName": "DouShouQiModel.Owner", - "usr": "s:14DouShouQiModel5OwnerO" - } - ], - "declKind": "Constructor", - "usr": "s:14DouShouQiModel8IAPlayerC8withName5andIdACSgSS_AA5OwnerOtcfc", - "mangledName": "$s14DouShouQiModel8IAPlayerC8withName5andIdACSgSS_AA5OwnerOtcfc", - "moduleName": "DouShouQiModel", - "overriding": true, - "implicit": true, - "declAttributes": [ - "Override" - ], - "init_kind": "Designated" - } - ], - "declKind": "Class", - "usr": "s:14DouShouQiModel8IAPlayerC", - "mangledName": "$s14DouShouQiModel8IAPlayerC", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "superclassUsr": "s:14DouShouQiModel6PlayerC", - "inheritsConvenienceInitializers": true, - "superclassNames": [ - "DouShouQiModel.Player" - ] - }, - { - "kind": "Import", - "name": "Foundation", - "printedName": "Foundation", - "declKind": "Import", - "moduleName": "DouShouQiModel" - }, - { - "kind": "TypeDecl", - "name": "Move", - "printedName": "Move", - "children": [ - { - "kind": "Var", - "name": "owner", - "printedName": "owner", - "children": [ - { - "kind": "TypeNominal", - "name": "Owner", - "printedName": "DouShouQiModel.Owner", - "usr": "s:14DouShouQiModel5OwnerO" - } - ], - "declKind": "Var", - "usr": "s:14DouShouQiModel4MoveV5ownerAA5OwnerOvp", - "mangledName": "$s14DouShouQiModel4MoveV5ownerAA5OwnerOvp", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "HasStorage", - "AccessControl" - ], - "isLet": true, - "hasStorage": true, - "accessors": [ - { - "kind": "Accessor", - "name": "Get", - "printedName": "Get()", - "children": [ - { - "kind": "TypeNominal", - "name": "Owner", - "printedName": "DouShouQiModel.Owner", - "usr": "s:14DouShouQiModel5OwnerO" - } - ], - "declKind": "Accessor", - "usr": "s:14DouShouQiModel4MoveV5ownerAA5OwnerOvg", - "mangledName": "$s14DouShouQiModel4MoveV5ownerAA5OwnerOvg", - "moduleName": "DouShouQiModel", - "implicit": true, - "accessorKind": "get" - } - ] - }, - { - "kind": "Var", - "name": "rowOrigin", - "printedName": "rowOrigin", - "children": [ - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ], - "declKind": "Var", - "usr": "s:14DouShouQiModel4MoveV9rowOriginSivp", - "mangledName": "$s14DouShouQiModel4MoveV9rowOriginSivp", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "HasStorage", - "AccessControl" - ], - "isLet": true, - "hasStorage": true, - "accessors": [ - { - "kind": "Accessor", - "name": "Get", - "printedName": "Get()", - "children": [ - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ], - "declKind": "Accessor", - "usr": "s:14DouShouQiModel4MoveV9rowOriginSivg", - "mangledName": "$s14DouShouQiModel4MoveV9rowOriginSivg", - "moduleName": "DouShouQiModel", - "implicit": true, - "accessorKind": "get" - } - ] - }, - { - "kind": "Var", - "name": "columnOrigin", - "printedName": "columnOrigin", - "children": [ - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ], - "declKind": "Var", - "usr": "s:14DouShouQiModel4MoveV12columnOriginSivp", - "mangledName": "$s14DouShouQiModel4MoveV12columnOriginSivp", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "HasStorage", - "AccessControl" - ], - "isLet": true, - "hasStorage": true, - "accessors": [ - { - "kind": "Accessor", - "name": "Get", - "printedName": "Get()", - "children": [ - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ], - "declKind": "Accessor", - "usr": "s:14DouShouQiModel4MoveV12columnOriginSivg", - "mangledName": "$s14DouShouQiModel4MoveV12columnOriginSivg", - "moduleName": "DouShouQiModel", - "implicit": true, - "accessorKind": "get" - } - ] - }, - { - "kind": "Var", - "name": "rowDestination", - "printedName": "rowDestination", - "children": [ - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ], - "declKind": "Var", - "usr": "s:14DouShouQiModel4MoveV14rowDestinationSivp", - "mangledName": "$s14DouShouQiModel4MoveV14rowDestinationSivp", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "HasStorage", - "AccessControl" - ], - "isLet": true, - "hasStorage": true, - "accessors": [ - { - "kind": "Accessor", - "name": "Get", - "printedName": "Get()", - "children": [ - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ], - "declKind": "Accessor", - "usr": "s:14DouShouQiModel4MoveV14rowDestinationSivg", - "mangledName": "$s14DouShouQiModel4MoveV14rowDestinationSivg", - "moduleName": "DouShouQiModel", - "implicit": true, - "accessorKind": "get" - } - ] - }, - { - "kind": "Var", - "name": "columnDestination", - "printedName": "columnDestination", - "children": [ - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ], - "declKind": "Var", - "usr": "s:14DouShouQiModel4MoveV17columnDestinationSivp", - "mangledName": "$s14DouShouQiModel4MoveV17columnDestinationSivp", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "HasStorage", - "AccessControl" - ], - "isLet": true, - "hasStorage": true, - "accessors": [ - { - "kind": "Accessor", - "name": "Get", - "printedName": "Get()", - "children": [ - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ], - "declKind": "Accessor", - "usr": "s:14DouShouQiModel4MoveV17columnDestinationSivg", - "mangledName": "$s14DouShouQiModel4MoveV17columnDestinationSivg", - "moduleName": "DouShouQiModel", - "implicit": true, - "accessorKind": "get" - } - ] - }, - { - "kind": "Constructor", - "name": "init", - "printedName": "init(of:fromRow:andFromColumn:toRow:andToColumn:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Move", - "printedName": "DouShouQiModel.Move", - "usr": "s:14DouShouQiModel4MoveV" - }, - { - "kind": "TypeNominal", - "name": "Owner", - "printedName": "DouShouQiModel.Owner", - "usr": "s:14DouShouQiModel5OwnerO" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ], - "declKind": "Constructor", - "usr": "s:14DouShouQiModel4MoveV2of7fromRow13andFromColumn02toH00i2ToK0AcA5OwnerO_S4itcfc", - "mangledName": "$s14DouShouQiModel4MoveV2of7fromRow13andFromColumn02toH00i2ToK0AcA5OwnerO_S4itcfc", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "init_kind": "Designated" - }, - { - "kind": "Var", - "name": "description", - "printedName": "description", - "children": [ - { - "kind": "TypeNominal", - "name": "String", - "printedName": "Swift.String", - "usr": "s:SS" - } - ], - "declKind": "Var", - "usr": "s:14DouShouQiModel4MoveV11descriptionSSvp", - "mangledName": "$s14DouShouQiModel4MoveV11descriptionSSvp", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "accessors": [ - { - "kind": "Accessor", - "name": "Get", - "printedName": "Get()", - "children": [ - { - "kind": "TypeNominal", - "name": "String", - "printedName": "Swift.String", - "usr": "s:SS" - } - ], - "declKind": "Accessor", - "usr": "s:14DouShouQiModel4MoveV11descriptionSSvg", - "mangledName": "$s14DouShouQiModel4MoveV11descriptionSSvg", - "moduleName": "DouShouQiModel", - "accessorKind": "get" - } - ] - }, - { - "kind": "Function", - "name": "==", - "printedName": "==(_:_:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Bool", - "printedName": "Swift.Bool", - "usr": "s:Sb" - }, - { - "kind": "TypeNominal", - "name": "Move", - "printedName": "DouShouQiModel.Move", - "usr": "s:14DouShouQiModel4MoveV" - }, - { - "kind": "TypeNominal", - "name": "Move", - "printedName": "DouShouQiModel.Move", - "usr": "s:14DouShouQiModel4MoveV" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel4MoveV2eeoiySbAC_ACtFZ", - "mangledName": "$s14DouShouQiModel4MoveV2eeoiySbAC_ACtFZ", - "moduleName": "DouShouQiModel", - "static": true, - "implicit": true, - "funcSelfKind": "NonMutating" - } - ], - "declKind": "Struct", - "usr": "s:14DouShouQiModel4MoveV", - "mangledName": "$s14DouShouQiModel4MoveV", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "conformances": [ - { - "kind": "Conformance", - "name": "CustomStringConvertible", - "printedName": "CustomStringConvertible", - "usr": "s:s23CustomStringConvertibleP", - "mangledName": "$ss23CustomStringConvertibleP" - }, - { - "kind": "Conformance", - "name": "Equatable", - "printedName": "Equatable", - "usr": "s:SQ", - "mangledName": "$sSQ" - } - ] - }, - { - "kind": "Import", - "name": "Foundation", - "printedName": "Foundation", - "declKind": "Import", - "moduleName": "DouShouQiModel" - }, - { - "kind": "TypeDecl", - "name": "Animal", - "printedName": "Animal", - "children": [ - { - "kind": "Var", - "name": "rat", - "printedName": "rat", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.Animal.Type) -> DouShouQiModel.Animal", - "children": [ - { - "kind": "TypeNominal", - "name": "Animal", - "printedName": "DouShouQiModel.Animal", - "usr": "s:14DouShouQiModel6AnimalO" - }, - { - "kind": "TypeNominal", - "name": "Metatype", - "printedName": "DouShouQiModel.Animal.Type", - "children": [ - { - "kind": "TypeNominal", - "name": "Animal", - "printedName": "DouShouQiModel.Animal", - "usr": "s:14DouShouQiModel6AnimalO" - } - ] - } - ] - } - ], - "declKind": "EnumElement", - "usr": "s:14DouShouQiModel6AnimalO3ratyA2CmF", - "mangledName": "$s14DouShouQiModel6AnimalO3ratyA2CmF", - "moduleName": "DouShouQiModel" - }, - { - "kind": "Var", - "name": "cat", - "printedName": "cat", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.Animal.Type) -> DouShouQiModel.Animal", - "children": [ - { - "kind": "TypeNominal", - "name": "Animal", - "printedName": "DouShouQiModel.Animal", - "usr": "s:14DouShouQiModel6AnimalO" - }, - { - "kind": "TypeNominal", - "name": "Metatype", - "printedName": "DouShouQiModel.Animal.Type", - "children": [ - { - "kind": "TypeNominal", - "name": "Animal", - "printedName": "DouShouQiModel.Animal", - "usr": "s:14DouShouQiModel6AnimalO" - } - ] - } - ] - } - ], - "declKind": "EnumElement", - "usr": "s:14DouShouQiModel6AnimalO3catyA2CmF", - "mangledName": "$s14DouShouQiModel6AnimalO3catyA2CmF", - "moduleName": "DouShouQiModel" - }, - { - "kind": "Var", - "name": "dog", - "printedName": "dog", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.Animal.Type) -> DouShouQiModel.Animal", - "children": [ - { - "kind": "TypeNominal", - "name": "Animal", - "printedName": "DouShouQiModel.Animal", - "usr": "s:14DouShouQiModel6AnimalO" - }, - { - "kind": "TypeNominal", - "name": "Metatype", - "printedName": "DouShouQiModel.Animal.Type", - "children": [ - { - "kind": "TypeNominal", - "name": "Animal", - "printedName": "DouShouQiModel.Animal", - "usr": "s:14DouShouQiModel6AnimalO" - } - ] - } - ] - } - ], - "declKind": "EnumElement", - "usr": "s:14DouShouQiModel6AnimalO3dogyA2CmF", - "mangledName": "$s14DouShouQiModel6AnimalO3dogyA2CmF", - "moduleName": "DouShouQiModel" - }, - { - "kind": "Var", - "name": "wolf", - "printedName": "wolf", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.Animal.Type) -> DouShouQiModel.Animal", - "children": [ - { - "kind": "TypeNominal", - "name": "Animal", - "printedName": "DouShouQiModel.Animal", - "usr": "s:14DouShouQiModel6AnimalO" - }, - { - "kind": "TypeNominal", - "name": "Metatype", - "printedName": "DouShouQiModel.Animal.Type", - "children": [ - { - "kind": "TypeNominal", - "name": "Animal", - "printedName": "DouShouQiModel.Animal", - "usr": "s:14DouShouQiModel6AnimalO" - } - ] - } - ] - } - ], - "declKind": "EnumElement", - "usr": "s:14DouShouQiModel6AnimalO4wolfyA2CmF", - "mangledName": "$s14DouShouQiModel6AnimalO4wolfyA2CmF", - "moduleName": "DouShouQiModel" - }, - { - "kind": "Var", - "name": "leopard", - "printedName": "leopard", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.Animal.Type) -> DouShouQiModel.Animal", - "children": [ - { - "kind": "TypeNominal", - "name": "Animal", - "printedName": "DouShouQiModel.Animal", - "usr": "s:14DouShouQiModel6AnimalO" - }, - { - "kind": "TypeNominal", - "name": "Metatype", - "printedName": "DouShouQiModel.Animal.Type", - "children": [ - { - "kind": "TypeNominal", - "name": "Animal", - "printedName": "DouShouQiModel.Animal", - "usr": "s:14DouShouQiModel6AnimalO" - } - ] - } - ] - } - ], - "declKind": "EnumElement", - "usr": "s:14DouShouQiModel6AnimalO7leopardyA2CmF", - "mangledName": "$s14DouShouQiModel6AnimalO7leopardyA2CmF", - "moduleName": "DouShouQiModel" - }, - { - "kind": "Var", - "name": "tiger", - "printedName": "tiger", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.Animal.Type) -> DouShouQiModel.Animal", - "children": [ - { - "kind": "TypeNominal", - "name": "Animal", - "printedName": "DouShouQiModel.Animal", - "usr": "s:14DouShouQiModel6AnimalO" - }, - { - "kind": "TypeNominal", - "name": "Metatype", - "printedName": "DouShouQiModel.Animal.Type", - "children": [ - { - "kind": "TypeNominal", - "name": "Animal", - "printedName": "DouShouQiModel.Animal", - "usr": "s:14DouShouQiModel6AnimalO" - } - ] - } - ] - } - ], - "declKind": "EnumElement", - "usr": "s:14DouShouQiModel6AnimalO5tigeryA2CmF", - "mangledName": "$s14DouShouQiModel6AnimalO5tigeryA2CmF", - "moduleName": "DouShouQiModel" - }, - { - "kind": "Var", - "name": "lion", - "printedName": "lion", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.Animal.Type) -> DouShouQiModel.Animal", - "children": [ - { - "kind": "TypeNominal", - "name": "Animal", - "printedName": "DouShouQiModel.Animal", - "usr": "s:14DouShouQiModel6AnimalO" - }, - { - "kind": "TypeNominal", - "name": "Metatype", - "printedName": "DouShouQiModel.Animal.Type", - "children": [ - { - "kind": "TypeNominal", - "name": "Animal", - "printedName": "DouShouQiModel.Animal", - "usr": "s:14DouShouQiModel6AnimalO" - } - ] - } - ] - } - ], - "declKind": "EnumElement", - "usr": "s:14DouShouQiModel6AnimalO4lionyA2CmF", - "mangledName": "$s14DouShouQiModel6AnimalO4lionyA2CmF", - "moduleName": "DouShouQiModel" - }, - { - "kind": "Var", - "name": "elephant", - "printedName": "elephant", - "children": [ - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.Animal.Type) -> DouShouQiModel.Animal", - "children": [ - { - "kind": "TypeNominal", - "name": "Animal", - "printedName": "DouShouQiModel.Animal", - "usr": "s:14DouShouQiModel6AnimalO" - }, - { - "kind": "TypeNominal", - "name": "Metatype", - "printedName": "DouShouQiModel.Animal.Type", - "children": [ - { - "kind": "TypeNominal", - "name": "Animal", - "printedName": "DouShouQiModel.Animal", - "usr": "s:14DouShouQiModel6AnimalO" - } - ] - } - ] - } - ], - "declKind": "EnumElement", - "usr": "s:14DouShouQiModel6AnimalO8elephantyA2CmF", - "mangledName": "$s14DouShouQiModel6AnimalO8elephantyA2CmF", - "moduleName": "DouShouQiModel" - }, - { - "kind": "Var", - "name": "rawValue", - "printedName": "rawValue", - "children": [ - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ], - "declKind": "Var", - "usr": "s:14DouShouQiModel6AnimalO8rawValueSivp", - "mangledName": "$s14DouShouQiModel6AnimalO8rawValueSivp", - "moduleName": "DouShouQiModel", - "implicit": true, - "accessors": [ - { - "kind": "Accessor", - "name": "Get", - "printedName": "Get()", - "children": [ - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ], - "declKind": "Accessor", - "usr": "s:14DouShouQiModel6AnimalO8rawValueSivg", - "mangledName": "$s14DouShouQiModel6AnimalO8rawValueSivg", - "moduleName": "DouShouQiModel", - "implicit": true, - "accessorKind": "get" - } - ] - }, - { - "kind": "Constructor", - "name": "init", - "printedName": "init(rawValue:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Optional", - "printedName": "DouShouQiModel.Animal?", - "children": [ - { - "kind": "TypeNominal", - "name": "Animal", - "printedName": "DouShouQiModel.Animal", - "usr": "s:14DouShouQiModel6AnimalO" - } - ], - "usr": "s:Sq" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ], - "declKind": "Constructor", - "usr": "s:14DouShouQiModel6AnimalO8rawValueACSgSi_tcfc", - "mangledName": "$s14DouShouQiModel6AnimalO8rawValueACSgSi_tcfc", - "moduleName": "DouShouQiModel", - "implicit": true, - "init_kind": "Designated" - } - ], - "declKind": "Enum", - "usr": "s:14DouShouQiModel6AnimalO", - "mangledName": "$s14DouShouQiModel6AnimalO", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "enumRawTypeName": "Int", - "conformances": [ - { - "kind": "Conformance", - "name": "Equatable", - "printedName": "Equatable", - "usr": "s:SQ", - "mangledName": "$sSQ" - }, - { - "kind": "Conformance", - "name": "Hashable", - "printedName": "Hashable", - "usr": "s:SH", - "mangledName": "$sSH" - }, - { - "kind": "Conformance", - "name": "RawRepresentable", - "printedName": "RawRepresentable", - "children": [ - { - "kind": "TypeWitness", - "name": "RawValue", - "printedName": "RawValue", - "children": [ - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - } - ] - } - ], - "usr": "s:SY", - "mangledName": "$sSY" - } - ] - }, - { - "kind": "Import", - "name": "Foundation", - "printedName": "Foundation", - "declKind": "Import", - "moduleName": "DouShouQiModel" - }, - { - "kind": "TypeDecl", - "name": "Game", - "printedName": "Game", - "children": [ - { - "kind": "Var", - "name": "board", - "printedName": "board", - "children": [ - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - } - ], - "declKind": "Var", - "usr": "s:14DouShouQiModel4GameC5boardAA5BoardVvp", - "mangledName": "$s14DouShouQiModel4GameC5boardAA5BoardVvp", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "HasStorage", - "SetterAccess", - "AccessControl" - ], - "hasStorage": true, - "accessors": [ - { - "kind": "Accessor", - "name": "Get", - "printedName": "Get()", - "children": [ - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - } - ], - "declKind": "Accessor", - "usr": "s:14DouShouQiModel4GameC5boardAA5BoardVvg", - "mangledName": "$s14DouShouQiModel4GameC5boardAA5BoardVvg", - "moduleName": "DouShouQiModel", - "implicit": true, - "accessorKind": "get" - } - ] - }, - { - "kind": "Var", - "name": "rules", - "printedName": "rules", - "children": [ - { - "kind": "TypeNominal", - "name": "Rules", - "printedName": "DouShouQiModel.Rules", - "usr": "s:14DouShouQiModel5RulesP" - } - ], - "declKind": "Var", - "usr": "s:14DouShouQiModel4GameC5rulesAA5Rules_pvp", - "mangledName": "$s14DouShouQiModel4GameC5rulesAA5Rules_pvp", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "HasStorage", - "SetterAccess", - "AccessControl" - ], - "hasStorage": true, - "accessors": [ - { - "kind": "Accessor", - "name": "Get", - "printedName": "Get()", - "children": [ - { - "kind": "TypeNominal", - "name": "Rules", - "printedName": "DouShouQiModel.Rules", - "usr": "s:14DouShouQiModel5RulesP" - } - ], - "declKind": "Accessor", - "usr": "s:14DouShouQiModel4GameC5rulesAA5Rules_pvg", - "mangledName": "$s14DouShouQiModel4GameC5rulesAA5Rules_pvg", - "moduleName": "DouShouQiModel", - "implicit": true, - "accessorKind": "get" - } - ] - }, - { - "kind": "Var", - "name": "players", - "printedName": "players", - "children": [ - { - "kind": "TypeNominal", - "name": "Dictionary", - "printedName": "[DouShouQiModel.Owner : DouShouQiModel.Player]", - "children": [ - { - "kind": "TypeNominal", - "name": "Owner", - "printedName": "DouShouQiModel.Owner", - "usr": "s:14DouShouQiModel5OwnerO" - }, - { - "kind": "TypeNominal", - "name": "Player", - "printedName": "DouShouQiModel.Player", - "usr": "s:14DouShouQiModel6PlayerC" - } - ], - "usr": "s:SD" - } - ], - "declKind": "Var", - "usr": "s:14DouShouQiModel4GameC7playersSDyAA5OwnerOAA6PlayerCGvp", - "mangledName": "$s14DouShouQiModel4GameC7playersSDyAA5OwnerOAA6PlayerCGvp", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "Final", - "HasStorage", - "AccessControl" - ], - "isLet": true, - "hasStorage": true, - "accessors": [ - { - "kind": "Accessor", - "name": "Get", - "printedName": "Get()", - "children": [ - { - "kind": "TypeNominal", - "name": "Dictionary", - "printedName": "[DouShouQiModel.Owner : DouShouQiModel.Player]", - "children": [ - { - "kind": "TypeNominal", - "name": "Owner", - "printedName": "DouShouQiModel.Owner", - "usr": "s:14DouShouQiModel5OwnerO" - }, - { - "kind": "TypeNominal", - "name": "Player", - "printedName": "DouShouQiModel.Player", - "usr": "s:14DouShouQiModel6PlayerC" - } - ], - "usr": "s:SD" - } - ], - "declKind": "Accessor", - "usr": "s:14DouShouQiModel4GameC7playersSDyAA5OwnerOAA6PlayerCGvg", - "mangledName": "$s14DouShouQiModel4GameC7playersSDyAA5OwnerOAA6PlayerCGvg", - "moduleName": "DouShouQiModel", - "implicit": true, - "declAttributes": [ - "Final" - ], - "accessorKind": "get" - } - ] - }, - { - "kind": "Constructor", - "name": "init", - "printedName": "init(withRules:andPlayer1:andPlayer2:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Game", - "printedName": "DouShouQiModel.Game", - "usr": "s:14DouShouQiModel4GameC" - }, - { - "kind": "TypeNominal", - "name": "Rules", - "printedName": "DouShouQiModel.Rules", - "usr": "s:14DouShouQiModel5RulesP" - }, - { - "kind": "TypeNominal", - "name": "Player", - "printedName": "DouShouQiModel.Player", - "usr": "s:14DouShouQiModel6PlayerC" - }, - { - "kind": "TypeNominal", - "name": "Player", - "printedName": "DouShouQiModel.Player", - "usr": "s:14DouShouQiModel6PlayerC" - } - ], - "declKind": "Constructor", - "usr": "s:14DouShouQiModel4GameC9withRules10andPlayer10H7Player2AcA0G0_p_AA6PlayerCAItKcfc", - "mangledName": "$s14DouShouQiModel4GameC9withRules10andPlayer10H7Player2AcA0G0_p_AA6PlayerCAItKcfc", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "throwing": true, - "init_kind": "Designated" - }, - { - "kind": "Constructor", - "name": "init", - "printedName": "init(withBoard:andRules:andPlayer1:andPlayer2:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Game", - "printedName": "DouShouQiModel.Game", - "usr": "s:14DouShouQiModel4GameC" - }, - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - }, - { - "kind": "TypeNominal", - "name": "Rules", - "printedName": "DouShouQiModel.Rules", - "usr": "s:14DouShouQiModel5RulesP" - }, - { - "kind": "TypeNominal", - "name": "Player", - "printedName": "DouShouQiModel.Player", - "usr": "s:14DouShouQiModel6PlayerC" - }, - { - "kind": "TypeNominal", - "name": "Player", - "printedName": "DouShouQiModel.Player", - "usr": "s:14DouShouQiModel6PlayerC" - } - ], - "declKind": "Constructor", - "usr": "s:14DouShouQiModel4GameC9withBoard8andRules0H7Player10H7Player2AcA0G0V_AA0I0_pAA6PlayerCALtKcfc", - "mangledName": "$s14DouShouQiModel4GameC9withBoard8andRules0H7Player10H7Player2AcA0G0V_AA0I0_pAA6PlayerCALtKcfc", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl", - "RawDocComment" - ], - "throwing": true, - "init_kind": "Designated" - }, - { - "kind": "Function", - "name": "addGameStartedListener", - "printedName": "addGameStartedListener(_:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - }, - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.Board) -> ()", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - }, - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - } - ] - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel4GameC03addE15StartedListeneryyyAA5BoardVcF", - "mangledName": "$s14DouShouQiModel4GameC03addE15StartedListeneryyyAA5BoardVcF", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "funcSelfKind": "NonMutating" - }, - { - "kind": "Function", - "name": "addPlayerNotifiedListener", - "printedName": "addPlayerNotifiedListener(_:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - }, - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.Board, DouShouQiModel.Player) async throws -> ()", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - }, - { - "kind": "TypeNominal", - "name": "Tuple", - "printedName": "(DouShouQiModel.Board, DouShouQiModel.Player)", - "children": [ - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - }, - { - "kind": "TypeNominal", - "name": "Player", - "printedName": "DouShouQiModel.Player", - "usr": "s:14DouShouQiModel6PlayerC" - } - ] - } - ] - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel4GameC25addPlayerNotifiedListeneryyyAA5BoardV_AA0G0CtYaKcF", - "mangledName": "$s14DouShouQiModel4GameC25addPlayerNotifiedListeneryyyAA5BoardV_AA0G0CtYaKcF", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "funcSelfKind": "NonMutating" - }, - { - "kind": "Function", - "name": "addGameChangedListener", - "printedName": "addGameChangedListener(_:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - }, - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.Game) async -> ()", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - }, - { - "kind": "TypeNominal", - "name": "Game", - "printedName": "DouShouQiModel.Game", - "usr": "s:14DouShouQiModel4GameC" - } - ] - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel4GameC03addE15ChangedListeneryyyACYacF", - "mangledName": "$s14DouShouQiModel4GameC03addE15ChangedListeneryyyACYacF", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "funcSelfKind": "NonMutating" - }, - { - "kind": "Function", - "name": "addGameOverListener", - "printedName": "addGameOverListener(_:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - }, - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.Board, DouShouQiModel.Result, DouShouQiModel.Player?) -> ()", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - }, - { - "kind": "TypeNominal", - "name": "Tuple", - "printedName": "(DouShouQiModel.Board, DouShouQiModel.Result, DouShouQiModel.Player?)", - "children": [ - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - }, - { - "kind": "TypeNominal", - "name": "Result", - "printedName": "DouShouQiModel.Result", - "usr": "s:14DouShouQiModel6ResultO" - }, - { - "kind": "TypeNominal", - "name": "Optional", - "printedName": "DouShouQiModel.Player?", - "children": [ - { - "kind": "TypeNominal", - "name": "Player", - "printedName": "DouShouQiModel.Player", - "usr": "s:14DouShouQiModel6PlayerC" - } - ], - "usr": "s:Sq" - } - ] - } - ] - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel4GameC03addE12OverListeneryyyAA5BoardV_AA6ResultOAA6PlayerCSgtcF", - "mangledName": "$s14DouShouQiModel4GameC03addE12OverListeneryyyAA5BoardV_AA6ResultOAA6PlayerCSgtcF", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "funcSelfKind": "NonMutating" - }, - { - "kind": "Function", - "name": "addMoveChosenCallbacksListener", - "printedName": "addMoveChosenCallbacksListener(_:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - }, - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.Board, DouShouQiModel.Move, DouShouQiModel.Player) -> ()", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - }, - { - "kind": "TypeNominal", - "name": "Tuple", - "printedName": "(DouShouQiModel.Board, DouShouQiModel.Move, DouShouQiModel.Player)", - "children": [ - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - }, - { - "kind": "TypeNominal", - "name": "Move", - "printedName": "DouShouQiModel.Move", - "usr": "s:14DouShouQiModel4MoveV" - }, - { - "kind": "TypeNominal", - "name": "Player", - "printedName": "DouShouQiModel.Player", - "usr": "s:14DouShouQiModel6PlayerC" - } - ] - } - ] - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel4GameC30addMoveChosenCallbacksListeneryyyAA5BoardV_AA0G0VAA6PlayerCtcF", - "mangledName": "$s14DouShouQiModel4GameC30addMoveChosenCallbacksListeneryyyAA5BoardV_AA0G0VAA6PlayerCtcF", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "funcSelfKind": "NonMutating" - }, - { - "kind": "Function", - "name": "addInvalidMoveCallbacksListener", - "printedName": "addInvalidMoveCallbacksListener(_:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - }, - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.Board, DouShouQiModel.Move, DouShouQiModel.Player, Swift.Bool) -> ()", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - }, - { - "kind": "TypeNominal", - "name": "Tuple", - "printedName": "(DouShouQiModel.Board, DouShouQiModel.Move, DouShouQiModel.Player, Swift.Bool)", - "children": [ - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - }, - { - "kind": "TypeNominal", - "name": "Move", - "printedName": "DouShouQiModel.Move", - "usr": "s:14DouShouQiModel4MoveV" - }, - { - "kind": "TypeNominal", - "name": "Player", - "printedName": "DouShouQiModel.Player", - "usr": "s:14DouShouQiModel6PlayerC" - }, - { - "kind": "TypeNominal", - "name": "Bool", - "printedName": "Swift.Bool", - "usr": "s:Sb" - } - ] - } - ] - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel4GameC31addInvalidMoveCallbacksListeneryyyAA5BoardV_AA0H0VAA6PlayerCSbtcF", - "mangledName": "$s14DouShouQiModel4GameC31addInvalidMoveCallbacksListeneryyyAA5BoardV_AA0H0VAA6PlayerCSbtcF", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "funcSelfKind": "NonMutating" - }, - { - "kind": "Function", - "name": "addBoardChangedListener", - "printedName": "addBoardChangedListener(_:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - }, - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(DouShouQiModel.Board) -> ()", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - }, - { - "kind": "TypeNominal", - "name": "Board", - "printedName": "DouShouQiModel.Board", - "usr": "s:14DouShouQiModel5BoardV" - } - ] - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel4GameC23addBoardChangedListeneryyyAA0G0VcF", - "mangledName": "$s14DouShouQiModel4GameC23addBoardChangedListeneryyyAA0G0VcF", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "funcSelfKind": "NonMutating" - }, - { - "kind": "Function", - "name": "addPieceRemovedListener", - "printedName": "addPieceRemovedListener(_:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - }, - { - "kind": "TypeFunc", - "name": "Function", - "printedName": "(Swift.Int, Swift.Int, DouShouQiModel.Piece) -> ()", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - }, - { - "kind": "TypeNominal", - "name": "Tuple", - "printedName": "(Swift.Int, Swift.Int, DouShouQiModel.Piece)", - "children": [ - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - }, - { - "kind": "TypeNominal", - "name": "Int", - "printedName": "Swift.Int", - "usr": "s:Si" - }, - { - "kind": "TypeNominal", - "name": "Piece", - "printedName": "DouShouQiModel.Piece", - "usr": "s:14DouShouQiModel5PieceV" - } - ] - } - ] - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel4GameC23addPieceRemovedListeneryyySi_SiAA0G0VtcF", - "mangledName": "$s14DouShouQiModel4GameC23addPieceRemovedListeneryyySi_SiAA0G0VtcF", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "funcSelfKind": "NonMutating" - }, - { - "kind": "Function", - "name": "onPlayed", - "printedName": "onPlayed(with:from:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - }, - { - "kind": "TypeNominal", - "name": "Optional", - "printedName": "DouShouQiModel.Move?", - "children": [ - { - "kind": "TypeNominal", - "name": "Move", - "printedName": "DouShouQiModel.Move", - "usr": "s:14DouShouQiModel4MoveV" - } - ], - "usr": "s:Sq" - }, - { - "kind": "TypeNominal", - "name": "Player", - "printedName": "DouShouQiModel.Player", - "usr": "s:14DouShouQiModel6PlayerC" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel4GameC8onPlayed4with4fromyAA4MoveVSg_AA6PlayerCtYaKF", - "mangledName": "$s14DouShouQiModel4GameC8onPlayed4with4fromyAA4MoveVSg_AA6PlayerCtYaKF", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "throwing": true, - "funcSelfKind": "NonMutating" - }, - { - "kind": "Var", - "name": "isOver", - "printedName": "isOver", - "children": [ - { - "kind": "TypeNominal", - "name": "Bool", - "printedName": "Swift.Bool", - "usr": "s:Sb" - } - ], - "declKind": "Var", - "usr": "s:14DouShouQiModel4GameC6isOverSbvp", - "mangledName": "$s14DouShouQiModel4GameC6isOverSbvp", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "HasInitialValue", - "HasStorage", - "SetterAccess", - "AccessControl" - ], - "hasStorage": true, - "accessors": [ - { - "kind": "Accessor", - "name": "Get", - "printedName": "Get()", - "children": [ - { - "kind": "TypeNominal", - "name": "Bool", - "printedName": "Swift.Bool", - "usr": "s:Sb" - } - ], - "declKind": "Accessor", - "usr": "s:14DouShouQiModel4GameC6isOverSbvg", - "mangledName": "$s14DouShouQiModel4GameC6isOverSbvg", - "moduleName": "DouShouQiModel", - "implicit": true, - "accessorKind": "get" - } - ] - }, - { - "kind": "Function", - "name": "start", - "printedName": "start()", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - } - ], - "declKind": "Func", - "usr": "s:14DouShouQiModel4GameC5startyyYaKF", - "mangledName": "$s14DouShouQiModel4GameC5startyyYaKF", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl" - ], - "throwing": true, - "funcSelfKind": "NonMutating" - } - ], - "declKind": "Class", - "usr": "s:14DouShouQiModel4GameC", - "mangledName": "$s14DouShouQiModel4GameC", - "moduleName": "DouShouQiModel", - "declAttributes": [ - "AccessControl", - "RawDocComment" - ] - } - ], - "json_format_version": 8 - }, - "ConstValues": [ - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", - "kind": "IntegerLiteral", - "offset": 81, - "length": 1, - "value": "9" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", - "kind": "IntegerLiteral", - "offset": 111, - "length": 1, - "value": "7" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", - "kind": "IntegerLiteral", - "offset": 148, - "length": 1, - "value": "3" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", - "kind": "IntegerLiteral", - "offset": 3048, - "length": 1, - "value": "0" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", - "kind": "IntegerLiteral", - "offset": 3088, - "length": 1, - "value": "0" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", - "kind": "Array", - "offset": 3941, - "length": 2, - "value": "[]" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", - "kind": "Dictionary", - "offset": 4285, - "length": 3, - "value": "[]" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", - "kind": "Array", - "offset": 4475, - "length": 2, - "value": "[]" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", - "kind": "IntegerLiteral", - "offset": 4517, - "length": 1, - "value": "0" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", - "kind": "IntegerLiteral", - "offset": 4565, - "length": 1, - "value": "0" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", - "kind": "BooleanLiteral", - "offset": 4967, - "length": 5, - "value": "false" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", - "kind": "Array", - "offset": 6169, - "length": 2, - "value": "[]" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", - "kind": "IntegerLiteral", - "offset": 6189, - "length": 1, - "value": "0" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", - "kind": "IntegerLiteral", - "offset": 6229, - "length": 1, - "value": "0" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", - "kind": "IntegerLiteral", - "offset": 9685, - "length": 1, - "value": "0" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", - "kind": "IntegerLiteral", - "offset": 10586, - "length": 1, - "value": "0" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", - "kind": "IntegerLiteral", - "offset": 10906, - "length": 1, - "value": "0" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", - "kind": "IntegerLiteral", - "offset": 11013, - "length": 1, - "value": "0" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", - "kind": "Array", - "offset": 11170, - "length": 2, - "value": "[]" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", - "kind": "IntegerLiteral", - "offset": 11188, - "length": 1, - "value": "0" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", - "kind": "IntegerLiteral", - "offset": 11280, - "length": 1, - "value": "1" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", - "kind": "IntegerLiteral", - "offset": 11325, - "length": 1, - "value": "0" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", - "kind": "IntegerLiteral", - "offset": 11433, - "length": 1, - "value": "1" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", - "kind": "IntegerLiteral", - "offset": 11477, - "length": 1, - "value": "1" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", - "kind": "IntegerLiteral", - "offset": 11569, - "length": 1, - "value": "1" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", - "kind": "IntegerLiteral", - "offset": 11632, - "length": 1, - "value": "1" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", - "kind": "IntegerLiteral", - "offset": 11740, - "length": 1, - "value": "1" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", - "kind": "Array", - "offset": 12266, - "length": 2, - "value": "[]" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", - "kind": "IntegerLiteral", - "offset": 12307, - "length": 1, - "value": "1" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", - "kind": "IntegerLiteral", - "offset": 12319, - "length": 1, - "value": "0" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", - "kind": "IntegerLiteral", - "offset": 12326, - "length": 2, - "value": "-1" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", - "kind": "IntegerLiteral", - "offset": 12703, - "length": 1, - "value": "1" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", - "kind": "IntegerLiteral", - "offset": 12714, - "length": 1, - "value": "0" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", - "kind": "IntegerLiteral", - "offset": 12721, - "length": 2, - "value": "-1" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", - "kind": "IntegerLiteral", - "offset": 13086, - "length": 1, - "value": "1" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", - "kind": "IntegerLiteral", - "offset": 13464, - "length": 1, - "value": "1" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", - "kind": "BooleanLiteral", - "offset": 15597, - "length": 4, - "value": "true" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", - "kind": "IntegerLiteral", - "offset": 15704, - "length": 1, - "value": "0" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", - "kind": "BooleanLiteral", - "offset": 15728, - "length": 4, - "value": "true" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", - "kind": "IntegerLiteral", - "offset": 15845, - "length": 1, - "value": "0" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", - "kind": "BooleanLiteral", - "offset": 15869, - "length": 4, - "value": "true" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", - "kind": "BooleanLiteral", - "offset": 16049, - "length": 4, - "value": "true" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", - "kind": "BooleanLiteral", - "offset": 16149, - "length": 5, - "value": "false" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", - "kind": "IntegerLiteral", - "offset": 16579, - "length": 1, - "value": "0" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", - "kind": "IntegerLiteral", - "offset": 16584, - "length": 1, - "value": "1" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", - "kind": "Dictionary", - "offset": 16948, - "length": 3, - "value": "[]" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/ClassicRules.swift", - "kind": "Array", - "offset": 17004, - "length": 2, - "value": "[]" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Cell.swift", - "kind": "StringLiteral", - "offset": 122, - "length": 81, - "value": "\"\"" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Cell.swift", - "kind": "StringLiteral", - "offset": 147, - "length": 4, - "value": "\"ø\"" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Cell.swift", - "kind": "StringLiteral", - "offset": 152, - "length": 2, - "value": "\" on \"" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Cell.swift", - "kind": "StringLiteral", - "offset": 167, - "length": 1, - "value": "\", \"" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Cell.swift", - "kind": "StringLiteral", - "offset": 202, - "length": 1, - "value": "\"\"" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", - "kind": "IntegerLiteral", - "offset": 89, - "length": 1, - "value": "5" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", - "kind": "IntegerLiteral", - "offset": 119, - "length": 1, - "value": "5" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", - "kind": "IntegerLiteral", - "offset": 2067, - "length": 1, - "value": "0" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", - "kind": "IntegerLiteral", - "offset": 2107, - "length": 1, - "value": "0" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", - "kind": "IntegerLiteral", - "offset": 2267, - "length": 1, - "value": "0" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", - "kind": "IntegerLiteral", - "offset": 2277, - "length": 1, - "value": "2" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", - "kind": "IntegerLiteral", - "offset": 2419, - "length": 1, - "value": "4" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", - "kind": "IntegerLiteral", - "offset": 2429, - "length": 1, - "value": "2" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", - "kind": "IntegerLiteral", - "offset": 2964, - "length": 1, - "value": "0" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", - "kind": "IntegerLiteral", - "offset": 3004, - "length": 1, - "value": "0" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", - "kind": "Array", - "offset": 3773, - "length": 2, - "value": "[]" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", - "kind": "IntegerLiteral", - "offset": 3793, - "length": 1, - "value": "0" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", - "kind": "IntegerLiteral", - "offset": 3833, - "length": 1, - "value": "0" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", - "kind": "BooleanLiteral", - "offset": 4182, - "length": 4, - "value": "true" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", - "kind": "BooleanLiteral", - "offset": 4292, - "length": 5, - "value": "false" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", - "kind": "Array", - "offset": 4531, - "length": 2, - "value": "[]" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", - "kind": "Array", - "offset": 4639, - "length": 2, - "value": "[]" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", - "kind": "IntegerLiteral", - "offset": 4773, - "length": 1, - "value": "1" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", - "kind": "IntegerLiteral", - "offset": 4782, - "length": 1, - "value": "1" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", - "kind": "IntegerLiteral", - "offset": 4800, - "length": 1, - "value": "1" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", - "kind": "IntegerLiteral", - "offset": 4809, - "length": 1, - "value": "1" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", - "kind": "IntegerLiteral", - "offset": 4925, - "length": 1, - "value": "0" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", - "kind": "IntegerLiteral", - "offset": 5013, - "length": 1, - "value": "0" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", - "kind": "BooleanLiteral", - "offset": 6962, - "length": 4, - "value": "true" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", - "kind": "IntegerLiteral", - "offset": 7077, - "length": 1, - "value": "0" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", - "kind": "BooleanLiteral", - "offset": 7105, - "length": 4, - "value": "true" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", - "kind": "IntegerLiteral", - "offset": 7230, - "length": 1, - "value": "0" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", - "kind": "BooleanLiteral", - "offset": 7258, - "length": 4, - "value": "true" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", - "kind": "BooleanLiteral", - "offset": 7350, - "length": 5, - "value": "false" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", - "kind": "Dictionary", - "offset": 8072, - "length": 3, - "value": "[]" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/VerySimpleRules.swift", - "kind": "Array", - "offset": 8128, - "length": 2, - "value": "[]" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Player.swift", - "kind": "Array", - "offset": 418, - "length": 2, - "value": "[]" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Board.swift", - "kind": "BooleanLiteral", - "offset": 475, - "length": 5, - "value": "false" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Board.swift", - "kind": "IntegerLiteral", - "offset": 570, - "length": 1, - "value": "0" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Board.swift", - "kind": "IntegerLiteral", - "offset": 694, - "length": 1, - "value": "0" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Board.swift", - "kind": "IntegerLiteral", - "offset": 981, - "length": 1, - "value": "0" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Board.swift", - "kind": "IntegerLiteral", - "offset": 996, - "length": 1, - "value": "0" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Board.swift", - "kind": "IntegerLiteral", - "offset": 1015, - "length": 1, - "value": "0" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Board.swift", - "kind": "IntegerLiteral", - "offset": 1049, - "length": 1, - "value": "0" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Board.swift", - "kind": "IntegerLiteral", - "offset": 1212, - "length": 1, - "value": "1" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Board.swift", - "kind": "IntegerLiteral", - "offset": 1278, - "length": 1, - "value": "1" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Board.swift", - "kind": "IntegerLiteral", - "offset": 1548, - "length": 1, - "value": "0" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Board.swift", - "kind": "IntegerLiteral", - "offset": 1579, - "length": 1, - "value": "0" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Board.swift", - "kind": "IntegerLiteral", - "offset": 1979, - "length": 1, - "value": "0" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Board.swift", - "kind": "IntegerLiteral", - "offset": 2010, - "length": 1, - "value": "0" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Piece.swift", - "kind": "StringLiteral", - "offset": 122, - "length": 40, - "value": "\"[\"" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Piece.swift", - "kind": "StringLiteral", - "offset": 150, - "length": 1, - "value": "\":\"" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Piece.swift", - "kind": "StringLiteral", - "offset": 160, - "length": 1, - "value": "\"]\"" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Owner.swift", - "kind": "StringLiteral", - "offset": 183, - "length": 3, - "value": "\"x\"" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Owner.swift", - "kind": "StringLiteral", - "offset": 229, - "length": 3, - "value": "\"1\"" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Owner.swift", - "kind": "StringLiteral", - "offset": 275, - "length": 3, - "value": "\"2\"" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Move.swift", - "kind": "StringLiteral", - "offset": 616, - "length": 87, - "value": "\"\"" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Move.swift", - "kind": "StringLiteral", - "offset": 625, - "length": 1, - "value": "\": [\"" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Move.swift", - "kind": "StringLiteral", - "offset": 640, - "length": 1, - "value": "\",\"" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Move.swift", - "kind": "StringLiteral", - "offset": 656, - "length": 1, - "value": "\"] -> [\"" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Move.swift", - "kind": "StringLiteral", - "offset": 679, - "length": 1, - "value": "\", \"" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Move.swift", - "kind": "StringLiteral", - "offset": 701, - "length": 1, - "value": "\"]\"" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", - "kind": "IntegerLiteral", - "offset": 60, - "length": 1, - "value": "1" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", - "kind": "IntegerLiteral", - "offset": 63, - "length": 3, - "value": "2" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", - "kind": "IntegerLiteral", - "offset": 68, - "length": 3, - "value": "3" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", - "kind": "IntegerLiteral", - "offset": 73, - "length": 4, - "value": "4" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", - "kind": "IntegerLiteral", - "offset": 79, - "length": 7, - "value": "5" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", - "kind": "IntegerLiteral", - "offset": 88, - "length": 5, - "value": "6" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", - "kind": "IntegerLiteral", - "offset": 95, - "length": 4, - "value": "7" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", - "kind": "IntegerLiteral", - "offset": 101, - "length": 8, - "value": "8" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", - "kind": "IntegerLiteral", - "offset": 60, - "length": 1, - "value": "1" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", - "kind": "IntegerLiteral", - "offset": 63, - "length": 3, - "value": "2" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", - "kind": "IntegerLiteral", - "offset": 68, - "length": 3, - "value": "3" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", - "kind": "IntegerLiteral", - "offset": 73, - "length": 4, - "value": "4" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", - "kind": "IntegerLiteral", - "offset": 79, - "length": 7, - "value": "5" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", - "kind": "IntegerLiteral", - "offset": 88, - "length": 5, - "value": "6" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", - "kind": "IntegerLiteral", - "offset": 95, - "length": 4, - "value": "7" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", - "kind": "IntegerLiteral", - "offset": 101, - "length": 8, - "value": "8" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", - "kind": "IntegerLiteral", - "offset": 60, - "length": 1, - "value": "1" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", - "kind": "IntegerLiteral", - "offset": 63, - "length": 3, - "value": "2" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", - "kind": "IntegerLiteral", - "offset": 68, - "length": 3, - "value": "3" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", - "kind": "IntegerLiteral", - "offset": 73, - "length": 4, - "value": "4" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", - "kind": "IntegerLiteral", - "offset": 79, - "length": 7, - "value": "5" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", - "kind": "IntegerLiteral", - "offset": 88, - "length": 5, - "value": "6" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", - "kind": "IntegerLiteral", - "offset": 95, - "length": 4, - "value": "7" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Animal.swift", - "kind": "IntegerLiteral", - "offset": 101, - "length": 8, - "value": "8" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Game.swift", - "kind": "StringLiteral", - "offset": 513, - "length": 55, - "value": "\"The ids of players are not .player1 and then .player2\"" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Game.swift", - "kind": "StringLiteral", - "offset": 1483, - "length": 55, - "value": "\"The ids of players are not .player1 and then .player2\"" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Game.swift", - "kind": "Array", - "offset": 1754, - "length": 2, - "value": "[]" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Game.swift", - "kind": "Array", - "offset": 2090, - "length": 2, - "value": "[]" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Game.swift", - "kind": "Array", - "offset": 2582, - "length": 2, - "value": "[]" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Game.swift", - "kind": "Array", - "offset": 3012, - "length": 2, - "value": "[]" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Game.swift", - "kind": "Array", - "offset": 3416, - "length": 2, - "value": "[]" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Game.swift", - "kind": "Array", - "offset": 3827, - "length": 2, - "value": "[]" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Game.swift", - "kind": "Array", - "offset": 4261, - "length": 2, - "value": "[]" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Game.swift", - "kind": "Array", - "offset": 4580, - "length": 2, - "value": "[]" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Game.swift", - "kind": "BooleanLiteral", - "offset": 6361, - "length": 4, - "value": "true" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Game.swift", - "kind": "BooleanLiteral", - "offset": 7044, - "length": 5, - "value": "false" - } - ] -} \ No newline at end of file diff --git a/DouShouQi_App/DSQ.xcframework/macos-arm64_x86_64/DouShouQiModel.framework/Versions/A/Modules/DouShouQiModel.swiftmodule/x86_64-apple-macos.private.swiftinterface b/DouShouQi_App/DSQ.xcframework/macos-arm64_x86_64/DouShouQiModel.framework/Versions/A/Modules/DouShouQiModel.swiftmodule/x86_64-apple-macos.private.swiftinterface deleted file mode 100644 index dc0a8ad..0000000 --- a/DouShouQi_App/DSQ.xcframework/macos-arm64_x86_64/DouShouQiModel.framework/Versions/A/Modules/DouShouQiModel.swiftmodule/x86_64-apple-macos.private.swiftinterface +++ /dev/null @@ -1,266 +0,0 @@ -// swift-interface-format-version: 1.0 -// swift-compiler-version: Apple Swift version 5.9.2 (swiftlang-5.9.2.2.56 clang-1500.1.0.2.5) -// swift-module-flags: -target x86_64-apple-macos13.0 -enable-objc-interop -enable-library-evolution -swift-version 5 -enforce-exclusivity=checked -O -module-name DouShouQiModel -// swift-module-flags-ignorable: -enable-bare-slash-regex -@_exported import DouShouQiModel -import Foundation -import Swift -import _Concurrency -import _StringProcessing -import _SwiftConcurrencyShims -public enum Result : Swift.Equatable { - case notFinished - case even - case winner(winner: DouShouQiModel.Owner, reason: DouShouQiModel.WinningReason) - public static func == (a: DouShouQiModel.Result, b: DouShouQiModel.Result) -> Swift.Bool -} -public enum WinningReason { - case denReached, noMorePieces, tooManyOccurences, noMovesLeft - public static func == (a: DouShouQiModel.WinningReason, b: DouShouQiModel.WinningReason) -> Swift.Bool - public func hash(into hasher: inout Swift.Hasher) - public var hashValue: Swift.Int { - get - } -} -public enum BoardResult : Swift.Equatable { - case unknown - case ok(piece: DouShouQiModel.Piece?) - case failed(reason: DouShouQiModel.BoardFailingReason) - public static func == (a: DouShouQiModel.BoardResult, b: DouShouQiModel.BoardResult) -> Swift.Bool -} -public enum BoardFailingReason { - case unknown, outOfBounds, cellNotEmpty, cellEmpty - public static func == (a: DouShouQiModel.BoardFailingReason, b: DouShouQiModel.BoardFailingReason) -> Swift.Bool - public func hash(into hasher: inout Swift.Hasher) - public var hashValue: Swift.Int { - get - } -} -@_inheritsConvenienceInitializers public class HumanPlayer : DouShouQiModel.Player { - public init?(withName name: Swift.String, andId id: DouShouQiModel.Owner, andInputMethod input: @escaping (_ hp: DouShouQiModel.HumanPlayer) -> DouShouQiModel.Move?) - override public init?(withName name: Swift.String, andId id: DouShouQiModel.Owner) - #if compiler(>=5.3) && $AsyncAwait - override public func chooseMove(in board: DouShouQiModel.Board, with rules: any DouShouQiModel.Rules) async throws - #endif - public func changeInput(input: @escaping (_ hp: DouShouQiModel.HumanPlayer) -> DouShouQiModel.Move?) - #if compiler(>=5.3) && $AsyncAwait - public func chooseMove(_ move: DouShouQiModel.Move?) async throws - #endif - @objc deinit -} -public struct ClassicRules : DouShouQiModel.Rules { - public static func createBoard() -> DouShouQiModel.Board - public static func checkBoard(_ board: DouShouQiModel.Board) throws - public init() - public init(occurences: [DouShouQiModel.Board : Swift.Int], historic: [DouShouQiModel.Move]) - public func getMoves(in board: DouShouQiModel.Board, of owner: DouShouQiModel.Owner) -> [DouShouQiModel.Move] - public func getMoves(in board: DouShouQiModel.Board, of owner: DouShouQiModel.Owner, fromRow row: Swift.Int, andColumn col: Swift.Int) -> [DouShouQiModel.Move] - public func isMoveValid(onBoard board: DouShouQiModel.Board, fromRow originRow: Swift.Int, andFromColumn originColumn: Swift.Int, toRow destinationRow: Swift.Int, andToColumn destinationColumn: Swift.Int) -> Swift.Bool - public func isMoveValid(onBoard board: DouShouQiModel.Board, withMove move: DouShouQiModel.Move) -> Swift.Bool - public func isGameOver(withBoard board: DouShouQiModel.Board, andLastRowPlayed lastRow: Swift.Int, andLastColumnPlayer lastColumn: Swift.Int) -> (Swift.Bool, DouShouQiModel.Result) - public mutating func playedMove(_ move: DouShouQiModel.Move, onStartingBoard board: DouShouQiModel.Board, andResultingBoard resultingBoard: DouShouQiModel.Board) throws - public func getNextPlayer() -> DouShouQiModel.Owner - public var occurences: [DouShouQiModel.Board : Swift.Int] { - get - } - public var historic: [DouShouQiModel.Move] { - get - } -} -public struct Cell : Swift.CustomStringConvertible, Swift.Equatable { - public var description: Swift.String { - get - } - public let cellType: DouShouQiModel.CellType - public let initialOwner: DouShouQiModel.Owner - public var piece: DouShouQiModel.Piece? - public init(ofType cellType: DouShouQiModel.CellType, ownedBy initialOwner: DouShouQiModel.Owner = .noOne, withPiece piece: DouShouQiModel.Piece? = nil) - public static func == (a: DouShouQiModel.Cell, b: DouShouQiModel.Cell) -> Swift.Bool -} -public struct VerySimpleRules : DouShouQiModel.Rules { - public static func createBoard() -> DouShouQiModel.Board - public static func checkBoard(_ board: DouShouQiModel.Board) throws - public init() - public init(occurences: [DouShouQiModel.Board : Swift.Int], historic: [DouShouQiModel.Move]) - public func getMoves(in board: DouShouQiModel.Board, of owner: DouShouQiModel.Owner) -> [DouShouQiModel.Move] - public func getMoves(in board: DouShouQiModel.Board, of owner: DouShouQiModel.Owner, fromRow row: Swift.Int, andColumn col: Swift.Int) -> [DouShouQiModel.Move] - public func isMoveValid(onBoard board: DouShouQiModel.Board, fromRow originRow: Swift.Int, andFromColumn originColumn: Swift.Int, toRow destinationRow: Swift.Int, andToColumn destinationColumn: Swift.Int) -> Swift.Bool - public func isMoveValid(onBoard board: DouShouQiModel.Board, withMove move: DouShouQiModel.Move) -> Swift.Bool - public func isGameOver(withBoard board: DouShouQiModel.Board, andLastRowPlayed lastRow: Swift.Int, andLastColumnPlayer lastColumn: Swift.Int) -> (Swift.Bool, DouShouQiModel.Result) - public mutating func playedMove(_ move: DouShouQiModel.Move, onStartingBoard board: DouShouQiModel.Board, andResultingBoard resultingBoard: DouShouQiModel.Board) throws - public func getNextPlayer() -> DouShouQiModel.Owner - public var occurences: [DouShouQiModel.Board : Swift.Int] { - get - } - public var historic: [DouShouQiModel.Move] { - get - } -} -public protocol Rules { - static func createBoard() -> DouShouQiModel.Board - static func checkBoard(_ board: DouShouQiModel.Board) throws - func getNextPlayer() -> DouShouQiModel.Owner - func getMoves(in board: DouShouQiModel.Board, of: DouShouQiModel.Owner) -> [DouShouQiModel.Move] - func getMoves(in board: DouShouQiModel.Board, of: DouShouQiModel.Owner, fromRow row: Swift.Int, andColumn col: Swift.Int) -> [DouShouQiModel.Move] - func isMoveValid(onBoard: DouShouQiModel.Board, fromRow: Swift.Int, andFromColumn: Swift.Int, toRow: Swift.Int, andToColumn: Swift.Int) -> Swift.Bool - func isMoveValid(onBoard: DouShouQiModel.Board, withMove move: DouShouQiModel.Move) -> Swift.Bool - func isGameOver(withBoard: DouShouQiModel.Board, andLastRowPlayed: Swift.Int, andLastColumnPlayer: Swift.Int) -> (Swift.Bool, DouShouQiModel.Result) - mutating func playedMove(_ move: DouShouQiModel.Move, onStartingBoard board: DouShouQiModel.Board, andResultingBoard resultingBoard: DouShouQiModel.Board) throws - var occurences: [DouShouQiModel.Board : Swift.Int] { get } - var historic: [DouShouQiModel.Move] { get } -} -public class Player { - final public let name: Swift.String - final public let id: DouShouQiModel.Owner - public init?(withName name: Swift.String, andId id: DouShouQiModel.Owner) - #if compiler(>=5.3) && $AsyncAwait - public func chooseMove(in board: DouShouQiModel.Board, with rules: any DouShouQiModel.Rules) async throws - #endif - #if compiler(>=5.3) && $AsyncAwait - public func addPlayedCallbacksListener(_ listener: @escaping (DouShouQiModel.Move?, DouShouQiModel.Player) async throws -> Swift.Void) - #endif - #if compiler(>=5.3) && $AsyncAwait - public func notifyPlayed(withMove move: DouShouQiModel.Move?, andPlayer player: DouShouQiModel.Player) async throws - #endif - @objc deinit -} -public enum GameError : Swift.Error { - case invalidMove, nextPlayerError, badPlayerId(message: Swift.String), invalidRules, invalidPlayer, invalidGame, invalidBoard -} -@_inheritsConvenienceInitializers public class RandomPlayer : DouShouQiModel.IAPlayer { - #if compiler(>=5.3) && $AsyncAwait - override public func chooseMove(in board: DouShouQiModel.Board, with rules: any DouShouQiModel.Rules) async throws - #endif - override public init?(withName name: Swift.String, andId id: DouShouQiModel.Owner) - @objc deinit -} -public enum CellType : Swift.CaseIterable { - case unknown, jungle, water, trap, den - public static func == (a: DouShouQiModel.CellType, b: DouShouQiModel.CellType) -> Swift.Bool - public func hash(into hasher: inout Swift.Hasher) - public typealias AllCases = [DouShouQiModel.CellType] - public static var allCases: [DouShouQiModel.CellType] { - get - } - public var hashValue: Swift.Int { - get - } -} -public struct Board : Swift.Hashable { - public func hash(into hasher: inout Swift.Hasher) - public let nbRows: Swift.Int - public let nbColumns: Swift.Int - public var grid: [[DouShouQiModel.Cell]] { - get - } - public init?(withGrid grid: [[DouShouQiModel.Cell]]) - public func countPieces(of owner: DouShouQiModel.Owner) -> Swift.Int - public func countPieces() -> (nbOfPiecesOfPlayer1: Swift.Int, nbOfPiecesOfPlayer2: Swift.Int) - public mutating func insert(piece: DouShouQiModel.Piece, atRow row: Swift.Int, andColumn column: Swift.Int) -> DouShouQiModel.BoardResult - public mutating func removePiece(atRow row: Swift.Int, andColumn column: Swift.Int) -> DouShouQiModel.BoardResult - public static func == (a: DouShouQiModel.Board, b: DouShouQiModel.Board) -> Swift.Bool - public var hashValue: Swift.Int { - get - } -} -public struct Piece : Swift.CustomStringConvertible, Swift.Hashable { - public var description: Swift.String { - get - } - public let owner: DouShouQiModel.Owner - public let animal: DouShouQiModel.Animal - public init(withOwner owner: DouShouQiModel.Owner, andAnimal animal: DouShouQiModel.Animal) - public func hash(into hasher: inout Swift.Hasher) - public static func == (a: DouShouQiModel.Piece, b: DouShouQiModel.Piece) -> Swift.Bool - public var hashValue: Swift.Int { - get - } -} -public enum InvalidBoardError : Swift.Error, Swift.Equatable { - case unknownError - case badDimensions(nbRows: Swift.Int, nbColumns: Swift.Int) - case badCellType(cellType: DouShouQiModel.CellType, row: Swift.Int, column: Swift.Int) - case multipleOccurenceOfSamePiece(piece: DouShouQiModel.Piece) - case pieceWithNoOwner(piece: DouShouQiModel.Piece) - case pieceNotAllowedOnThisCell(piece: DouShouQiModel.Piece, cell: DouShouQiModel.Cell) - public static func == (a: DouShouQiModel.InvalidBoardError, b: DouShouQiModel.InvalidBoardError) -> Swift.Bool -} -public enum Owner { - case noOne, player1, player2 - public var simpleDescription: Swift.String { - get - } - public static func == (a: DouShouQiModel.Owner, b: DouShouQiModel.Owner) -> Swift.Bool - public func hash(into hasher: inout Swift.Hasher) - public var hashValue: Swift.Int { - get - } -} -@_inheritsConvenienceInitializers public class IAPlayer : DouShouQiModel.Player { - override public init?(withName name: Swift.String, andId id: DouShouQiModel.Owner) - @objc deinit -} -public struct Move : Swift.CustomStringConvertible, Swift.Equatable { - public let owner: DouShouQiModel.Owner - public let rowOrigin: Swift.Int - public let columnOrigin: Swift.Int - public let rowDestination: Swift.Int - public let columnDestination: Swift.Int - public init(of owner: DouShouQiModel.Owner, fromRow rowOrigin: Swift.Int, andFromColumn colOrigin: Swift.Int, toRow rowDest: Swift.Int, andToColumn colDest: Swift.Int) - public var description: Swift.String { - get - } - public static func == (a: DouShouQiModel.Move, b: DouShouQiModel.Move) -> Swift.Bool -} -public enum Animal : Swift.Int { - case rat, cat, dog, wolf, leopard, tiger, lion, elephant - public init?(rawValue: Swift.Int) - public typealias RawValue = Swift.Int - public var rawValue: Swift.Int { - get - } -} -public class Game { - public var board: DouShouQiModel.Board { - get - } - public var rules: any DouShouQiModel.Rules { - get - } - final public let players: [DouShouQiModel.Owner : DouShouQiModel.Player] - public init(withRules rules: any DouShouQiModel.Rules, andPlayer1 player1: DouShouQiModel.Player, andPlayer2 player2: DouShouQiModel.Player) throws - public init(withBoard board: DouShouQiModel.Board, andRules rules: any DouShouQiModel.Rules, andPlayer1 player1: DouShouQiModel.Player, andPlayer2 player2: DouShouQiModel.Player) throws - public func addGameStartedListener(_ listener: @escaping (DouShouQiModel.Board) -> Swift.Void) - #if compiler(>=5.3) && $AsyncAwait - public func addPlayerNotifiedListener(_ listener: @escaping (DouShouQiModel.Board, DouShouQiModel.Player) async throws -> Swift.Void) - #endif - #if compiler(>=5.3) && $AsyncAwait - public func addGameChangedListener(_ listener: @escaping (DouShouQiModel.Game) async -> Swift.Void) - #endif - public func addGameOverListener(_ listener: @escaping (DouShouQiModel.Board, DouShouQiModel.Result, DouShouQiModel.Player?) -> Swift.Void) - public func addMoveChosenCallbacksListener(_ listener: @escaping (DouShouQiModel.Board, DouShouQiModel.Move, DouShouQiModel.Player) -> Swift.Void) - public func addInvalidMoveCallbacksListener(_ listener: @escaping (DouShouQiModel.Board, DouShouQiModel.Move, DouShouQiModel.Player, Swift.Bool) -> Swift.Void) - public func addBoardChangedListener(_ listener: @escaping (DouShouQiModel.Board) -> Swift.Void) - public func addPieceRemovedListener(_ listener: @escaping (Swift.Int, Swift.Int, DouShouQiModel.Piece) -> Swift.Void) - #if compiler(>=5.3) && $AsyncAwait - public func onPlayed(with move: DouShouQiModel.Move?, from player: DouShouQiModel.Player) async throws - #endif - public var isOver: Swift.Bool { - get - } - #if compiler(>=5.3) && $AsyncAwait - public func start() async throws - #endif - @objc deinit -} -extension DouShouQiModel.WinningReason : Swift.Equatable {} -extension DouShouQiModel.WinningReason : Swift.Hashable {} -extension DouShouQiModel.BoardFailingReason : Swift.Equatable {} -extension DouShouQiModel.BoardFailingReason : Swift.Hashable {} -extension DouShouQiModel.CellType : Swift.Equatable {} -extension DouShouQiModel.CellType : Swift.Hashable {} -extension DouShouQiModel.Owner : Swift.Equatable {} -extension DouShouQiModel.Owner : Swift.Hashable {} -extension DouShouQiModel.Animal : Swift.Equatable {} -extension DouShouQiModel.Animal : Swift.Hashable {} -extension DouShouQiModel.Animal : Swift.RawRepresentable {} diff --git a/DouShouQi_App/DSQ.xcframework/macos-arm64_x86_64/DouShouQiModel.framework/Versions/A/Modules/DouShouQiModel.swiftmodule/x86_64-apple-macos.swiftdoc b/DouShouQi_App/DSQ.xcframework/macos-arm64_x86_64/DouShouQiModel.framework/Versions/A/Modules/DouShouQiModel.swiftmodule/x86_64-apple-macos.swiftdoc deleted file mode 100644 index 769dad0..0000000 Binary files a/DouShouQi_App/DSQ.xcframework/macos-arm64_x86_64/DouShouQiModel.framework/Versions/A/Modules/DouShouQiModel.swiftmodule/x86_64-apple-macos.swiftdoc and /dev/null differ diff --git a/DouShouQi_App/DSQ.xcframework/macos-arm64_x86_64/DouShouQiModel.framework/Versions/A/Modules/DouShouQiModel.swiftmodule/x86_64-apple-macos.swiftinterface b/DouShouQi_App/DSQ.xcframework/macos-arm64_x86_64/DouShouQiModel.framework/Versions/A/Modules/DouShouQiModel.swiftmodule/x86_64-apple-macos.swiftinterface deleted file mode 100644 index dc0a8ad..0000000 --- a/DouShouQi_App/DSQ.xcframework/macos-arm64_x86_64/DouShouQiModel.framework/Versions/A/Modules/DouShouQiModel.swiftmodule/x86_64-apple-macos.swiftinterface +++ /dev/null @@ -1,266 +0,0 @@ -// swift-interface-format-version: 1.0 -// swift-compiler-version: Apple Swift version 5.9.2 (swiftlang-5.9.2.2.56 clang-1500.1.0.2.5) -// swift-module-flags: -target x86_64-apple-macos13.0 -enable-objc-interop -enable-library-evolution -swift-version 5 -enforce-exclusivity=checked -O -module-name DouShouQiModel -// swift-module-flags-ignorable: -enable-bare-slash-regex -@_exported import DouShouQiModel -import Foundation -import Swift -import _Concurrency -import _StringProcessing -import _SwiftConcurrencyShims -public enum Result : Swift.Equatable { - case notFinished - case even - case winner(winner: DouShouQiModel.Owner, reason: DouShouQiModel.WinningReason) - public static func == (a: DouShouQiModel.Result, b: DouShouQiModel.Result) -> Swift.Bool -} -public enum WinningReason { - case denReached, noMorePieces, tooManyOccurences, noMovesLeft - public static func == (a: DouShouQiModel.WinningReason, b: DouShouQiModel.WinningReason) -> Swift.Bool - public func hash(into hasher: inout Swift.Hasher) - public var hashValue: Swift.Int { - get - } -} -public enum BoardResult : Swift.Equatable { - case unknown - case ok(piece: DouShouQiModel.Piece?) - case failed(reason: DouShouQiModel.BoardFailingReason) - public static func == (a: DouShouQiModel.BoardResult, b: DouShouQiModel.BoardResult) -> Swift.Bool -} -public enum BoardFailingReason { - case unknown, outOfBounds, cellNotEmpty, cellEmpty - public static func == (a: DouShouQiModel.BoardFailingReason, b: DouShouQiModel.BoardFailingReason) -> Swift.Bool - public func hash(into hasher: inout Swift.Hasher) - public var hashValue: Swift.Int { - get - } -} -@_inheritsConvenienceInitializers public class HumanPlayer : DouShouQiModel.Player { - public init?(withName name: Swift.String, andId id: DouShouQiModel.Owner, andInputMethod input: @escaping (_ hp: DouShouQiModel.HumanPlayer) -> DouShouQiModel.Move?) - override public init?(withName name: Swift.String, andId id: DouShouQiModel.Owner) - #if compiler(>=5.3) && $AsyncAwait - override public func chooseMove(in board: DouShouQiModel.Board, with rules: any DouShouQiModel.Rules) async throws - #endif - public func changeInput(input: @escaping (_ hp: DouShouQiModel.HumanPlayer) -> DouShouQiModel.Move?) - #if compiler(>=5.3) && $AsyncAwait - public func chooseMove(_ move: DouShouQiModel.Move?) async throws - #endif - @objc deinit -} -public struct ClassicRules : DouShouQiModel.Rules { - public static func createBoard() -> DouShouQiModel.Board - public static func checkBoard(_ board: DouShouQiModel.Board) throws - public init() - public init(occurences: [DouShouQiModel.Board : Swift.Int], historic: [DouShouQiModel.Move]) - public func getMoves(in board: DouShouQiModel.Board, of owner: DouShouQiModel.Owner) -> [DouShouQiModel.Move] - public func getMoves(in board: DouShouQiModel.Board, of owner: DouShouQiModel.Owner, fromRow row: Swift.Int, andColumn col: Swift.Int) -> [DouShouQiModel.Move] - public func isMoveValid(onBoard board: DouShouQiModel.Board, fromRow originRow: Swift.Int, andFromColumn originColumn: Swift.Int, toRow destinationRow: Swift.Int, andToColumn destinationColumn: Swift.Int) -> Swift.Bool - public func isMoveValid(onBoard board: DouShouQiModel.Board, withMove move: DouShouQiModel.Move) -> Swift.Bool - public func isGameOver(withBoard board: DouShouQiModel.Board, andLastRowPlayed lastRow: Swift.Int, andLastColumnPlayer lastColumn: Swift.Int) -> (Swift.Bool, DouShouQiModel.Result) - public mutating func playedMove(_ move: DouShouQiModel.Move, onStartingBoard board: DouShouQiModel.Board, andResultingBoard resultingBoard: DouShouQiModel.Board) throws - public func getNextPlayer() -> DouShouQiModel.Owner - public var occurences: [DouShouQiModel.Board : Swift.Int] { - get - } - public var historic: [DouShouQiModel.Move] { - get - } -} -public struct Cell : Swift.CustomStringConvertible, Swift.Equatable { - public var description: Swift.String { - get - } - public let cellType: DouShouQiModel.CellType - public let initialOwner: DouShouQiModel.Owner - public var piece: DouShouQiModel.Piece? - public init(ofType cellType: DouShouQiModel.CellType, ownedBy initialOwner: DouShouQiModel.Owner = .noOne, withPiece piece: DouShouQiModel.Piece? = nil) - public static func == (a: DouShouQiModel.Cell, b: DouShouQiModel.Cell) -> Swift.Bool -} -public struct VerySimpleRules : DouShouQiModel.Rules { - public static func createBoard() -> DouShouQiModel.Board - public static func checkBoard(_ board: DouShouQiModel.Board) throws - public init() - public init(occurences: [DouShouQiModel.Board : Swift.Int], historic: [DouShouQiModel.Move]) - public func getMoves(in board: DouShouQiModel.Board, of owner: DouShouQiModel.Owner) -> [DouShouQiModel.Move] - public func getMoves(in board: DouShouQiModel.Board, of owner: DouShouQiModel.Owner, fromRow row: Swift.Int, andColumn col: Swift.Int) -> [DouShouQiModel.Move] - public func isMoveValid(onBoard board: DouShouQiModel.Board, fromRow originRow: Swift.Int, andFromColumn originColumn: Swift.Int, toRow destinationRow: Swift.Int, andToColumn destinationColumn: Swift.Int) -> Swift.Bool - public func isMoveValid(onBoard board: DouShouQiModel.Board, withMove move: DouShouQiModel.Move) -> Swift.Bool - public func isGameOver(withBoard board: DouShouQiModel.Board, andLastRowPlayed lastRow: Swift.Int, andLastColumnPlayer lastColumn: Swift.Int) -> (Swift.Bool, DouShouQiModel.Result) - public mutating func playedMove(_ move: DouShouQiModel.Move, onStartingBoard board: DouShouQiModel.Board, andResultingBoard resultingBoard: DouShouQiModel.Board) throws - public func getNextPlayer() -> DouShouQiModel.Owner - public var occurences: [DouShouQiModel.Board : Swift.Int] { - get - } - public var historic: [DouShouQiModel.Move] { - get - } -} -public protocol Rules { - static func createBoard() -> DouShouQiModel.Board - static func checkBoard(_ board: DouShouQiModel.Board) throws - func getNextPlayer() -> DouShouQiModel.Owner - func getMoves(in board: DouShouQiModel.Board, of: DouShouQiModel.Owner) -> [DouShouQiModel.Move] - func getMoves(in board: DouShouQiModel.Board, of: DouShouQiModel.Owner, fromRow row: Swift.Int, andColumn col: Swift.Int) -> [DouShouQiModel.Move] - func isMoveValid(onBoard: DouShouQiModel.Board, fromRow: Swift.Int, andFromColumn: Swift.Int, toRow: Swift.Int, andToColumn: Swift.Int) -> Swift.Bool - func isMoveValid(onBoard: DouShouQiModel.Board, withMove move: DouShouQiModel.Move) -> Swift.Bool - func isGameOver(withBoard: DouShouQiModel.Board, andLastRowPlayed: Swift.Int, andLastColumnPlayer: Swift.Int) -> (Swift.Bool, DouShouQiModel.Result) - mutating func playedMove(_ move: DouShouQiModel.Move, onStartingBoard board: DouShouQiModel.Board, andResultingBoard resultingBoard: DouShouQiModel.Board) throws - var occurences: [DouShouQiModel.Board : Swift.Int] { get } - var historic: [DouShouQiModel.Move] { get } -} -public class Player { - final public let name: Swift.String - final public let id: DouShouQiModel.Owner - public init?(withName name: Swift.String, andId id: DouShouQiModel.Owner) - #if compiler(>=5.3) && $AsyncAwait - public func chooseMove(in board: DouShouQiModel.Board, with rules: any DouShouQiModel.Rules) async throws - #endif - #if compiler(>=5.3) && $AsyncAwait - public func addPlayedCallbacksListener(_ listener: @escaping (DouShouQiModel.Move?, DouShouQiModel.Player) async throws -> Swift.Void) - #endif - #if compiler(>=5.3) && $AsyncAwait - public func notifyPlayed(withMove move: DouShouQiModel.Move?, andPlayer player: DouShouQiModel.Player) async throws - #endif - @objc deinit -} -public enum GameError : Swift.Error { - case invalidMove, nextPlayerError, badPlayerId(message: Swift.String), invalidRules, invalidPlayer, invalidGame, invalidBoard -} -@_inheritsConvenienceInitializers public class RandomPlayer : DouShouQiModel.IAPlayer { - #if compiler(>=5.3) && $AsyncAwait - override public func chooseMove(in board: DouShouQiModel.Board, with rules: any DouShouQiModel.Rules) async throws - #endif - override public init?(withName name: Swift.String, andId id: DouShouQiModel.Owner) - @objc deinit -} -public enum CellType : Swift.CaseIterable { - case unknown, jungle, water, trap, den - public static func == (a: DouShouQiModel.CellType, b: DouShouQiModel.CellType) -> Swift.Bool - public func hash(into hasher: inout Swift.Hasher) - public typealias AllCases = [DouShouQiModel.CellType] - public static var allCases: [DouShouQiModel.CellType] { - get - } - public var hashValue: Swift.Int { - get - } -} -public struct Board : Swift.Hashable { - public func hash(into hasher: inout Swift.Hasher) - public let nbRows: Swift.Int - public let nbColumns: Swift.Int - public var grid: [[DouShouQiModel.Cell]] { - get - } - public init?(withGrid grid: [[DouShouQiModel.Cell]]) - public func countPieces(of owner: DouShouQiModel.Owner) -> Swift.Int - public func countPieces() -> (nbOfPiecesOfPlayer1: Swift.Int, nbOfPiecesOfPlayer2: Swift.Int) - public mutating func insert(piece: DouShouQiModel.Piece, atRow row: Swift.Int, andColumn column: Swift.Int) -> DouShouQiModel.BoardResult - public mutating func removePiece(atRow row: Swift.Int, andColumn column: Swift.Int) -> DouShouQiModel.BoardResult - public static func == (a: DouShouQiModel.Board, b: DouShouQiModel.Board) -> Swift.Bool - public var hashValue: Swift.Int { - get - } -} -public struct Piece : Swift.CustomStringConvertible, Swift.Hashable { - public var description: Swift.String { - get - } - public let owner: DouShouQiModel.Owner - public let animal: DouShouQiModel.Animal - public init(withOwner owner: DouShouQiModel.Owner, andAnimal animal: DouShouQiModel.Animal) - public func hash(into hasher: inout Swift.Hasher) - public static func == (a: DouShouQiModel.Piece, b: DouShouQiModel.Piece) -> Swift.Bool - public var hashValue: Swift.Int { - get - } -} -public enum InvalidBoardError : Swift.Error, Swift.Equatable { - case unknownError - case badDimensions(nbRows: Swift.Int, nbColumns: Swift.Int) - case badCellType(cellType: DouShouQiModel.CellType, row: Swift.Int, column: Swift.Int) - case multipleOccurenceOfSamePiece(piece: DouShouQiModel.Piece) - case pieceWithNoOwner(piece: DouShouQiModel.Piece) - case pieceNotAllowedOnThisCell(piece: DouShouQiModel.Piece, cell: DouShouQiModel.Cell) - public static func == (a: DouShouQiModel.InvalidBoardError, b: DouShouQiModel.InvalidBoardError) -> Swift.Bool -} -public enum Owner { - case noOne, player1, player2 - public var simpleDescription: Swift.String { - get - } - public static func == (a: DouShouQiModel.Owner, b: DouShouQiModel.Owner) -> Swift.Bool - public func hash(into hasher: inout Swift.Hasher) - public var hashValue: Swift.Int { - get - } -} -@_inheritsConvenienceInitializers public class IAPlayer : DouShouQiModel.Player { - override public init?(withName name: Swift.String, andId id: DouShouQiModel.Owner) - @objc deinit -} -public struct Move : Swift.CustomStringConvertible, Swift.Equatable { - public let owner: DouShouQiModel.Owner - public let rowOrigin: Swift.Int - public let columnOrigin: Swift.Int - public let rowDestination: Swift.Int - public let columnDestination: Swift.Int - public init(of owner: DouShouQiModel.Owner, fromRow rowOrigin: Swift.Int, andFromColumn colOrigin: Swift.Int, toRow rowDest: Swift.Int, andToColumn colDest: Swift.Int) - public var description: Swift.String { - get - } - public static func == (a: DouShouQiModel.Move, b: DouShouQiModel.Move) -> Swift.Bool -} -public enum Animal : Swift.Int { - case rat, cat, dog, wolf, leopard, tiger, lion, elephant - public init?(rawValue: Swift.Int) - public typealias RawValue = Swift.Int - public var rawValue: Swift.Int { - get - } -} -public class Game { - public var board: DouShouQiModel.Board { - get - } - public var rules: any DouShouQiModel.Rules { - get - } - final public let players: [DouShouQiModel.Owner : DouShouQiModel.Player] - public init(withRules rules: any DouShouQiModel.Rules, andPlayer1 player1: DouShouQiModel.Player, andPlayer2 player2: DouShouQiModel.Player) throws - public init(withBoard board: DouShouQiModel.Board, andRules rules: any DouShouQiModel.Rules, andPlayer1 player1: DouShouQiModel.Player, andPlayer2 player2: DouShouQiModel.Player) throws - public func addGameStartedListener(_ listener: @escaping (DouShouQiModel.Board) -> Swift.Void) - #if compiler(>=5.3) && $AsyncAwait - public func addPlayerNotifiedListener(_ listener: @escaping (DouShouQiModel.Board, DouShouQiModel.Player) async throws -> Swift.Void) - #endif - #if compiler(>=5.3) && $AsyncAwait - public func addGameChangedListener(_ listener: @escaping (DouShouQiModel.Game) async -> Swift.Void) - #endif - public func addGameOverListener(_ listener: @escaping (DouShouQiModel.Board, DouShouQiModel.Result, DouShouQiModel.Player?) -> Swift.Void) - public func addMoveChosenCallbacksListener(_ listener: @escaping (DouShouQiModel.Board, DouShouQiModel.Move, DouShouQiModel.Player) -> Swift.Void) - public func addInvalidMoveCallbacksListener(_ listener: @escaping (DouShouQiModel.Board, DouShouQiModel.Move, DouShouQiModel.Player, Swift.Bool) -> Swift.Void) - public func addBoardChangedListener(_ listener: @escaping (DouShouQiModel.Board) -> Swift.Void) - public func addPieceRemovedListener(_ listener: @escaping (Swift.Int, Swift.Int, DouShouQiModel.Piece) -> Swift.Void) - #if compiler(>=5.3) && $AsyncAwait - public func onPlayed(with move: DouShouQiModel.Move?, from player: DouShouQiModel.Player) async throws - #endif - public var isOver: Swift.Bool { - get - } - #if compiler(>=5.3) && $AsyncAwait - public func start() async throws - #endif - @objc deinit -} -extension DouShouQiModel.WinningReason : Swift.Equatable {} -extension DouShouQiModel.WinningReason : Swift.Hashable {} -extension DouShouQiModel.BoardFailingReason : Swift.Equatable {} -extension DouShouQiModel.BoardFailingReason : Swift.Hashable {} -extension DouShouQiModel.CellType : Swift.Equatable {} -extension DouShouQiModel.CellType : Swift.Hashable {} -extension DouShouQiModel.Owner : Swift.Equatable {} -extension DouShouQiModel.Owner : Swift.Hashable {} -extension DouShouQiModel.Animal : Swift.Equatable {} -extension DouShouQiModel.Animal : Swift.Hashable {} -extension DouShouQiModel.Animal : Swift.RawRepresentable {} diff --git a/DouShouQi_App/DSQ.xcframework/macos-arm64_x86_64/DouShouQiModel.framework/Versions/A/Modules/module.modulemap b/DouShouQi_App/DSQ.xcframework/macos-arm64_x86_64/DouShouQiModel.framework/Versions/A/Modules/module.modulemap deleted file mode 100644 index e7aa10a..0000000 --- a/DouShouQi_App/DSQ.xcframework/macos-arm64_x86_64/DouShouQiModel.framework/Versions/A/Modules/module.modulemap +++ /dev/null @@ -1,11 +0,0 @@ -framework module DouShouQiModel { - umbrella header "DouShouQiModel.h" - export * - - module * { export * } -} - -module DouShouQiModel.Swift { - header "DouShouQiModel-Swift.h" - requires objc -} diff --git a/DouShouQi_App/DSQ.xcframework/macos-arm64_x86_64/DouShouQiModel.framework/Versions/A/Resources/Info.plist b/DouShouQi_App/DSQ.xcframework/macos-arm64_x86_64/DouShouQiModel.framework/Versions/A/Resources/Info.plist deleted file mode 100644 index 7d58232..0000000 --- a/DouShouQi_App/DSQ.xcframework/macos-arm64_x86_64/DouShouQiModel.framework/Versions/A/Resources/Info.plist +++ /dev/null @@ -1,46 +0,0 @@ - - - - - BuildMachineOSBuild - 23E224 - CFBundleDevelopmentRegion - en - CFBundleExecutable - DouShouQiModel - CFBundleIdentifier - fr.uca.iut.DouShouQiModel - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - DouShouQiModel - CFBundlePackageType - FMWK - CFBundleShortVersionString - 1.0 - CFBundleSupportedPlatforms - - MacOSX - - CFBundleVersion - 1 - DTCompiler - com.apple.compilers.llvm.clang.1_0 - DTPlatformBuild - - DTPlatformName - macosx - DTPlatformVersion - 14.2 - DTSDKBuild - 23C53 - DTSDKName - macosx14.2 - DTXcode - 1520 - DTXcodeBuild - 15C500b - LSMinimumSystemVersion - 13.0 - - diff --git a/DouShouQi_App/DSQ.xcframework/macos-arm64_x86_64/DouShouQiModel.framework/Versions/Current b/DouShouQi_App/DSQ.xcframework/macos-arm64_x86_64/DouShouQiModel.framework/Versions/Current deleted file mode 120000 index 8c7e5a6..0000000 --- a/DouShouQi_App/DSQ.xcframework/macos-arm64_x86_64/DouShouQiModel.framework/Versions/Current +++ /dev/null @@ -1 +0,0 @@ -A \ No newline at end of file diff --git a/DouShouQi_App/DouShouQi_App.xcodeproj/project.pbxproj b/DouShouQi_App/DouShouQi_App.xcodeproj/project.pbxproj index 5396fa3..d92e6d4 100644 --- a/DouShouQi_App/DouShouQi_App.xcodeproj/project.pbxproj +++ b/DouShouQi_App/DouShouQi_App.xcodeproj/project.pbxproj @@ -7,6 +7,7 @@ objects = { /* Begin PBXBuildFile section */ + 6437FF132C25846F009D0EAF /* PlayingGameVM.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6437FF122C25846F009D0EAF /* PlayingGameVM.swift */; }; 6458345C2BF5F92300E18321 /* DouShouQi_AppApp.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6458345B2BF5F92300E18321 /* DouShouQi_AppApp.swift */; }; 6458345E2BF5F92300E18321 /* ContentView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6458345D2BF5F92300E18321 /* ContentView.swift */; }; 645834602BF5F92500E18321 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 6458345F2BF5F92500E18321 /* Assets.xcassets */; }; @@ -16,6 +17,10 @@ 645834792BF5F92600E18321 /* DouShouQi_AppUITestsLaunchTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 645834782BF5F92600E18321 /* DouShouQi_AppUITestsLaunchTests.swift */; }; 645B4C202BFCCA0500FD658A /* PlayerScoreResumeFrame.swift in Sources */ = {isa = PBXBuildFile; fileRef = 645B4C1F2BFCCA0500FD658A /* PlayerScoreResumeFrame.swift */; }; 645B4C252BFCD3C600FD658A /* ScoreBoardView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 645B4C242BFCD3C600FD658A /* ScoreBoardView.swift */; }; + 646F04BE2C0F54C0003C8600 /* SettingsVM.swift in Sources */ = {isa = PBXBuildFile; fileRef = 646F04BD2C0F54C0003C8600 /* SettingsVM.swift */; }; + 646F04C12C0F5C11003C8600 /* Language.swift in Sources */ = {isa = PBXBuildFile; fileRef = 646F04C02C0F5C11003C8600 /* Language.swift */; }; + 646FA83E2C072340001466BA /* GameVM.swift in Sources */ = {isa = PBXBuildFile; fileRef = 646FA83D2C072340001466BA /* GameVM.swift */; }; + 646FA8432C0730D6001466BA /* HistoricVM.swift in Sources */ = {isa = PBXBuildFile; fileRef = 646FA8422C0730D6001466BA /* HistoricVM.swift */; }; 647D565C2BFD0212008D02EA /* PlayerResumeFrame.swift in Sources */ = {isa = PBXBuildFile; fileRef = 647D565B2BFD0212008D02EA /* PlayerResumeFrame.swift */; }; 6493C1C02C046BF900B5121D /* samurai.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 6493C1BF2C046BF900B5121D /* samurai.ttf */; }; 6493C1C22C046E5E00B5121D /* Fonts.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6493C1C12C046E5E00B5121D /* Fonts.swift */; }; @@ -26,6 +31,7 @@ 649B59AE2BF64EAB002BAE38 /* AppImages.swift in Sources */ = {isa = PBXBuildFile; fileRef = 649B59AD2BF64EAB002BAE38 /* AppImages.swift */; }; 649B59B22BF65392002BAE38 /* TextStyles.swift in Sources */ = {isa = PBXBuildFile; fileRef = 649B59B12BF65392002BAE38 /* TextStyles.swift */; }; 649B59B42BF653E1002BAE38 /* ViewTitleTextStyle.swift in Sources */ = {isa = PBXBuildFile; fileRef = 649B59B32BF653E1002BAE38 /* ViewTitleTextStyle.swift */; }; + 64D2D74E2C25D380009BD010 /* Animals.Symbols.swift in Sources */ = {isa = PBXBuildFile; fileRef = 64D2D74D2C25D380009BD010 /* Animals.Symbols.swift */; }; 64D992722C06281B002ACBC6 /* SystemIcons.swift in Sources */ = {isa = PBXBuildFile; fileRef = 64D992712C06281B002ACBC6 /* SystemIcons.swift */; }; 64FC4D692C09C78000D08B8B /* SelectPlayerView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 64FC4D682C09C78000D08B8B /* SelectPlayerView.swift */; }; 64FC4D6B2C09C7C900D08B8B /* SelectPlayerButtonView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 64FC4D6A2C09C7C900D08B8B /* SelectPlayerButtonView.swift */; }; @@ -37,6 +43,7 @@ EC05BFC82C04D832000F7B19 /* CustomSwitchButton.swift in Sources */ = {isa = PBXBuildFile; fileRef = EC05BFC72C04D832000F7B19 /* CustomSwitchButton.swift */; }; EC05BFCB2C05F470000F7B19 /* GameScene.swift in Sources */ = {isa = PBXBuildFile; fileRef = EC05BFCA2C05F470000F7B19 /* GameScene.swift */; }; EC2DD03F2C0CDF0C00FC55C0 /* MainMenuView.swift in Sources */ = {isa = PBXBuildFile; fileRef = EC2DD03E2C0CDF0C00FC55C0 /* MainMenuView.swift */; }; + EC2DD0412C1C203000FC55C0 /* ShowAllPlayer.swift in Sources */ = {isa = PBXBuildFile; fileRef = EC2DD0402C1C203000FC55C0 /* ShowAllPlayer.swift */; }; EC3EE4B12C0CD46000710153 /* ButtonView.swift in Sources */ = {isa = PBXBuildFile; fileRef = EC3EE4B02C0CD46000710153 /* ButtonView.swift */; }; EC3EE4B32C0CD47000710153 /* MainButton.swift in Sources */ = {isa = PBXBuildFile; fileRef = EC3EE4B22C0CD47000710153 /* MainButton.swift */; }; EC62C4FB2C038BD20048CD0B /* PlayersView.swift in Sources */ = {isa = PBXBuildFile; fileRef = EC62C4FA2C038BD20048CD0B /* PlayersView.swift */; }; @@ -48,6 +55,12 @@ EC62C50F2C05D06A0048CD0B /* AddPlayerView.swift in Sources */ = {isa = PBXBuildFile; fileRef = EC62C50E2C05D06A0048CD0B /* AddPlayerView.swift */; }; EC62C5172C0620C00048CD0B /* rap.mp3 in Resources */ = {isa = PBXBuildFile; fileRef = EC62C5162C0620C00048CD0B /* rap.mp3 */; }; EC62C51B2C09D1790048CD0B /* PlayerStatView.swift in Sources */ = {isa = PBXBuildFile; fileRef = EC62C51A2C09D1790048CD0B /* PlayerStatView.swift */; }; + EC62C5252C0F68830048CD0B /* PlayerVM.swift in Sources */ = {isa = PBXBuildFile; fileRef = EC62C5242C0F68830048CD0B /* PlayerVM.swift */; }; + EC62C5292C1974000048CD0B /* PlayersVM.swift in Sources */ = {isa = PBXBuildFile; fileRef = EC62C5282C1974000048CD0B /* PlayersVM.swift */; }; + EC62C52D2C197ED10048CD0B /* Player.swift in Sources */ = {isa = PBXBuildFile; fileRef = EC62C52C2C197ED10048CD0B /* Player.swift */; }; + EC62C5382C1C64EE0048CD0B /* CoreManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = EC62C5372C1C64EE0048CD0B /* CoreManager.swift */; }; + EC62C53D2C1C69200048CD0B /* DouShouQi_App.xcdatamodeld in Sources */ = {isa = PBXBuildFile; fileRef = EC62C53B2C1C69200048CD0B /* DouShouQi_App.xcdatamodeld */; }; + EC62C53F2C1C6D1A0048CD0B /* CDPlayerExtension.swift in Sources */ = {isa = PBXBuildFile; fileRef = EC62C53E2C1C6D1A0048CD0B /* CDPlayerExtension.swift */; }; EC99D5C12C089F6B00731B62 /* GameResumeFrame.swift in Sources */ = {isa = PBXBuildFile; fileRef = EC99D5C02C089F6B00731B62 /* GameResumeFrame.swift */; }; ECB6364E2C04628E007CD5E2 /* SpriteMeeple.swift in Sources */ = {isa = PBXBuildFile; fileRef = ECB6364D2C04628E007CD5E2 /* SpriteMeeple.swift */; }; ECB636512C046379007CD5E2 /* MusicPlayer.swift in Sources */ = {isa = PBXBuildFile; fileRef = ECB636502C046379007CD5E2 /* MusicPlayer.swift */; }; @@ -59,8 +72,16 @@ ECCBA6C12C29C0A300D6D9FB /* ARObjects in Resources */ = {isa = PBXBuildFile; fileRef = ECCBA6C02C29C0A300D6D9FB /* ARObjects */; }; ECCBA6C32C29C25000D6D9FB /* ARKitUIViewBoard.swift in Sources */ = {isa = PBXBuildFile; fileRef = ECCBA6C22C29C25000D6D9FB /* ARKitUIViewBoard.swift */; }; ECCBA6C52C29C2F500D6D9FB /* ARKitViewRepresentable.swift in Sources */ = {isa = PBXBuildFile; fileRef = ECCBA6C42C29C2F500D6D9FB /* ARKitViewRepresentable.swift */; }; + ECE777142C2068F400D354B0 /* EditPlayerView.swift in Sources */ = {isa = PBXBuildFile; fileRef = ECE777132C2068F400D354B0 /* EditPlayerView.swift */; }; + ECF3FD312C2722C600F5E62B /* CDHistoriqueExtension.swift in Sources */ = {isa = PBXBuildFile; fileRef = ECF3FD302C2722C600F5E62B /* CDHistoriqueExtension.swift */; }; + ECF3FD332C27238F00F5E62B /* Historique.swift in Sources */ = {isa = PBXBuildFile; fileRef = ECF3FD322C27238F00F5E62B /* Historique.swift */; }; + ECF3FD3A2C29A20D00F5E62B /* HistoricListVM.swift in Sources */ = {isa = PBXBuildFile; fileRef = ECF3FD392C29A20D00F5E62B /* HistoricListVM.swift */; }; + ECF3FD3D2C29B64100F5E62B /* ChronoVM.swift in Sources */ = {isa = PBXBuildFile; fileRef = ECF3FD3C2C29B64100F5E62B /* ChronoVM.swift */; }; ECF9AD2C2C29CF5C00238A06 /* DSQ.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = ECCBA6B32C29BCCD00D6D9FB /* DSQ.xcframework */; }; ECF9AD2D2C29CF5C00238A06 /* DSQ.xcframework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = ECCBA6B32C29BCCD00D6D9FB /* DSQ.xcframework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + ECF9AD352C29D46A00238A06 /* Start.mp3 in Resources */ = {isa = PBXBuildFile; fileRef = ECF9AD322C29D46A00238A06 /* Start.mp3 */; }; + ECF9AD362C29D46A00238A06 /* Fight.mp3 in Resources */ = {isa = PBXBuildFile; fileRef = ECF9AD332C29D46A00238A06 /* Fight.mp3 */; }; + ECF9AD372C29D46A00238A06 /* SelectFighterSound.mp3 in Resources */ = {isa = PBXBuildFile; fileRef = ECF9AD342C29D46A00238A06 /* SelectFighterSound.mp3 */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -78,6 +99,13 @@ remoteGlobalIDString = 645834572BF5F92300E18321; remoteInfo = DouShouQi_App; }; + ECF3FD212C2582B300F5E62B /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = ECF3FD1D2C2582B300F5E62B /* ArKit.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = ECF3FD0A2C2582B200F5E62B; + remoteInfo = ArKit; + }; /* End PBXContainerItemProxy section */ /* Begin PBXCopyFilesBuildPhase section */ @@ -95,6 +123,7 @@ /* End PBXCopyFilesBuildPhase section */ /* Begin PBXFileReference section */ + 6437FF122C25846F009D0EAF /* PlayingGameVM.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PlayingGameVM.swift; sourceTree = ""; }; 645834582BF5F92300E18321 /* DouShouQi_App.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = DouShouQi_App.app; sourceTree = BUILT_PRODUCTS_DIR; }; 6458345B2BF5F92300E18321 /* DouShouQi_AppApp.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DouShouQi_AppApp.swift; sourceTree = ""; }; 6458345D2BF5F92300E18321 /* ContentView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ContentView.swift; sourceTree = ""; }; @@ -108,6 +137,10 @@ 645834852BF5FE1400E18321 /* DouShouQi-App-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; path = "DouShouQi-App-Info.plist"; sourceTree = SOURCE_ROOT; }; 645B4C1F2BFCCA0500FD658A /* PlayerScoreResumeFrame.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PlayerScoreResumeFrame.swift; sourceTree = ""; }; 645B4C242BFCD3C600FD658A /* ScoreBoardView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ScoreBoardView.swift; sourceTree = ""; }; + 646F04BD2C0F54C0003C8600 /* SettingsVM.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SettingsVM.swift; sourceTree = ""; }; + 646F04C02C0F5C11003C8600 /* Language.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Language.swift; sourceTree = ""; }; + 646FA83D2C072340001466BA /* GameVM.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GameVM.swift; sourceTree = ""; }; + 646FA8422C0730D6001466BA /* HistoricVM.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HistoricVM.swift; sourceTree = ""; }; 647D565B2BFD0212008D02EA /* PlayerResumeFrame.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PlayerResumeFrame.swift; sourceTree = ""; }; 6493C1BF2C046BF900B5121D /* samurai.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; path = samurai.ttf; sourceTree = ""; }; 6493C1C12C046E5E00B5121D /* Fonts.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Fonts.swift; sourceTree = ""; }; @@ -118,6 +151,7 @@ 649B59AD2BF64EAB002BAE38 /* AppImages.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppImages.swift; sourceTree = ""; }; 649B59B12BF65392002BAE38 /* TextStyles.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TextStyles.swift; sourceTree = ""; }; 649B59B32BF653E1002BAE38 /* ViewTitleTextStyle.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ViewTitleTextStyle.swift; sourceTree = ""; }; + 64D2D74D2C25D380009BD010 /* Animals.Symbols.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Animals.Symbols.swift; sourceTree = ""; }; 64D992712C06281B002ACBC6 /* SystemIcons.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SystemIcons.swift; sourceTree = ""; }; 64FC4D682C09C78000D08B8B /* SelectPlayerView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SelectPlayerView.swift; sourceTree = ""; }; 64FC4D6A2C09C7C900D08B8B /* SelectPlayerButtonView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SelectPlayerButtonView.swift; sourceTree = ""; }; @@ -129,6 +163,7 @@ EC05BFC72C04D832000F7B19 /* CustomSwitchButton.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CustomSwitchButton.swift; sourceTree = ""; }; EC05BFCA2C05F470000F7B19 /* GameScene.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GameScene.swift; sourceTree = ""; }; EC2DD03E2C0CDF0C00FC55C0 /* MainMenuView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MainMenuView.swift; sourceTree = ""; }; + EC2DD0402C1C203000FC55C0 /* ShowAllPlayer.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ShowAllPlayer.swift; sourceTree = ""; }; EC3EE4B02C0CD46000710153 /* ButtonView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ButtonView.swift; sourceTree = ""; }; EC3EE4B22C0CD47000710153 /* MainButton.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MainButton.swift; sourceTree = ""; }; EC62C4FA2C038BD20048CD0B /* PlayersView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PlayersView.swift; sourceTree = ""; }; @@ -140,6 +175,12 @@ EC62C50E2C05D06A0048CD0B /* AddPlayerView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AddPlayerView.swift; sourceTree = ""; }; EC62C5162C0620C00048CD0B /* rap.mp3 */ = {isa = PBXFileReference; lastKnownFileType = audio.mp3; path = rap.mp3; sourceTree = ""; }; EC62C51A2C09D1790048CD0B /* PlayerStatView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PlayerStatView.swift; sourceTree = ""; }; + EC62C5242C0F68830048CD0B /* PlayerVM.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PlayerVM.swift; sourceTree = ""; }; + EC62C5282C1974000048CD0B /* PlayersVM.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PlayersVM.swift; sourceTree = ""; }; + EC62C52C2C197ED10048CD0B /* Player.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Player.swift; sourceTree = ""; }; + EC62C5372C1C64EE0048CD0B /* CoreManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CoreManager.swift; sourceTree = ""; }; + EC62C53C2C1C69200048CD0B /* DouShouQi_App.xcdatamodel */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcdatamodel; path = DouShouQi_App.xcdatamodel; sourceTree = ""; }; + EC62C53E2C1C6D1A0048CD0B /* CDPlayerExtension.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CDPlayerExtension.swift; sourceTree = ""; }; EC99D5C02C089F6B00731B62 /* GameResumeFrame.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = GameResumeFrame.swift; sourceTree = ""; }; ECB6364D2C04628E007CD5E2 /* SpriteMeeple.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SpriteMeeple.swift; sourceTree = ""; }; ECB636502C046379007CD5E2 /* MusicPlayer.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MusicPlayer.swift; sourceTree = ""; }; @@ -152,6 +193,15 @@ ECCBA6C02C29C0A300D6D9FB /* ARObjects */ = {isa = PBXFileReference; lastKnownFileType = folder; path = ARObjects; sourceTree = ""; }; ECCBA6C22C29C25000D6D9FB /* ARKitUIViewBoard.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ARKitUIViewBoard.swift; sourceTree = ""; }; ECCBA6C42C29C2F500D6D9FB /* ARKitViewRepresentable.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ARKitViewRepresentable.swift; sourceTree = ""; }; + ECE777132C2068F400D354B0 /* EditPlayerView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = EditPlayerView.swift; sourceTree = ""; }; + ECF3FD1D2C2582B300F5E62B /* ArKit.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = ArKit.xcodeproj; path = ../../Swift/ArKit/ArKit.xcodeproj; sourceTree = ""; }; + ECF3FD302C2722C600F5E62B /* CDHistoriqueExtension.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CDHistoriqueExtension.swift; sourceTree = ""; }; + ECF3FD322C27238F00F5E62B /* Historique.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Historique.swift; sourceTree = ""; }; + ECF3FD392C29A20D00F5E62B /* HistoricListVM.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HistoricListVM.swift; sourceTree = ""; }; + ECF3FD3C2C29B64100F5E62B /* ChronoVM.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ChronoVM.swift; sourceTree = ""; }; + ECF9AD322C29D46A00238A06 /* Start.mp3 */ = {isa = PBXFileReference; lastKnownFileType = audio.mp3; path = Start.mp3; sourceTree = ""; }; + ECF9AD332C29D46A00238A06 /* Fight.mp3 */ = {isa = PBXFileReference; lastKnownFileType = audio.mp3; path = Fight.mp3; sourceTree = ""; }; + ECF9AD342C29D46A00238A06 /* SelectFighterSound.mp3 */ = {isa = PBXFileReference; lastKnownFileType = audio.mp3; path = SelectFighterSound.mp3; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -189,6 +239,7 @@ 6458344F2BF5F92300E18321 = { isa = PBXGroup; children = ( + ECF3FD1D2C2582B300F5E62B /* ArKit.xcodeproj */, 6458345A2BF5F92300E18321 /* DouShouQi_App */, 6458346B2BF5F92600E18321 /* DouShouQi_AppTests */, 645834752BF5F92600E18321 /* DouShouQi_AppUITests */, @@ -210,6 +261,8 @@ isa = PBXGroup; children = ( ECCBA6BB2C29BE3C00D6D9FB /* ARViews */, + 646F04BF2C0F5BD1003C8600 /* AppModelAndExtension */, + 646FA83C2C072284001466BA /* ViewModel */, ECB6364F2C04635D007CD5E2 /* SoundPlayerClass */, 649B59A52BF64B1B002BAE38 /* Assets */, 649ABF5E2BF60ED5002E8894 /* Components */, @@ -218,6 +271,7 @@ 6458345B2BF5F92300E18321 /* DouShouQi_AppApp.swift */, 6458345D2BF5F92300E18321 /* ContentView.swift */, 6458345F2BF5F92500E18321 /* Assets.xcassets */, + EC62C53B2C1C69200048CD0B /* DouShouQi_App.xcdatamodeld */, 645834612BF5F92500E18321 /* Preview Content */, ); path = DouShouQi_App; @@ -256,6 +310,7 @@ 647D565B2BFD0212008D02EA /* PlayerResumeFrame.swift */, EC62C4FC2C0391D30048CD0B /* PlayerRow.swift */, EC62C50E2C05D06A0048CD0B /* AddPlayerView.swift */, + EC2DD0402C1C203000FC55C0 /* ShowAllPlayer.swift */, EC62C51A2C09D1790048CD0B /* PlayerStatView.swift */, ); path = Player; @@ -267,10 +322,50 @@ 64FC4D682C09C78000D08B8B /* SelectPlayerView.swift */, 645B4C242BFCD3C600FD658A /* ScoreBoardView.swift */, EC62C4FA2C038BD20048CD0B /* PlayersView.swift */, + ECE777132C2068F400D354B0 /* EditPlayerView.swift */, ); path = Player; sourceTree = ""; }; + 646F04BC2C0F5491003C8600 /* Settings */ = { + isa = PBXGroup; + children = ( + 646F04BD2C0F54C0003C8600 /* SettingsVM.swift */, + ); + path = Settings; + sourceTree = ""; + }; + 646F04BF2C0F5BD1003C8600 /* AppModelAndExtension */ = { + isa = PBXGroup; + children = ( + EC62C52B2C197EA80048CD0B /* Class */, + EC62C5232C0F68730048CD0B /* Extensions */, + 646F04C02C0F5C11003C8600 /* Language.swift */, + ); + path = AppModelAndExtension; + sourceTree = ""; + }; + 646FA83C2C072284001466BA /* ViewModel */ = { + isa = PBXGroup; + children = ( + EC62C5262C11E24B0048CD0B /* Players */, + 646F04BC2C0F5491003C8600 /* Settings */, + 646FA83F2C0730B4001466BA /* Game */, + ECF3FD3C2C29B64100F5E62B /* ChronoVM.swift */, + ); + path = ViewModel; + sourceTree = ""; + }; + 646FA83F2C0730B4001466BA /* Game */ = { + isa = PBXGroup; + children = ( + ECF3FD3B2C29A21200F5E62B /* Historic */, + 646FA83D2C072340001466BA /* GameVM.swift */, + 6437FF122C25846F009D0EAF /* PlayingGameVM.swift */, + ); + path = Game; + sourceTree = ""; + }; 6493C1BE2C04650200B5121D /* Menu */ = { isa = PBXGroup; children = ( @@ -379,6 +474,9 @@ EC62C5032C045BD30048CD0B /* Sounds */ = { isa = PBXGroup; children = ( + ECF9AD332C29D46A00238A06 /* Fight.mp3 */, + ECF9AD342C29D46A00238A06 /* SelectFighterSound.mp3 */, + ECF9AD322C29D46A00238A06 /* Start.mp3 */, EC62C50C2C046D9E0048CD0B /* SplashScreenSound.mp3 */, EC62C5052C045C1A0048CD0B /* TitleScreenButtonSound.mp3 */, ); @@ -395,6 +493,36 @@ path = Musics; sourceTree = ""; }; + EC62C5232C0F68730048CD0B /* Extensions */ = { + isa = PBXGroup; + children = ( + EC62C53E2C1C6D1A0048CD0B /* CDPlayerExtension.swift */, + ECF3FD302C2722C600F5E62B /* CDHistoriqueExtension.swift */, + 64D2D74D2C25D380009BD010 /* Animals.Symbols.swift */, + ); + path = Extensions; + sourceTree = ""; + }; + EC62C5262C11E24B0048CD0B /* Players */ = { + isa = PBXGroup; + children = ( + EC62C5242C0F68830048CD0B /* PlayerVM.swift */, + EC62C5282C1974000048CD0B /* PlayersVM.swift */, + ); + path = Players; + sourceTree = ""; + tabWidth = 4; + }; + EC62C52B2C197EA80048CD0B /* Class */ = { + isa = PBXGroup; + children = ( + ECE7770E2C1C6FB200D354B0 /* CoreData */, + EC62C52C2C197ED10048CD0B /* Player.swift */, + ECF3FD322C27238F00F5E62B /* Historique.swift */, + ); + path = Class; + sourceTree = ""; + }; ECB6364F2C04635D007CD5E2 /* SoundPlayerClass */ = { isa = PBXGroup; children = ( @@ -414,6 +542,31 @@ path = ARViews; sourceTree = ""; }; + ECE7770E2C1C6FB200D354B0 /* CoreData */ = { + isa = PBXGroup; + children = ( + EC62C5372C1C64EE0048CD0B /* CoreManager.swift */, + ); + path = CoreData; + sourceTree = ""; + }; + ECF3FD1E2C2582B300F5E62B /* Products */ = { + isa = PBXGroup; + children = ( + ECF3FD222C2582B300F5E62B /* ArKit.app */, + ); + name = Products; + sourceTree = ""; + }; + ECF3FD3B2C29A21200F5E62B /* Historic */ = { + isa = PBXGroup; + children = ( + 646FA8422C0730D6001466BA /* HistoricVM.swift */, + ECF3FD392C29A20D00F5E62B /* HistoricListVM.swift */, + ); + path = Historic; + sourceTree = ""; + }; /* End PBXGroup section */ /* Begin PBXNativeTarget section */ @@ -503,6 +656,12 @@ mainGroup = 6458344F2BF5F92300E18321; productRefGroup = 645834592BF5F92300E18321 /* Products */; projectDirPath = ""; + projectReferences = ( + { + ProductGroup = ECF3FD1E2C2582B300F5E62B /* Products */; + ProjectRef = ECF3FD1D2C2582B300F5E62B /* ArKit.xcodeproj */; + }, + ); projectRoot = ""; targets = ( 645834572BF5F92300E18321 /* DouShouQi_App */, @@ -512,6 +671,16 @@ }; /* End PBXProject section */ +/* Begin PBXReferenceProxy section */ + ECF3FD222C2582B300F5E62B /* ArKit.app */ = { + isa = PBXReferenceProxy; + fileType = wrapper.application; + path = ArKit.app; + remoteRef = ECF3FD212C2582B300F5E62B /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; +/* End PBXReferenceProxy section */ + /* Begin PBXResourcesBuildPhase section */ 645834562BF5F92300E18321 /* Resources */ = { isa = PBXResourcesBuildPhase; @@ -522,8 +691,11 @@ 6493C1C02C046BF900B5121D /* samurai.ttf in Resources */, ECCBA6C12C29C0A300D6D9FB /* ARObjects in Resources */, EC62C5062C045C1A0048CD0B /* TitleScreenButtonSound.mp3 in Resources */, + ECF9AD352C29D46A00238A06 /* Start.mp3 in Resources */, + ECF9AD372C29D46A00238A06 /* SelectFighterSound.mp3 in Resources */, EC62C5172C0620C00048CD0B /* rap.mp3 in Resources */, EC62C50D2C046D9E0048CD0B /* SplashScreenSound.mp3 in Resources */, + ECF9AD362C29D46A00238A06 /* Fight.mp3 in Resources */, 645834632BF5F92500E18321 /* Preview Assets.xcassets in Resources */, 645834602BF5F92500E18321 /* Assets.xcassets in Resources */, ECB636552C047992007CD5E2 /* Image.xcassets in Resources */, @@ -553,7 +725,9 @@ buildActionMask = 2147483647; files = ( 6458345E2BF5F92300E18321 /* ContentView.swift in Sources */, + 646FA83E2C072340001466BA /* GameVM.swift in Sources */, 649B59A92BF64C6A002BAE38 /* Colors.swift in Sources */, + 646FA8432C0730D6001466BA /* HistoricVM.swift in Sources */, EC3EE4B12C0CD46000710153 /* ButtonView.swift in Sources */, ECCBA6C52C29C2F500D6D9FB /* ARKitViewRepresentable.swift in Sources */, 649B59B42BF653E1002BAE38 /* ViewTitleTextStyle.swift in Sources */, @@ -564,6 +738,7 @@ 649B59B22BF65392002BAE38 /* TextStyles.swift in Sources */, EC99D5C12C089F6B00731B62 /* GameResumeFrame.swift in Sources */, EC05BFCB2C05F470000F7B19 /* GameScene.swift in Sources */, + 64D2D74E2C25D380009BD010 /* Animals.Symbols.swift in Sources */, 6458345C2BF5F92300E18321 /* DouShouQi_AppApp.swift in Sources */, ECCBA6BD2C29BFF600D6D9FB /* ARBoard.swift in Sources */, ECB636512C046379007CD5E2 /* MusicPlayer.swift in Sources */, @@ -571,17 +746,27 @@ 649B59A42BF64574002BAE38 /* TitlePageFrame.swift in Sources */, EC0540C42C08A13E0032E9EF /* GameView.swift in Sources */, EC05BFC42C04C3C4000F7B19 /* SettingsView.swift in Sources */, + ECF3FD312C2722C600F5E62B /* CDHistoriqueExtension.swift in Sources */, + ECF3FD3D2C29B64100F5E62B /* ChronoVM.swift in Sources */, + EC62C53D2C1C69200048CD0B /* DouShouQi_App.xcdatamodeld in Sources */, EC62C50F2C05D06A0048CD0B /* AddPlayerView.swift in Sources */, + EC62C53F2C1C6D1A0048CD0B /* CDPlayerExtension.swift in Sources */, 64FC4D6B2C09C7C900D08B8B /* SelectPlayerButtonView.swift in Sources */, + 646F04C12C0F5C11003C8600 /* Language.swift in Sources */, EC05BFC82C04D832000F7B19 /* CustomSwitchButton.swift in Sources */, 64D992722C06281B002ACBC6 /* SystemIcons.swift in Sources */, 645B4C252BFCD3C600FD658A /* ScoreBoardView.swift in Sources */, 649ABF602BF60F2D002E8894 /* MainMenuButton.swift in Sources */, + ECE777142C2068F400D354B0 /* EditPlayerView.swift in Sources */, + EC62C5382C1C64EE0048CD0B /* CoreManager.swift in Sources */, + EC62C5252C0F68830048CD0B /* PlayerVM.swift in Sources */, + ECF3FD332C27238F00F5E62B /* Historique.swift in Sources */, EC62C51B2C09D1790048CD0B /* PlayerStatView.swift in Sources */, 649B59B22BF65392002BAE38 /* TextStyles.swift in Sources */, EC62C5092C0467240048CD0B /* SplashScreenView.swift in Sources */, EC2DD03F2C0CDF0C00FC55C0 /* MainMenuView.swift in Sources */, 64FC4D692C09C78000D08B8B /* SelectPlayerView.swift in Sources */, + EC2DD0412C1C203000FC55C0 /* ShowAllPlayer.swift in Sources */, EC62C4FD2C0391D30048CD0B /* PlayerRow.swift in Sources */, EC62C4FB2C038BD20048CD0B /* PlayersView.swift in Sources */, 6458345C2BF5F92300E18321 /* DouShouQi_AppApp.swift in Sources */, @@ -590,6 +775,11 @@ 647D565C2BFD0212008D02EA /* PlayerResumeFrame.swift in Sources */, 6493C1C22C046E5E00B5121D /* Fonts.swift in Sources */, 649B59A42BF64574002BAE38 /* TitlePageFrame.swift in Sources */, + 646F04BE2C0F54C0003C8600 /* SettingsVM.swift in Sources */, + EC62C52D2C197ED10048CD0B /* Player.swift in Sources */, + EC62C5292C1974000048CD0B /* PlayersVM.swift in Sources */, + 6437FF132C25846F009D0EAF /* PlayingGameVM.swift in Sources */, + ECF3FD3A2C29A20D00F5E62B /* HistoricListVM.swift in Sources */, ECCBA6C32C29C25000D6D9FB /* ARKitUIViewBoard.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; @@ -923,6 +1113,19 @@ defaultConfigurationName = Debug; }; /* End XCConfigurationList section */ + +/* Begin XCVersionGroup section */ + EC62C53B2C1C69200048CD0B /* DouShouQi_App.xcdatamodeld */ = { + isa = XCVersionGroup; + children = ( + EC62C53C2C1C69200048CD0B /* DouShouQi_App.xcdatamodel */, + ); + currentVersion = EC62C53C2C1C69200048CD0B /* DouShouQi_App.xcdatamodel */; + path = DouShouQi_App.xcdatamodeld; + sourceTree = ""; + versionGroupType = wrapper.xcdatamodel; + }; +/* End XCVersionGroup section */ }; rootObject = 645834502BF5F92300E18321 /* Project object */; } diff --git a/DouShouQi_App/DouShouQi_App/AppModelAndExtension/Class/CoreData/CoreManager.swift b/DouShouQi_App/DouShouQi_App/AppModelAndExtension/Class/CoreData/CoreManager.swift new file mode 100644 index 0000000..cef39cc --- /dev/null +++ b/DouShouQi_App/DouShouQi_App/AppModelAndExtension/Class/CoreData/CoreManager.swift @@ -0,0 +1,154 @@ +// +// CoreManger.swift +// DouShouQi_App +// +// Created by étudiant on 14/06/2024. +// + +import Foundation +import CoreData +import DouShouQiModel +import Combine + +class CoreDataManager { + static let shared = CoreDataManager() + private init() {} + + lazy var persistentContainer: NSPersistentContainer = { + let container = NSPersistentContainer(name: "DouShouQi_App") + container.loadPersistentStores { (storeDescription, error) in + if let error = error as NSError? { + fatalError("Unresolved error \(error), \(error.userInfo)") + } + } + return container + }() + + var context: NSManagedObjectContext { + return persistentContainer.viewContext + } + + func saveContext() { + if context.hasChanges { + do { + try context.save() + } catch { + let nserror = error as NSError + fatalError("Unresolved error \(nserror), \(nserror.userInfo)") + } + } + } + + func savePlayer(playerVM: PlayerVM) { + let player = CDPlayer(context: context) + player.name = playerVM.player.name + player.photo = playerVM.player.photo + saveContext() + } + + func fetchPlayers() -> [CDPlayer] { + let fetchRequest: NSFetchRequest = CDPlayer.fetchRequest() + do { + return try context.fetch(fetchRequest) + } catch { + print("Failed to fetch players: \(error)") + return [] + } + } + + func deletePlayer(playerVM: PlayerVM) { + let fetchRequest: NSFetchRequest = CDPlayer.fetchRequest() + fetchRequest.predicate = NSPredicate(format: "name == %@", playerVM.player.name) + + do { + let players = try context.fetch(fetchRequest) + if let playerToDelete = players.first { + context.delete(playerToDelete) + saveContext() + } else { + print("Player not found") + } + } catch { + print("Failed to fetch player for deletion: \(error)") + } + } + + func updatePlayer(playerVM: PlayerVM) { + let fetchRequest: NSFetchRequest = CDPlayer.fetchRequest() + fetchRequest.predicate = NSPredicate(format: "name == %@", playerVM.player.name) + + do { + let players = try context.fetch(fetchRequest) + if let playerToUpdate = players.first { + playerToUpdate.name = playerVM.player.name + playerToUpdate.photo = playerVM.player.photo + saveContext() + } else { + print("Player not found") + } + } catch { + print("Failed to fetch player for update: \(error)") + } + } + + func saveHistorique(historique: HistoricVM) { + let historiqueEntity = CDHistorique(context: context) + historiqueEntity.player1_name = historique.historic.player1_name + historiqueEntity.player2_name = historique.historic.player2_name + historiqueEntity.time = historique.historic.time + historiqueEntity.result = historique.historic.result + saveContext() + } + + func fetchHistoriques() -> [CDHistorique] { + let fetchRequest: NSFetchRequest = CDHistorique.fetchRequest() + do { + return try context.fetch(fetchRequest) + } catch { + print("Failed to fetch historiques: \(error)") + return [] + } + } + + func deleteHistorique(historique: Historique) { + let fetchRequest: NSFetchRequest = CDHistorique.fetchRequest() + fetchRequest.predicate = NSPredicate(format: "player1_name == %@ AND player2_name == %@ AND time == %@", historique.player1_name, historique.player2_name, historique.time) + + do { + let historiques = try context.fetch(fetchRequest) + if let historiqueToDelete = historiques.first { + context.delete(historiqueToDelete) + saveContext() + } else { + print("Historique not found") + } + } catch { + print("Failed to fetch historique for deletion: \(error)") + } + } + + func countVictories(for player: String) -> Int { + let fetchRequest: NSFetchRequest = CDHistorique.fetchRequest() + fetchRequest.predicate = NSPredicate(format: "(player1_name == %@ AND result == 'win') OR (player2_name == %@ AND result == 'lose')", player, player) + + do { + return try context.fetch(fetchRequest).count + } catch { + print("Failed to fetch victories for player: \(error)") + return 0 + } + } + + func countDefeats(for player: String) -> Int { + let fetchRequest: NSFetchRequest = CDHistorique.fetchRequest() + fetchRequest.predicate = NSPredicate(format: "(player1_name == %@ AND result == 'lose') OR (player2_name == %@ AND result == 'win')", player, player) + + do { + return try context.fetch(fetchRequest).count + } catch { + print("Failed to fetch defeats for player: \(error)") + return 0 + } + } + +} diff --git a/DouShouQi_App/DouShouQi_App/AppModelAndExtension/Class/Historique.swift b/DouShouQi_App/DouShouQi_App/AppModelAndExtension/Class/Historique.swift new file mode 100644 index 0000000..13609f3 --- /dev/null +++ b/DouShouQi_App/DouShouQi_App/AppModelAndExtension/Class/Historique.swift @@ -0,0 +1,22 @@ +// +// Historique.swift +// DouShouQi_App +// +// Created by étudiant on 22/06/2024. +// + +import Foundation + +public class Historique{ + var player1_name: String + var player2_name: String + var time: String + var result: String + + init(player1_name: String, player2_name: String, time: String, result: String){ + self.player1_name = player1_name + self.player2_name = player2_name + self.result = result + self.time = time + } +} diff --git a/DouShouQi_App/DouShouQi_App/AppModelAndExtension/Class/Player.swift b/DouShouQi_App/DouShouQi_App/AppModelAndExtension/Class/Player.swift new file mode 100644 index 0000000..c17c881 --- /dev/null +++ b/DouShouQi_App/DouShouQi_App/AppModelAndExtension/Class/Player.swift @@ -0,0 +1,19 @@ +// +// Player.swift +// DouShouQi_App +// +// Created by étudiant on 12/06/2024. +// + +import Foundation + + +public class Player{ + var name: String + var photo: String = "" + + init(name: String, photo: String) { + self.name = name + self.photo = photo + } +} diff --git a/DouShouQi_App/DouShouQi_App/AppModelAndExtension/Extensions/Animals.Symbols.swift b/DouShouQi_App/DouShouQi_App/AppModelAndExtension/Extensions/Animals.Symbols.swift new file mode 100644 index 0000000..4ddbdb3 --- /dev/null +++ b/DouShouQi_App/DouShouQi_App/AppModelAndExtension/Extensions/Animals.Symbols.swift @@ -0,0 +1,34 @@ +// +// Animals.Symbols.swift +// DouShouQi_App +// +// Created by Rémi REGNAULT on 21/06/2024. +// + +import Foundation +import DouShouQiModel + +extension Animal { + public var symbol: String { + switch self{ + case .rat: + return "🐭" + case .cat: + return "🐱" + case .dog: + return "🐶" + case .wolf: + return "🐺" + case .leopard: + return "🐆" + case .tiger: + return "🐯" + case .lion: + return "🦁" + case .elephant: + return "🐘" + @unknown default: + return "🐥" + } + } +} diff --git a/DouShouQi_App/DouShouQi_App/AppModelAndExtension/Extensions/CDHistoriqueExtension.swift b/DouShouQi_App/DouShouQi_App/AppModelAndExtension/Extensions/CDHistoriqueExtension.swift new file mode 100644 index 0000000..f402e24 --- /dev/null +++ b/DouShouQi_App/DouShouQi_App/AppModelAndExtension/Extensions/CDHistoriqueExtension.swift @@ -0,0 +1,28 @@ +// +// CDHistoriqueExtension.swift +// DouShouQi_App +// +// Created by étudiant on 22/06/2024. +// + +import Foundation +import CoreData + +extension CDHistorique { + func toModel() -> Historique { + return Historique( + player1_name: self.player1_name ?? "", + player2_name: self.player2_name ?? "", + time: self.time ?? "", + result: self.result ?? "" + ) + } + + convenience init(player1_name: String, player2_name: String, time: String, result: String, context: NSManagedObjectContext) { + self.init(context: context) + self.player1_name = player1_name + self.player2_name = player2_name + self.time = time + self.result = result + } +} diff --git a/DouShouQi_App/DouShouQi_App/AppModelAndExtension/Extensions/CDPlayerExtension.swift b/DouShouQi_App/DouShouQi_App/AppModelAndExtension/Extensions/CDPlayerExtension.swift new file mode 100644 index 0000000..9916d7f --- /dev/null +++ b/DouShouQi_App/DouShouQi_App/AppModelAndExtension/Extensions/CDPlayerExtension.swift @@ -0,0 +1,22 @@ +// +// CDPlayerExtension.swift +// DouShouQi_App +// +// Created by étudiant on 14/06/2024. +// + +import Foundation +import CoreData + +extension CDPlayer { + func toModel() -> Player { + return Player(name: self.name ?? "", photo: self.photo ?? "") + } + + convenience init(name: String, photo: String, context: NSManagedObjectContext){ + self.init(context: context) + self.name = name + self.photo = photo + } +} + diff --git a/DouShouQi_App/DouShouQi_App/AppModelAndExtension/Language.swift b/DouShouQi_App/DouShouQi_App/AppModelAndExtension/Language.swift new file mode 100644 index 0000000..af70eea --- /dev/null +++ b/DouShouQi_App/DouShouQi_App/AppModelAndExtension/Language.swift @@ -0,0 +1,32 @@ +// +// Language.swift +// DouShouQi_App +// +// Created by Rémi REGNAULT on 04/06/2024. +// + +import Foundation + +public enum Language: String, Identifiable { + + case french, english, spanish + + public var id: String { + return self.rawValue + } + + public var litteral: String { + switch self { + case .french: + return "Français" + case .english: + return "English" + case .spanish: + return "Español" + } + } + + static var list: [Language] { + return [.french, .english, .spanish] + } +} diff --git a/DouShouQi_App/DouShouQi_App/Assets/Colors/Colors.swift b/DouShouQi_App/DouShouQi_App/Assets/Colors/Colors.swift index 784b4c0..d038e02 100644 --- a/DouShouQi_App/DouShouQi_App/Assets/Colors/Colors.swift +++ b/DouShouQi_App/DouShouQi_App/Assets/Colors/Colors.swift @@ -14,4 +14,6 @@ public struct Colors { static let MeepleP1 = UIColor(named: "MeepleP1") static let TextButton = Color("ButtonTextColor") static let PopupBackground = Color("PopUpBackground") + static let MeepleP2 = UIColor(named: "MeepleP2") + static let WinnerBackground = Color("WinnerBackground") } diff --git a/DouShouQi_App/DouShouQi_App/Assets/Colors/Colors.xcassets/MeepleP1.colorset/Contents.json b/DouShouQi_App/DouShouQi_App/Assets/Colors/Colors.xcassets/MeepleP1.colorset/Contents.json index d1b0235..1a21e5e 100644 --- a/DouShouQi_App/DouShouQi_App/Assets/Colors/Colors.xcassets/MeepleP1.colorset/Contents.json +++ b/DouShouQi_App/DouShouQi_App/Assets/Colors/Colors.xcassets/MeepleP1.colorset/Contents.json @@ -23,9 +23,9 @@ "color-space" : "srgb", "components" : { "alpha" : "1.000", - "blue" : "1.000", - "green" : "1.000", - "red" : "1.000" + "blue" : "0.765", + "green" : "0.855", + "red" : "0.000" } }, "idiom" : "universal" diff --git a/DouShouQi_App/DouShouQi_App/Assets/Colors/Colors.xcassets/MeepleP2.colorset/Contents.json b/DouShouQi_App/DouShouQi_App/Assets/Colors/Colors.xcassets/MeepleP2.colorset/Contents.json new file mode 100644 index 0000000..8159a8e --- /dev/null +++ b/DouShouQi_App/DouShouQi_App/Assets/Colors/Colors.xcassets/MeepleP2.colorset/Contents.json @@ -0,0 +1,38 @@ +{ + "colors" : [ + { + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "1.000", + "green" : "0.150", + "red" : "0.150" + } + }, + "idiom" : "universal" + }, + { + "appearances" : [ + { + "appearance" : "luminosity", + "value" : "dark" + } + ], + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "1.000", + "green" : "0.150", + "red" : "0.150" + } + }, + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/DouShouQi_App/DouShouQi_App/Assets/Colors/Colors.xcassets/WinnerBackground.colorset/Contents.json b/DouShouQi_App/DouShouQi_App/Assets/Colors/Colors.xcassets/WinnerBackground.colorset/Contents.json new file mode 100644 index 0000000..927f6cf --- /dev/null +++ b/DouShouQi_App/DouShouQi_App/Assets/Colors/Colors.xcassets/WinnerBackground.colorset/Contents.json @@ -0,0 +1,38 @@ +{ + "colors" : [ + { + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "0.800", + "blue" : "1.000", + "green" : "1.000", + "red" : "1.000" + } + }, + "idiom" : "universal" + }, + { + "appearances" : [ + { + "appearance" : "luminosity", + "value" : "dark" + } + ], + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "1.000", + "green" : "1.000", + "red" : "1.000" + } + }, + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/DouShouQi_App/DouShouQi_App/Assets/Sounds/Fight.mp3 b/DouShouQi_App/DouShouQi_App/Assets/Sounds/Fight.mp3 new file mode 100644 index 0000000..2ce565c Binary files /dev/null and b/DouShouQi_App/DouShouQi_App/Assets/Sounds/Fight.mp3 differ diff --git a/DouShouQi_App/DouShouQi_App/Assets/Sounds/SelectFighterSound.mp3 b/DouShouQi_App/DouShouQi_App/Assets/Sounds/SelectFighterSound.mp3 new file mode 100644 index 0000000..249cb10 Binary files /dev/null and b/DouShouQi_App/DouShouQi_App/Assets/Sounds/SelectFighterSound.mp3 differ diff --git a/DouShouQi_App/DouShouQi_App/Assets/Sounds/Start.mp3 b/DouShouQi_App/DouShouQi_App/Assets/Sounds/Start.mp3 new file mode 100644 index 0000000..ad960ee Binary files /dev/null and b/DouShouQi_App/DouShouQi_App/Assets/Sounds/Start.mp3 differ diff --git a/DouShouQi_App/DouShouQi_App/Components/Game/GameResumeFrame.swift b/DouShouQi_App/DouShouQi_App/Components/Game/GameResumeFrame.swift index dade4f8..9d40397 100644 --- a/DouShouQi_App/DouShouQi_App/Components/Game/GameResumeFrame.swift +++ b/DouShouQi_App/DouShouQi_App/Components/Game/GameResumeFrame.swift @@ -6,33 +6,32 @@ // import SwiftUI +#if DEBUG +import DouShouQiModel +#endif struct GameResumeFrame: View { // Players Params - let Player1Name: String - let Player2Name: String - - // Game Params - let Status: String + let historicVm: HistoricVM var body: some View { ZStack { HStack(alignment: .center) { VStack(alignment: .leading) { - Text("\(Player1Name) vs \(Player2Name)") + Text("\(historicVm.historic.player1_name) vs \(historicVm.historic.player2_name)") .font(.headline) - Text(Status) + Text(historicVm.historic.result) + .font(.subheadline) + .foregroundColor(.gray) + + Text(historicVm.historic.time) .font(.subheadline) .foregroundColor(.gray) } Spacer() - - Text("Detail >") - .frame(width: 100) - .foregroundColor(.gray) } .padding(10) @@ -43,9 +42,3 @@ struct GameResumeFrame: View { }.padding(2) } } - -struct GameResumeFrame_Previews: PreviewProvider { - static var previews: some View { - GameResumeFrame(Player1Name: "Rayhan", Player2Name: "Remi", Status: "Winner: Remi") - } -} diff --git a/DouShouQi_App/DouShouQi_App/Components/Game/TopGameBoard.swift b/DouShouQi_App/DouShouQi_App/Components/Game/TopGameBoard.swift index 284b3cf..2db60c0 100644 --- a/DouShouQi_App/DouShouQi_App/Components/Game/TopGameBoard.swift +++ b/DouShouQi_App/DouShouQi_App/Components/Game/TopGameBoard.swift @@ -6,20 +6,24 @@ // import SwiftUI - +import DouShouQiModel + struct TopGameBoard: View { + @ObservedObject var gameVM: PlayingGameVM + @ObservedObject var chronoVM: ChronometerViewModel + var body: some View { VStack { HStack { Circle() .fill(Color.white) .frame(width: 40, height: 40) - Text("Player 1 Turn") + Text("\(gameVM.currentPlayerName)'s Turn") .font(.title) .foregroundColor(.white) } .padding() - .background(Color.red) + .background(Color(gameVM.currentPlayerColor)) .cornerRadius(10) Spacer().frame(height: 20) @@ -29,7 +33,7 @@ struct TopGameBoard: View { Image(systemName: "clock") .resizable() .frame(width: 30, height: 30) - Text("4:11") + Text(chronoVM.formattedTime()) .font(.title) .foregroundColor(.black) } @@ -37,14 +41,11 @@ struct TopGameBoard: View { Spacer() HStack { - Text("Last moove :") + Text("Last move :") .font(.title2) .foregroundColor(.black) - /*Image(systemName: "cheetah") - .resizable() - .frame(width: 30, height: 30)*/ - Text("🦁") - Text("2.3") + Text(gameVM.lastPieceMoved) + Text(gameVM.lastMove) .font(.title2) .foregroundColor(.black) } @@ -59,9 +60,3 @@ struct TopGameBoard: View { .background(Color.red.opacity(0.5)) } } - -struct TopGameBoard_Previews: PreviewProvider { - static var previews: some View { - TopGameBoard() - } -} diff --git a/DouShouQi_App/DouShouQi_App/Components/MainMenuButton.swift b/DouShouQi_App/DouShouQi_App/Components/MainMenuButton.swift index b421b74..4ccbe7a 100644 --- a/DouShouQi_App/DouShouQi_App/Components/MainMenuButton.swift +++ b/DouShouQi_App/DouShouQi_App/Components/MainMenuButton.swift @@ -1,19 +1,19 @@ // // MainMenuButton.swift -// DouShouQi_App +// Dou}Qi_App // // Created by Rémi REGNAULT on 16/05/2024. // import SwiftUI -struct MainMenuButton: View { - +struct MainMenuButton: View { // Text Params var text: String - var destination: Destination var sound: String + // Fonction à executer + var onClick: (() -> Void)? // Button Alignment var horizontalAlignment: Alignment = .center @@ -25,7 +25,10 @@ struct MainMenuButton: View { var bottomRightCorner: CGFloat = 0 var body: some View { - NavigationLink(destination: destination) { + Button(action: { + // playSound(named: sound) + onClick?() + }) { Text(text.uppercased()) .font(.headline) .fontWeight(.semibold) @@ -37,12 +40,10 @@ struct MainMenuButton: View { .clipShape(RoundedRectangle(cornerSize: CGSize(width: 0, height: 0))) .mask(RoundedCornersShape(cornerRadii: (topLeft: topLeftCorner, topRight: topRightCorner, bottomLeft: bottomLeftCorner, bottomRight: bottomRightCorner))) ) + .frame(width: UIScreen.main.bounds.width / 1.7) + .frame(maxWidth: .infinity, alignment: horizontalAlignment) } - .simultaneousGesture(TapGesture().onEnded { - playSound(named: sound) - }) - .frame(width: UIScreen.main.bounds.width / 1.7) - .frame(maxWidth: .infinity, alignment: horizontalAlignment) + .buttonStyle(PlainButtonStyle()) } } @@ -92,6 +93,6 @@ struct RoundedCornersShape: Shape { struct MainMenuButton_Previews: PreviewProvider { static var previews: some View { - MainMenuButton(text: "test", destination: HistoricView(), sound: "TitleScreenButtonSound", horizontalAlignment: .leading, topRightCorner: 10, bottomRightCorner: 10) + MainMenuButton(text: "test", sound: "TitleScreenButtonSound", horizontalAlignment: .leading, topRightCorner: 10, bottomRightCorner: 10) } } diff --git a/DouShouQi_App/DouShouQi_App/Components/Player/AddPlayerView.swift b/DouShouQi_App/DouShouQi_App/Components/Player/AddPlayerView.swift index fc03de5..2759628 100644 --- a/DouShouQi_App/DouShouQi_App/Components/Player/AddPlayerView.swift +++ b/DouShouQi_App/DouShouQi_App/Components/Player/AddPlayerView.swift @@ -10,7 +10,7 @@ import UIKit struct AddPlayerView: View { @Binding var isPresented: Bool - @Binding var players: [Player] + @ObservedObject var playersVM: PlayersVM @State private var playerName: String = "" @State private var showAlert = false @State private var showImagePicker = false @@ -48,7 +48,7 @@ struct AddPlayerView: View { HStack { Button(action: { - if players.contains(where: { $0.name.lowercased() == playerName.lowercased() }) { + if playersVM.contains(where: { $0.player.name.lowercased() == playerName.lowercased() }) { showAlert = true } else { if let image = profileImage, let imageData = image.jpegData(compressionQuality: 0.8) { @@ -59,8 +59,8 @@ struct AddPlayerView: View { try? imageData.write(to: fileURL) profileImagePath = fileURL.path } - let newPlayer = Player(name: playerName, wins: 0, losses: 0, photo: profileImagePath) - players.append(newPlayer) + let newPlayer = PlayerVM(player: Player(name: playerName, photo: profileImagePath)) + playersVM.SavePlayer(player: newPlayer) isPresented = false } }) { diff --git a/DouShouQi_App/DouShouQi_App/Components/Player/PlayerRow.swift b/DouShouQi_App/DouShouQi_App/Components/Player/PlayerRow.swift index f874013..69f4838 100644 --- a/DouShouQi_App/DouShouQi_App/Components/Player/PlayerRow.swift +++ b/DouShouQi_App/DouShouQi_App/Components/Player/PlayerRow.swift @@ -1,22 +1,15 @@ -// -// PlayerRow.swift -// DouShouQi_App -// -// Created by étudiant on 26/05/2024. -// - import Foundation import SwiftUI struct PlayerRow: View { - var player: Player - @Binding var players: [Player] - + @ObservedObject var player: PlayerVM @State private var showDetailView = false + @ObservedObject var players: PlayersVM + var body: some View { HStack { - if let image = UIImage(contentsOfFile: player.photo) { + if let image = UIImage(contentsOfFile: player.player.photo) { Image(uiImage: image) .resizable() .frame(width: 50, height: 50) @@ -30,21 +23,23 @@ struct PlayerRow: View { } VStack(alignment: .leading) { - Text(player.name) + Text(player.player.name) .font(.headline) - Text("Victoires : \(player.wins) Défaites : \(player.losses)") + Text("Victoires : \(player.win) Défaites : \(player.loose)") .font(.subheadline) } Spacer() - Button(action: { - showDetailView.toggle() - }) { - Image(systemName: "info.circle") - .foregroundColor(.blue) - } - .sheet(isPresented: $showDetailView) { - PlayerStatView(player: player) - .presentationDetents([.medium, .large]) + HStack(spacing: 10) { + Button(action: { + showDetailView.toggle() + }) { + Image(systemName: "info.circle") + .foregroundColor(.blue) + } + .sheet(isPresented: $showDetailView) { + PlayerStatView(player: player, players: players, showDetailView: $showDetailView) + .presentationDetents([.medium, .large]) + } } } .padding() diff --git a/DouShouQi_App/DouShouQi_App/Components/Player/PlayerStatView.swift b/DouShouQi_App/DouShouQi_App/Components/Player/PlayerStatView.swift index 31511c2..71591b4 100644 --- a/DouShouQi_App/DouShouQi_App/Components/Player/PlayerStatView.swift +++ b/DouShouQi_App/DouShouQi_App/Components/Player/PlayerStatView.swift @@ -8,11 +8,14 @@ import SwiftUI struct PlayerStatView: View { - var player: Player - + @StateObject var player: PlayerVM + @State private var showEditView = false + @State private var showDeleteAlert = false + @ObservedObject var players: PlayersVM + @Binding var showDetailView: Bool var body: some View { VStack { - if let image = UIImage(contentsOfFile: player.photo) { + if let image = UIImage(contentsOfFile: player.player.photo) { Image(uiImage: image) .resizable() .frame(width: 100, height: 100) @@ -27,33 +30,67 @@ struct PlayerStatView: View { .foregroundColor(.gray) .padding(.top, 10) } - - Text(player.name) + + Text(player.player.name) .font(.largeTitle) .foregroundColor(Colors.TitleText) .padding(.top, 10) - + VStack(alignment: .leading, spacing: 10) { HStack { Image(systemName: "trophy.fill") - Text("Win : \(player.wins)") + Text("Win : \(player.win)") .font(.title2) } HStack { Image(systemName: "xmark.circle.fill") - Text("Loose : \(player.losses)") + Text("Loose : \(player.loose)") .font(.title2) } HStack { Image(systemName: "chart.line.uptrend.xyaxis") - Text("Win Rate : \(String(format: "%.2f", Double(player.wins) / Double(player.wins + player.losses) * 100))%") + Text("Win Rate : \(String(format: "%.2f", (Double(player.win) / Double(player.win + player.loose)) * 100))%") .font(.title2) } HStack { Image(systemName: "list.number") - Text("Rank : 3") + Text("Rank : \(player.rank)") .font(.title2) } + + + HStack{ + Button(action: { + showEditView.toggle() + }) { + Image(systemName: "pencil") + .foregroundColor(.green) + } + .sheet(isPresented: $showEditView) { + EditPlayerView(isPresented: $showEditView, player: player, playersVM: players, playerName: player.player.name) + } + + Button(action: { + showDeleteAlert.toggle() + }) { + Image(systemName: "trash") + .foregroundColor(.red) + } + .alert(isPresented: $showDeleteAlert) { + Alert( + title: Text("Delete Player"), + message: Text("Are you sure you want to delete this player?"), + primaryButton: .destructive(Text("Delete")) { + CoreDataManager.shared.deletePlayer(playerVM: player) + players.refreshPlayers() + showDetailView = false + }, + secondaryButton: .cancel() + ) + } + + } + } .padding() Spacer() diff --git a/DouShouQi_App/DouShouQi_App/Components/Player/SelectPlayerButtonView.swift b/DouShouQi_App/DouShouQi_App/Components/Player/SelectPlayerButtonView.swift index 93bf37b..bc43698 100644 --- a/DouShouQi_App/DouShouQi_App/Components/Player/SelectPlayerButtonView.swift +++ b/DouShouQi_App/DouShouQi_App/Components/Player/SelectPlayerButtonView.swift @@ -35,8 +35,15 @@ struct CustomShapeRightButton: Shape { struct SelectPlayerButtonView: View { - var player1:String = "IA" - var player2:String = "IA" + + @ObservedObject var player1:PlayerVM + @ObservedObject var player2:PlayerVM + + @ObservedObject var playersVM: PlayersVM + + @State private var showingPopup1 = false + @State private var showingPopup2 = false + var body: some View { ZStack{ Image("vs-custom") @@ -46,11 +53,12 @@ struct SelectPlayerButtonView: View { .offset(y: -60) HStack{ VStack (alignment: .leading) { - Text(player1) + Text(player1.player.name) .font(.title) .padding(3) Button(action: { print("Button j1 pressé!") + showingPopup1 = true }) { VStack { Text("+") @@ -59,23 +67,26 @@ struct SelectPlayerButtonView: View { Text("Add a player") .font(.body) .bold() + .sheet(isPresented: $showingPopup1) { + ShowAllPlayer(currentShowingSheet: $showingPopup1, currentPlayer: player1, otherPlayer: player2, playersVM: playersVM) + } } .frame(width: 150, height: 150) .padding() - .border(/*@START_MENU_TOKEN@*/Color.black/*@END_MENU_TOKEN@*/, width: 4) - .foregroundColor(.black) - .foregroundColor(.white) + .border(Colors.TitleText, width: 4) + .foregroundColor(Colors.TitleText) .cornerRadius(10) .clipShape(CustomShapeLeftButton()) } } VStack (alignment: .trailing) { - Text(player2) + Text(player2.player.name) .font(.title) .padding(3) Button(action: { print("Button j2 pressé!") + showingPopup2 = true }) { VStack { Text("+") @@ -84,11 +95,13 @@ struct SelectPlayerButtonView: View { Text("Add a player") .font(.body) .bold() - } .frame(width: 150, height: 150) + .sheet(isPresented: $showingPopup2) { + ShowAllPlayer(currentShowingSheet: $showingPopup2, currentPlayer: player2, otherPlayer: player1, playersVM: playersVM) + } + }.frame(width: 150, height: 150) .padding() - .foregroundColor(.black) - .border(/*@START_MENU_TOKEN@*/Color.black/*@END_MENU_TOKEN@*/, width: 4) - .foregroundColor(.white) + .border(Colors.TitleText, width: 4) + .foregroundColor(Colors.TitleText) .cornerRadius(10) .clipShape(CustomShapeRightButton()) } @@ -98,8 +111,13 @@ struct SelectPlayerButtonView: View { } } -struct SelectPlayerButtonView_Previews: PreviewProvider { +/*struct SelectPlayerButtonView_Previews: PreviewProvider { + + var player1 = PlayerVM(player: Player(name: "Linked", photo: "")) + var player22 = PlayerVM(player: Player(name: "Horizon", photo: "")) + static var previews: some View { - SelectPlayerButtonView() + @StateObject var playersVM = PlayersVM() + SelectPlayerButtonView(player1: player1, player2: player2, playersVM: PlayersVM()) } -} +}*/ diff --git a/DouShouQi_App/DouShouQi_App/Components/Player/ShowAllPlayer.swift b/DouShouQi_App/DouShouQi_App/Components/Player/ShowAllPlayer.swift new file mode 100644 index 0000000..751a4e2 --- /dev/null +++ b/DouShouQi_App/DouShouQi_App/Components/Player/ShowAllPlayer.swift @@ -0,0 +1,87 @@ +// +// ShowAllPlayer.swift +// DouShouQi_App +// +// Created by Nathan Verdier on 14/06/2024. +// + +import SwiftUI + +struct ShowAllPlayer: View { + @State private var isShowingSheet = false + @Binding var currentShowingSheet: Bool + + @ObservedObject var currentPlayer: PlayerVM + @ObservedObject var otherPlayer: PlayerVM + @ObservedObject var playersVM: PlayersVM + + var body: some View { + VStack(alignment: .leading, spacing: 20) { + Text("Choose a player:") + .font(.title2) + .fontWeight(.bold) + .padding(.leading) + .padding(.top, 20) + + List { + ForEach($playersVM.players, id: \.self) { playerVM in + if otherPlayer.player.name != playerVM.player.wrappedValue.name { + Button(action: { + if currentPlayer.player.name == playerVM.player.wrappedValue.name { + currentPlayer.player = Player(name: "IA", photo: "") + } else { + currentPlayer.player = playerVM.player.wrappedValue + } + self.currentShowingSheet = false + }) { + HStack { + Image(systemName: "person.fill") + .resizable() + .frame(width: 30, height: 30) + .foregroundColor(.blue) + .padding(.trailing, 10) + Text(playerVM.player.name.wrappedValue) + .font(.headline) + .foregroundColor(.primary) + Spacer() + if currentPlayer.player.name == playerVM.player.wrappedValue.name { + Image(systemName: "checkmark.circle.fill") + .foregroundColor(.green) + } + } + .padding() + .background(Color(.systemGray6)) + .cornerRadius(10) + .shadow(radius: 2) + } + } + } + } + .listStyle(InsetGroupedListStyle()) + + Button(action: { + self.isShowingSheet = true + }) { + HStack { + Image(systemName: "plus.circle.fill") + .foregroundColor(.white) + Text("Add a player") + .font(.headline) + .foregroundColor(.white) + } + .padding() + .frame(maxWidth: .infinity) + .background(Color.red) + .cornerRadius(10) + .padding(.horizontal) + } + .padding(.bottom, 20) + .sheet(isPresented: $isShowingSheet) { + AddPlayerView(isPresented: $isShowingSheet, playersVM: playersVM) + } + } + .background(Color(.systemGroupedBackground)) + .edgesIgnoringSafeArea(.all) + } +} + diff --git a/DouShouQi_App/DouShouQi_App/Components/Scene/GameScene.swift b/DouShouQi_App/DouShouQi_App/Components/Scene/GameScene.swift index eff6f22..9d24af2 100644 --- a/DouShouQi_App/DouShouQi_App/Components/Scene/GameScene.swift +++ b/DouShouQi_App/DouShouQi_App/Components/Scene/GameScene.swift @@ -6,32 +6,37 @@ // import Foundation +import SwiftUI import SpriteKit import DouShouQiModel class GameScene : SKScene { - var game: Game = try! Game(withRules: ClassicRules(), andPlayer1: RandomPlayer(withName: "Rayhan", andId: .player1)!, andPlayer2: RandomPlayer(withName: "Rémi", andId: .player2)!) + + var player1: DouShouQiModel.Player? + var player2: DouShouQiModel.Player? + + var game: Game? let pieces: [Owner : [Animal:SpriteMeeple]] = [ .player1: [ - .rat: SpriteMeeple(imageNamed: AppImages.Rat, size: CGSize(width: 100, height: 100), backgroundColor: Colors.MeepleP1!), - .cat: SpriteMeeple(imageNamed: AppImages.Cat, size: CGSize(width: 100, height: 100), backgroundColor: Colors.MeepleP1!), - .dog: SpriteMeeple(imageNamed: AppImages.Dog, size: CGSize(width: 100, height: 100), backgroundColor: Colors.MeepleP1!), - .wolf: SpriteMeeple(imageNamed: AppImages.Wolf, size: CGSize(width: 100, height: 100), backgroundColor: Colors.MeepleP1!), - .leopard: SpriteMeeple(imageNamed: AppImages.Leopard, size: CGSize(width: 100, height: 100), backgroundColor: Colors.MeepleP1!), - .lion: SpriteMeeple(imageNamed: AppImages.Lion, size: CGSize(width: 100, height: 100), backgroundColor: Colors.MeepleP1!), - .tiger: SpriteMeeple(imageNamed: AppImages.Tigger, size: CGSize(width: 100, height: 100), backgroundColor: Colors.MeepleP1!), - .elephant: SpriteMeeple(imageNamed: AppImages.Elephant, size: CGSize(width: 100, height: 100), backgroundColor: Colors.MeepleP1!), + .rat: SpriteMeeple(imageNamed: AppImages.Rat, size: CGSize(width: 100, height: 100), backgroundColor: Colors.MeepleP1!, imageRotation: 180), + .cat: SpriteMeeple(imageNamed: AppImages.Cat, size: CGSize(width: 100, height: 100), backgroundColor: Colors.MeepleP1!, imageRotation: 180), + .dog: SpriteMeeple(imageNamed: AppImages.Dog, size: CGSize(width: 100, height: 100), backgroundColor: Colors.MeepleP1!, imageRotation: 180), + .wolf: SpriteMeeple(imageNamed: AppImages.Wolf, size: CGSize(width: 100, height: 100), backgroundColor: Colors.MeepleP1!, imageRotation: 180), + .leopard: SpriteMeeple(imageNamed: AppImages.Leopard, size: CGSize(width: 100, height: 100), backgroundColor: Colors.MeepleP1!, imageRotation: 180), + .lion: SpriteMeeple(imageNamed: AppImages.Lion, size: CGSize(width: 100, height: 100), backgroundColor: Colors.MeepleP1!, imageRotation: 180), + .tiger: SpriteMeeple(imageNamed: AppImages.Tigger, size: CGSize(width: 100, height: 100), backgroundColor: Colors.MeepleP1!, imageRotation: 180), + .elephant: SpriteMeeple(imageNamed: AppImages.Elephant, size: CGSize(width: 100, height: 100), backgroundColor: Colors.MeepleP1!, imageRotation: 180), ], .player2: [ - .rat: SpriteMeeple(imageNamed: AppImages.Rat, size: CGSize(width: 100, height: 100), backgroundColor: .blue, imageRotation: 180), - .cat: SpriteMeeple(imageNamed: AppImages.Cat, size: CGSize(width: 100, height: 100), backgroundColor: .blue, imageRotation: 180), - .dog: SpriteMeeple(imageNamed: AppImages.Dog, size: CGSize(width: 100, height: 100), backgroundColor: .blue, imageRotation: 180), - .wolf: SpriteMeeple(imageNamed: AppImages.Wolf, size: CGSize(width: 100, height: 100), backgroundColor: .blue, imageRotation: 180), - .leopard: SpriteMeeple(imageNamed: AppImages.Leopard, size: CGSize(width: 100, height: 100), backgroundColor: .blue, imageRotation: 180), - .lion: SpriteMeeple(imageNamed: AppImages.Lion, size: CGSize(width: 100, height: 100), backgroundColor: .blue, imageRotation: 180), - .tiger: SpriteMeeple(imageNamed: AppImages.Tigger, size: CGSize(width: 100, height: 100), backgroundColor: .blue, imageRotation: 180), - .elephant: SpriteMeeple(imageNamed: AppImages.Elephant, size: CGSize(width: 100, height: 100), backgroundColor: .blue, imageRotation: 180), + .rat: SpriteMeeple(imageNamed: AppImages.Rat, size: CGSize(width: 100, height: 100), backgroundColor: Colors.MeepleP2!), + .cat: SpriteMeeple(imageNamed: AppImages.Cat, size: CGSize(width: 100, height: 100), backgroundColor: Colors.MeepleP2!), + .dog: SpriteMeeple(imageNamed: AppImages.Dog, size: CGSize(width: 100, height: 100), backgroundColor: Colors.MeepleP2!), + .wolf: SpriteMeeple(imageNamed: AppImages.Wolf, size: CGSize(width: 100, height: 100), backgroundColor: Colors.MeepleP2!), + .leopard: SpriteMeeple(imageNamed: AppImages.Leopard, size: CGSize(width: 100, height: 100), backgroundColor: Colors.MeepleP2!), + .lion: SpriteMeeple(imageNamed: AppImages.Lion, size: CGSize(width: 100, height: 100), backgroundColor: Colors.MeepleP2!), + .tiger: SpriteMeeple(imageNamed: AppImages.Tigger, size: CGSize(width: 100, height: 100), backgroundColor: Colors.MeepleP2!), + .elephant: SpriteMeeple(imageNamed: AppImages.Elephant, size: CGSize(width: 100, height: 100), backgroundColor: Colors.MeepleP2!), ], ] @@ -45,27 +50,41 @@ class GameScene : SKScene { self.backgroundColor = .white self.addChild(imageBoard) + } + + convenience init(size: CGSize, gameVM: PlayingGameVM) { + self.init(size: size) + self.game = gameVM.game + self.player1 = self.game?.players[.player1] + self.player2 = self.game?.players[.player2] for piece in pieces.flatMap({owner, pieces in pieces.values}) { self.addChild(piece) + piece.setOnMove(onMove: gameVM.onMeepleMove) + } + + initializeBoard(game!.board) + + gameVM.game.addPieceRemovedListener { _, _, piece in + self.pieces[piece.owner]![piece.animal]?.removeFromParent() } - initializeBoard(game.board) + gameVM.start() } func initializeBoard(_ board: Board) { - for (lineIndex, currentLine) in game.board.grid.enumerated() { + for (lineIndex, currentLine) in game!.board.grid.enumerated() { for (cellIndex, currentCell) in currentLine.enumerated() { if let piece = currentCell.piece { - pieces[piece.owner]?[piece.animal]?.cellPosition = CGPoint(x: cellIndex-3, y: lineIndex-4) + pieces[piece.owner]?[piece.animal]?.cellPosition = CGPoint(x: cellIndex, y: lineIndex) pieces[piece.owner]?[piece.animal]?.cellPosition = CGPoint(x: 0, y: 0) - print("line :", lineIndex, " cologne: ", cellIndex) } } } } required init?(coder aDecoder: NSCoder) { + game = try! Game(withRules: ClassicRules(), andPlayer1: DouShouQiModel.Player(withName: "P1", andId: .player1)!, andPlayer2: DouShouQiModel.Player(withName: "P2", andId: .player2)!) super.init(coder: aDecoder); } } diff --git a/DouShouQi_App/DouShouQi_App/Components/Scene/SpriteMeeple.swift b/DouShouQi_App/DouShouQi_App/Components/Scene/SpriteMeeple.swift index f9e74c4..359bc48 100644 --- a/DouShouQi_App/DouShouQi_App/Components/Scene/SpriteMeeple.swift +++ b/DouShouQi_App/DouShouQi_App/Components/Scene/SpriteMeeple.swift @@ -10,8 +10,8 @@ import SpriteKit class SpriteMeeple : SKNode { - static let offset = CGPoint(x: 0, y: 0) - static let direction = CGVector(dx: 100, dy: 100) + static let offset = CGPoint(x: -300, y: 400) + static let direction = CGVector(dx: 100, dy: -100) let imageNode : SKSpriteNode var ellipseNode : SKShapeNode @@ -19,13 +19,21 @@ class SpriteMeeple : SKNode { var originalSize: CGSize var originalEllipseSize: CGSize + var onMove: ((SpriteMeeple, CGPoint, CGPoint) -> ())? + var cellPosition: CGPoint{ didSet(cellPosition){ self.position.x = SpriteMeeple.offset.x + SpriteMeeple.direction.dx*cellPosition.x - self.position.y = SpriteMeeple.offset.y + SpriteMeeple.direction.dx*cellPosition.y + self.position.y = SpriteMeeple.offset.y + SpriteMeeple.direction.dy*cellPosition.y } } + private var oldCellPosition: CGPoint? + + func getCellPosition() -> CGPoint { + return CGPoint(x: Int((self.position.x - SpriteMeeple.offset.x)/SpriteMeeple.direction.dx), y: Int((self.position.y - SpriteMeeple.offset.y)/SpriteMeeple.direction.dy)) + } + init(imageNamed imageName: String, size: CGSize, backgroundColor: UIColor, imageRotation : Double = 0){ imageNode = SKSpriteNode(imageNamed: imageName) originalSize = CGSize(width: 80, height: 65) @@ -56,6 +64,8 @@ class SpriteMeeple : SKNode { originalEllipseSize = CGSize(width: 0, height: 0) super.init(coder: aDecoder) } + + public func setOnMove(onMove: @escaping (SpriteMeeple, CGPoint, CGPoint) -> ()) { self.onMove = onMove } override var isUserInteractionEnabled: Bool{ set { } @@ -63,6 +73,8 @@ class SpriteMeeple : SKNode { } override func touchesBegan(_ touches: Set, with event: UIEvent?){ + self.oldCellPosition = getCellPosition() + imageNode.size = CGSize(width: imageNode.size.width * 1.1, height: imageNode.size.height * 1.1) ellipseNode.path = SKShapeNode(ellipseOf: CGSize(width: originalEllipseSize.width*1.1, height: originalEllipseSize.height*1.1)).path self.zPosition = 1 @@ -83,10 +95,13 @@ class SpriteMeeple : SKNode { imageNode.size = originalSize ellipseNode.path = SKShapeNode(ellipseOf: originalEllipseSize).path + + if let onMove: (SpriteMeeple, CGPoint, CGPoint) -> () = onMove { + onMove(self, self.oldCellPosition!, self.getCellPosition()) + } self.zPosition = 0 } - override func touchesMoved(_ touches: Set, with event: UIEvent?){ self.position = touches.first?.location(in: parent!) ?? CGPoint(x: 0, y: 0) diff --git a/DouShouQi_App/DouShouQi_App/DouShouQi_App.xcdatamodeld/DouShouQi_App.xcdatamodel/contents b/DouShouQi_App/DouShouQi_App/DouShouQi_App.xcdatamodeld/DouShouQi_App.xcdatamodel/contents new file mode 100644 index 0000000..4b87e60 --- /dev/null +++ b/DouShouQi_App/DouShouQi_App/DouShouQi_App.xcdatamodeld/DouShouQi_App.xcdatamodel/contents @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/DouShouQi_App/DouShouQi_App/DouShouQi_AppApp.swift b/DouShouQi_App/DouShouQi_App/DouShouQi_AppApp.swift index f2d4e8d..83e554c 100644 --- a/DouShouQi_App/DouShouQi_App/DouShouQi_AppApp.swift +++ b/DouShouQi_App/DouShouQi_App/DouShouQi_AppApp.swift @@ -10,9 +10,13 @@ import SwiftUI @main struct DouShouQi_AppApp: App { + // Create an instance of SettingsVM + @StateObject private var settingsVM = SettingsVM() + var body: some Scene { WindowGroup { MainMenuView() + .environmentObject(settingsVM) } } } diff --git a/DouShouQi_App/DouShouQi_App/ViewModel/ChronoVM.swift b/DouShouQi_App/DouShouQi_App/ViewModel/ChronoVM.swift new file mode 100644 index 0000000..cd5b155 --- /dev/null +++ b/DouShouQi_App/DouShouQi_App/ViewModel/ChronoVM.swift @@ -0,0 +1,32 @@ +// +// ChronoVM.swift +// DouShouQi_App +// +// Created by étudiant on 24/06/2024. +// + +import SwiftUI +import Combine + +class ChronometerViewModel: ObservableObject { + @Published var elapsedTime: TimeInterval = 0 + private var timer: AnyCancellable? + + func startTimer() { + let startDate = Date() + timer = Timer.publish(every: 1, on: .main, in: .common).autoconnect().sink { _ in + self.elapsedTime = Date().timeIntervalSince(startDate) + } + } + + func stopTimer() { + timer?.cancel() + } + + func formattedTime() -> String { + let minutes = Int(elapsedTime) / 60 + let seconds = Int(elapsedTime) % 60 + return String(format: "%02d:%02d", minutes, seconds) + } +} + diff --git a/DouShouQi_App/DouShouQi_App/ViewModel/Game/GameVM.swift b/DouShouQi_App/DouShouQi_App/ViewModel/Game/GameVM.swift new file mode 100644 index 0000000..eeadfe6 --- /dev/null +++ b/DouShouQi_App/DouShouQi_App/ViewModel/Game/GameVM.swift @@ -0,0 +1,50 @@ +// +// GameVM.swift +// DouShouQi_App +// +// Created by Rémi REGNAULT on 29/05/2024. +// + +import Foundation +import SwiftUI +import DouShouQiModel + +class GameVM: ObservableObject, Identifiable { + // Properties + var game: Game + + // Computed Properties + public var player1Name: String { + return game.players[.player1]?.name ?? "P1" + } + + public var player2Name: String { + return game.players[.player2]?.name ?? "P2" + } + + public var gameStatus: String { + if let lastMove = game.rules.historic.last { + let (_, result) = game.rules.isGameOver(withBoard: game.board, + andLastRowPlayed: lastMove.rowDestination, + andLastColumnPlayer: lastMove.columnDestination) + switch result { + case .notFinished: + return "Not Finished" + case .even: + return "Draw" + case .winner(let winningPlayer, _): + return "Winner: \(winningPlayer)" + + @unknown default: + return "Not Started" + } + } else { + return "Not Started" + } + } + + // Init + init(withGame game: Game, time: String) { + self.game = game + } +} diff --git a/DouShouQi_App/DouShouQi_App/ViewModel/Game/Historic/HistoricListVM.swift b/DouShouQi_App/DouShouQi_App/ViewModel/Game/Historic/HistoricListVM.swift new file mode 100644 index 0000000..ac649b8 --- /dev/null +++ b/DouShouQi_App/DouShouQi_App/ViewModel/Game/Historic/HistoricListVM.swift @@ -0,0 +1,39 @@ +// +// HistoricListVM.swift +// DouShouQi_App +// +// Created by étudiant on 24/06/2024. +// + +import Foundation +import SwiftUI +import DouShouQiModel + +class HistoricListVM: ObservableObject { + + @Published var historicList: [HistoricVM] + + public func SavePlayer(historic: HistoricVM){ + historicList.append(historic) + CoreDataManager.shared.saveHistorique(historique: historic) + } + + public func getAllHistoric() -> [HistoricVM]{ + let coreDataPlayers = CoreDataManager.shared.fetchHistoriques() + self.historicList = coreDataPlayers.map { HistoricVM(historic: $0.toModel()) } + return historicList + } + + public func groupByDate() -> [String: [HistoricVM]] { + let groupedDictionary = Dictionary(grouping: historicList) { historicVM in + return historicVM.date + } + return groupedDictionary + } + + init() { + historicList = [] + + historicList = getAllHistoric() + } +} diff --git a/DouShouQi_App/DouShouQi_App/ViewModel/Game/Historic/HistoricVM.swift b/DouShouQi_App/DouShouQi_App/ViewModel/Game/Historic/HistoricVM.swift new file mode 100644 index 0000000..cd788d9 --- /dev/null +++ b/DouShouQi_App/DouShouQi_App/ViewModel/Game/Historic/HistoricVM.swift @@ -0,0 +1,33 @@ +// +// HistoricVM.swift +// DouShouQi_App +// +// Created by Rémi REGNAULT on 29/05/2024. +// + +import Foundation +import SwiftUI +import DouShouQiModel + +class HistoricVM: ObservableObject, Identifiable, Hashable{ + + public static func == (lhs: HistoricVM, rhs: HistoricVM) -> Bool { + return lhs.id == rhs.id + } + + public func hash(into hasher: inout Hasher) { + hasher.combine(id) + } + + @Published var historic: Historique + var date: String { + let dateFormatter = DateFormatter() + dateFormatter.dateFormat = "yyyy-MM-dd HH:mm:ss" + return dateFormatter.string(from: Date()) + } + + + init(historic: Historique) { + self.historic = historic + } +} diff --git a/DouShouQi_App/DouShouQi_App/ViewModel/Game/PlayingGameVM.swift b/DouShouQi_App/DouShouQi_App/ViewModel/Game/PlayingGameVM.swift new file mode 100644 index 0000000..104303a --- /dev/null +++ b/DouShouQi_App/DouShouQi_App/ViewModel/Game/PlayingGameVM.swift @@ -0,0 +1,136 @@ +// +// PlayingGameVM.swift +// DouShouQi_App +// +// Created by Rémi REGNAULT on 21/06/2024. +// + +import Foundation +import SwiftUI +import DouShouQiModel + +class PlayingGameVM: ObservableObject { + + // Properties + @Published var game: Game + + // Computed properties + public var currentPlayerName: String { game.players[game.rules.getNextPlayer()]?.name ?? (game.rules.getNextPlayer() == .player1 ? "P1" : "P2") } + + public var lastMove: String { + if let move: Move = game.rules.historic.last { + return "\(move.columnDestination).\(move.rowDestination)" + } + else { + return "" + } + } + + public var lastPieceMoved: String { + if let move: Move = game.rules.historic.last { + return game.board.grid[move.rowDestination][move.columnDestination].piece?.animal.symbol ?? "" + } else { + return "" + } + } + + public var currentPlayerColor: UIColor { + return game.rules.getNextPlayer() == .player1 ? Colors.MeepleP1! : Colors.MeepleP2! + } + + public var winner: String { + guard self.game.isOver else { + return "" + } + + guard let lastMove: Move = self.game.rules.historic.last else { + return "" + } + + guard let winner: DouShouQiModel.Player = game.players[lastMove.owner] else { + return "" + } + return winner.name + } + + // Inits + init(withGame game: Game) { + self.game = game + } + + init?(withRules rules: Rules, andPlayer1 p1: DouShouQiModel.Player, andPlayer2 p2: DouShouQiModel.Player) { + do { + self.game = try Game(withRules: rules, andPlayer1: p1, andPlayer2: p2) + + self.game.addInvalidMoveCallbacksListener { _, move, player, result in + if result { + return + } + print("**************************************") + print("⚠️⚠️⚠️⚠️ Invalid Move detected: \(move) by \(player.name) (\(player.id))") + print("**************************************") + + } + + self.game.addGameOverListener { board, result, player in + switch(result){ + case .notFinished: + print("⏳ Game is not over yet!") + case .winner(winner: let o, reason: let r): + print(board) + print("**************************************") + print("Game Over!!!") + print("🥇🏆 and the winner is... \(o == .player1 ? "🟡" : "🔴") \(player?.name ?? "")!") + switch(r){ + case .denReached: + print("🪺 the opponent's den has been reached.") + case .noMorePieces: + print("🐭🐱🐯🦁🐘 all the opponent's animals have been eaten...") + case .noMovesLeft: + print("⛔️ the opponent can not move any piece!") + case .tooManyOccurences: + print("🔄 the opponent seem to like this situation... but enough is enough. Sorry...") + default: + print("Reason unknown...") + } + print("**************************************") + default: + break + } + + } + + } catch { + print("Error") + return nil + } + } + + // Customs funcs + func onMeepleMove(_ sender: SpriteMeeple, _ start: CGPoint, _ end: CGPoint) { + let owner = game.rules.getNextPlayer() + let player: DouShouQiModel.Player = game.players[owner]! + + let move = Move(of: owner, fromRow: Int(start.y), andFromColumn: Int(start.x), toRow: Int(end.y), andToColumn: Int(end.x)) + + if (game.rules.isMoveValid(onBoard: game.board, withMove: move)) { + print("Meeple moved = ", start, " -> ", end) + + Task { + try! await (player as! HumanPlayer).chooseMove(move) + } + self.objectWillChange.send() + } else { + sender.cellPosition = start + sender.cellPosition = start + } + + } + + public func start() { + Task { + try await self.game.start() + } + } + +} diff --git a/DouShouQi_App/DouShouQi_App/ViewModel/Players/PlayerVM.swift b/DouShouQi_App/DouShouQi_App/ViewModel/Players/PlayerVM.swift new file mode 100644 index 0000000..7fbbbc6 --- /dev/null +++ b/DouShouQi_App/DouShouQi_App/ViewModel/Players/PlayerVM.swift @@ -0,0 +1,53 @@ +// +// PlayerExtension.swift +// DouShouQi_App +// +// Created by étudiant on 04/06/2024. +// + +import Foundation +import DouShouQiModel + +public class PlayerVM: ObservableObject, Identifiable, Hashable{ + public static func == (lhs: PlayerVM, rhs: PlayerVM) -> Bool { + return lhs.id == rhs.id + } + + public func hash(into hasher: inout Hasher) { + hasher.combine(id) + } + + @Published var player: Player + var loose: Int { + return CoreDataManager.shared.countDefeats(for: player.name) + } + + var win: Int { + return CoreDataManager.shared.countVictories(for: player.name) + } + + var rank: Int { + let allPlayers = CoreDataManager.shared.fetchPlayers() + let allPlayerVMs = allPlayers.map { PlayerVM(player: $0.toModel()) } + + let sortedPlayers = allPlayerVMs.sorted { $0.win > $1.win } + if let rankIndex = sortedPlayers.firstIndex(where: { $0.player.name == self.player.name }) { + return rankIndex + 1 + } + return 0 + } + + + //public func getPlayer(name: String): PlayerVM{} + + + init(player: Player) { + self.player = player + } + + convenience init() { + self.init(player: Player(name: "IA", photo: "")) + } + +} + diff --git a/DouShouQi_App/DouShouQi_App/ViewModel/Players/PlayersVM.swift b/DouShouQi_App/DouShouQi_App/ViewModel/Players/PlayersVM.swift new file mode 100644 index 0000000..c3587b9 --- /dev/null +++ b/DouShouQi_App/DouShouQi_App/ViewModel/Players/PlayersVM.swift @@ -0,0 +1,58 @@ +// +// PlayersVM.swift +// DouShouQi_App +// +// Created by étudiant on 12/06/2024. +// + +import Foundation +import DouShouQiModel +import CoreData +import Combine + +public class PlayersVM: ObservableObject{ + + @Published var players: [PlayerVM] + + public func SavePlayer(player: PlayerVM){ + players.append(player) + CoreDataManager.shared.savePlayer(playerVM: player) + } + + public func contains(where predicate: (PlayerVM) -> Bool) -> Bool { + return players.contains(where: predicate) + } + + + public func getAllPlayer() -> [PlayerVM]{ + let coreDataPlayers = CoreDataManager.shared.fetchPlayers() + self.players = coreDataPlayers.map { PlayerVM(player: $0.toModel()) } + return players + } + + func refreshPlayers() { + let cdPlayers = CoreDataManager.shared.fetchPlayers() + players = cdPlayers.map { PlayerVM(player: Player(name: $0.name ?? "", photo: $0.photo ?? "")) } + } + + func updatePlayer(playerVM: PlayerVM, playerName: String) { + if let index = players.firstIndex(where: { $0.player.name == playerName }) { + players[index] = playerVM + CoreDataManager.shared.saveContext() + refreshPlayers() + } + } + + static func fetchTopPlayers(limit: Int = 10) -> [PlayerVM] { + let players = CoreDataManager.shared.fetchPlayers().map { PlayerVM(player: $0.toModel()) } + let sortedPlayers = players.sorted { $0.win > $1.win } + return Array(sortedPlayers.prefix(limit)) + } + + init() { + players = [] + + players = getAllPlayer() + } + +} diff --git a/DouShouQi_App/DouShouQi_App/ViewModel/Settings/SettingsVM.swift b/DouShouQi_App/DouShouQi_App/ViewModel/Settings/SettingsVM.swift new file mode 100644 index 0000000..d841c32 --- /dev/null +++ b/DouShouQi_App/DouShouQi_App/ViewModel/Settings/SettingsVM.swift @@ -0,0 +1,18 @@ +// +// SettingsVM.swift +// DouShouQi_App +// +// Created by Rémi REGNAULT on 30/05/2024. +// + +import Foundation +import SwiftUI + +class SettingsVM: ObservableObject { + // Properties + @Published var darkTheme: Bool = false + @Published var language: Language = Language.english + @Published var soundOn: Bool = true + + init() {} +} diff --git a/DouShouQi_App/DouShouQi_App/Views/Game/GameView.swift b/DouShouQi_App/DouShouQi_App/Views/Game/GameView.swift index 45ad8f4..719714c 100644 --- a/DouShouQi_App/DouShouQi_App/Views/Game/GameView.swift +++ b/DouShouQi_App/DouShouQi_App/Views/Game/GameView.swift @@ -1,31 +1,70 @@ -// -// MainMenuView.swift -// DouShouQi_App -// -// Created by Nathan Verdier on 26/05/2024. -// - import SwiftUI import SpriteKit +import DouShouQiModel struct GameView: View { - var gameScene : GameScene = GameScene(size: CGSize(width: 700, height: 900)) + + @StateObject var gameVM: PlayingGameVM + @StateObject var chronoVM = ChronometerViewModel() + + @Binding var isDisplayed: Bool + @Binding var parentIsDisplayed: Bool + + @StateObject var historicVm = HistoricListVM() + var body: some View { - VStack { - TopGameBoard().frame(maxHeight: 200) - SpriteView(scene: gameScene) - } - .onAppear { - MusicPlayer.shared.playBackgroundMusic(music: "GameMusic") + ZStack { + VStack { + TopGameBoard(gameVM: gameVM, chronoVM: chronoVM).frame(maxHeight: 200) + SpriteView(scene: GameScene(size: CGSize(width: 700, height: 900), gameVM: gameVM)) + } + .onAppear { + playSound(named: "Fight") + chronoVM.startTimer() + + DispatchQueue.main.asyncAfter(deadline: .now() + 0.7) { + MusicPlayer.shared.playBackgroundMusic(music: "GameMusic") + } + } + .onDisappear { + MusicPlayer.shared.stopBackgroundMusic() + } + + if gameVM.game.isOver { + VStack(spacing: 20) { + Text("Game Over") + .font(.title) + .fontWeight(.bold) + + Text("Winner: \(gameVM.winner)") + .font(.title2) + } + .padding() + .background(Colors.WinnerBackground) + .cornerRadius(15) + .shadow(radius: 10) + .padding() + .onAppear { + chronoVM.stopTimer() + saveHistoric() + Timer.scheduledTimer(withTimeInterval: 10, repeats: false) { _ in + + isDisplayed = false + parentIsDisplayed = false + } + } + } } .onDisappear { MusicPlayer.shared.stopBackgroundMusic() } + .navigationBarHidden(true) } -} - -struct GameView_Previews: PreviewProvider { - static var previews: some View { - GameView() + + private func saveHistoric() { + let player1_name = gameVM.game.players[.player1]?.name + let player2_name = gameVM.game.players[.player2]?.name + let newHistoric = HistoricVM(historic: Historique(player1_name: player1_name ?? "", player2_name: player2_name ?? "", time: chronoVM.formattedTime(), result: gameVM.winner)) + historicVm.SavePlayer(historic: newHistoric) } } diff --git a/DouShouQi_App/DouShouQi_App/Views/Game/HistoricView.swift b/DouShouQi_App/DouShouQi_App/Views/Game/HistoricView.swift index ece39a7..033af73 100644 --- a/DouShouQi_App/DouShouQi_App/Views/Game/HistoricView.swift +++ b/DouShouQi_App/DouShouQi_App/Views/Game/HistoricView.swift @@ -1,32 +1,32 @@ -// -// HistoricView.swift -// DouShouQi_App -// -// Created by Rémi REGNAULT on 21/05/2024. -// - import SwiftUI struct HistoricView: View { + + @ObservedObject var historicListVM: HistoricListVM + var body: some View { VStack { TitlePageFrame(Text: "Historic", ImageWidth: 200, ImageHeight: 200) - VStack { - GameResumeFrame(Player1Name: "Remi", Player2Name: "Nathan", Status: "Winner: Nathan") - GameResumeFrame(Player1Name: "Rayhan", Player2Name: "Nathan", Status: "Winner: Nathan") - GameResumeFrame(Player1Name: "Rayhan", Player2Name: "Rémi", Status: "Draw") + // Afficher chaque groupe de dates dans une section distincte + ForEach(historicListVM.groupByDate().sorted(by: { $0.key > $1.key }), id: \.key) { key, historicVMs in + VStack(alignment: .leading) { + Text(key) // Affiche la date comme titre de section + + List(historicVMs) { historicVM in + GameResumeFrame(historicVm: historicVM) + } + } + .padding(.horizontal, 10) } - .padding(.horizontal, 10) Spacer() - } } } struct HistoricView_Previews: PreviewProvider { static var previews: some View { - HistoricView() + HistoricView(historicListVM: HistoricListVM()) } } diff --git a/DouShouQi_App/DouShouQi_App/Views/Menu/MainMenuView.swift b/DouShouQi_App/DouShouQi_App/Views/Menu/MainMenuView.swift index 7e5cb10..cc7382d 100644 --- a/DouShouQi_App/DouShouQi_App/Views/Menu/MainMenuView.swift +++ b/DouShouQi_App/DouShouQi_App/Views/Menu/MainMenuView.swift @@ -13,10 +13,20 @@ struct MainMenuView: View { @State private var currentImage: String? @State private var timer: Timer? @State private var showImage = false - let images: [String] = [AppImages.SemiLion, AppImages.SemiDog, AppImages.SemiRat, AppImages.SemiWolf, AppImages.SemiLeopard, AppImages.SemiElephant, AppImages.SemiCat] + + @State var showSelectPlayer = false + @State var showHistoric = false + @State var showBestScores = false + @State var showPlayers = false + @State var showSettings = false + @State var showARKit = false + + @StateObject var historicList = HistoricListVM() + + let images: [String] = [AppImages.SemiLion, AppImages.SemiDog, AppImages.SemiRat, AppImages.SemiWolf, AppImages.SemiLeopard, AppImages.SemiElephant, AppImages.SemiCat] // Add your image names here var body: some View { - NavigationView { + NavigationStack { VStack { if showSplash { SplashScreenView() @@ -36,13 +46,32 @@ struct MainMenuView: View { VStack { HStack { VStack(spacing: 25) { - MainMenuButton(text: "Play", destination: SelectPlayerView(), sound: "TitleScreenButtonSound", topRightCorner: 10, bottomRightCorner: 10) - MainMenuButton(text: "Historique", destination: HistoricView(), sound: "TitleScreenButtonSound", topRightCorner: 10, bottomRightCorner: 10) - MainMenuButton(text: "Best Scores", destination: ScoreBoardView(), sound: "TitleScreenButtonSound", topRightCorner: 10, bottomRightCorner: 10) - MainMenuButton(text: "Players", destination: PlayersView(), sound: "TitleScreenButtonSound", topRightCorner: 10, bottomRightCorner: 10) - MainMenuButton(text: "Settings", destination: SettingsView(), sound: "TitleScreenButtonSound", topRightCorner: 10, bottomRightCorner: 10) - MainMenuButton(text: "AR Start", destination: ARKitUIViewBoard(aRKitViewRepresentable: ARKitViewRepresentable()), sound: "TitleScreenButtonSound") + MainMenuButton(text: "Play", sound: "TitleScreenButtonSound",onClick: { showSelectPlayer = true }, topRightCorner: 10, bottomRightCorner: 10) + MainMenuButton(text: "Historique", sound: "TitleScreenButtonSound",onClick: { showHistoric = true }, topRightCorner: 10, bottomRightCorner: 10) + MainMenuButton(text: "Best Scores", sound: "TitleScreenButtonSound",onClick: { showBestScores = true }, topRightCorner: 10, bottomRightCorner: 10) + MainMenuButton(text: "Players", sound: "TitleScreenButtonSound",onClick: { showPlayers = true }, topRightCorner: 10, bottomRightCorner: 10) + MainMenuButton(text: "Settings", sound: "TitleScreenButtonSound",onClick: { showSettings = true }, topRightCorner: 10, bottomRightCorner: 10) + MainMenuButton(text: "AR Kit Version", sound: "TitleScreenButtonSound", onClick: { showARKit = true }, topRightCorner: 10, bottomRightCorner: 10) + } + .navigationDestination(isPresented: $showSelectPlayer) { + SelectPlayerView(isDisplayed: $showSelectPlayer) + } + .navigationDestination(isPresented: $showHistoric) { + HistoricView(historicListVM: historicList) + } + .navigationDestination(isPresented: $showBestScores) { + ScoreBoardView() + } + .navigationDestination(isPresented: $showPlayers) { + PlayersView() + } + .navigationDestination(isPresented: $showSettings) { + SettingsView() + } + .navigationDestination(isPresented: $showARKit) { + ARKitUIViewBoard(aRKitViewRepresentable: ARKitViewRepresentable()) } + if let currentImage = currentImage { Image(currentImage) .resizable() diff --git a/DouShouQi_App/DouShouQi_App/Views/Menu/SettingsView.swift b/DouShouQi_App/DouShouQi_App/Views/Menu/SettingsView.swift index dcdb387..7d33ed9 100644 --- a/DouShouQi_App/DouShouQi_App/Views/Menu/SettingsView.swift +++ b/DouShouQi_App/DouShouQi_App/Views/Menu/SettingsView.swift @@ -7,15 +7,9 @@ import SwiftUI -extension String : Identifiable { - public var id: Self { return self } -} - struct SettingsView: View { - @State private var theme = false - @State private var choice = "English" - @State private var sound = true + @EnvironmentObject var settingsVM: SettingsVM var body: some View { VStack { @@ -30,7 +24,7 @@ struct SettingsView: View { Spacer() - CustomSwitchButton(IsOn: $theme, imgSystemNameIsOff: SystemIcons.LightTheme, imgSystemNameIsOn: SystemIcons.DarkTheme) + CustomSwitchButton(IsOn: $settingsVM.darkTheme, imgSystemNameIsOff: SystemIcons.LightTheme, imgSystemNameIsOn: SystemIcons.DarkTheme) } Divider() @@ -41,9 +35,9 @@ struct SettingsView: View { Spacer() - Picker("Sort", selection: $choice) { - ForEach(["English", "Français", "Español"]) { - Text($0) + Picker("Language", selection: $settingsVM.language) { + ForEach(Language.list) { language in + Text(language.litteral).tag(language) } } .pickerStyle(.menu) @@ -52,12 +46,12 @@ struct SettingsView: View { Divider() HStack { - Text("Theme") + Text("Sound") .font(.headline) Spacer() - CustomSwitchButton(IsOn: $sound, imgSystemNameIsOff: SystemIcons.SoundOff, imgSystemNameIsOn: SystemIcons.SoundOn) + CustomSwitchButton(IsOn: $settingsVM.soundOn, imgSystemNameIsOff: SystemIcons.SoundOff, imgSystemNameIsOn: SystemIcons.SoundOn) } Divider() @@ -69,8 +63,8 @@ struct SettingsView: View { } } -struct SettingsView_Previews: PreviewProvider { - static var previews: some View { - SettingsView() - } -} +//struct SettingsView_Previews: PreviewProvider { +// static var previews: some View { +// SettingsView() +// } +//} diff --git a/DouShouQi_App/DouShouQi_App/Views/Player/EditPlayerView.swift b/DouShouQi_App/DouShouQi_App/Views/Player/EditPlayerView.swift new file mode 100644 index 0000000..5e29837 --- /dev/null +++ b/DouShouQi_App/DouShouQi_App/Views/Player/EditPlayerView.swift @@ -0,0 +1,90 @@ +// +// EditPlayerView.swift +// DouShouQi_App +// +// Created by étudiant on 17/06/2024. +// + +import Foundation +import SwiftUI + +struct EditPlayerView: View { + @Binding var isPresented: Bool + @ObservedObject var player: PlayerVM + @ObservedObject var playersVM: PlayersVM + + + @State private var profileImage: UIImage? = nil + @State private var showImagePicker = false + @State private var imagePickerSourceType: UIImagePickerController.SourceType = .photoLibrary + + var playerName: String + + var body: some View { + VStack(spacing: 20) { + Text("Edit Player") + .font(.headline) + + TextField("Player Name", text: $player.player.name) + .padding() + .background(Color(.systemGray6)) + .cornerRadius(10) + + if let profileImage = profileImage { + Image(uiImage: profileImage) + .resizable() + .frame(width: 100, height: 100) + .clipShape(Circle()) + } else { + Button(action: { + showImagePicker = true + }) { + Text("Select Profile Photo") + .foregroundColor(.white) + .padding() + .background(Color.blue) + .cornerRadius(10) + } + } + + HStack { + Button(action: { + if let image = profileImage, let imageData = image.jpegData(compressionQuality: 0.8) { + let filename = UUID().uuidString + ".jpg" + let paths = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask) + let documentsDirectory = paths[0] + let fileURL = documentsDirectory.appendingPathComponent(filename) + try? imageData.write(to: fileURL) + player.player.photo = fileURL.path + } + playersVM.updatePlayer(playerVM: player, playerName: playerName) + isPresented = false + }) { + Text("Save") + .foregroundColor(.white) + .padding() + .background(Color.blue) + .cornerRadius(10) + } + + Button(action: { + isPresented = false + }) { + Text("Cancel") + .foregroundColor(.white) + .padding() + .background(Color.red) + .cornerRadius(10) + } + } + } + .padding() + .frame(maxWidth: 300) + .background(Color.white) + .cornerRadius(20) + .shadow(radius: 10) + .sheet(isPresented: $showImagePicker) { + ImagePicker(image: $profileImage, sourceType: imagePickerSourceType) + } + } +} diff --git a/DouShouQi_App/DouShouQi_App/Views/Player/PlayersView.swift b/DouShouQi_App/DouShouQi_App/Views/Player/PlayersView.swift index 3ae9046..eb0554a 100644 --- a/DouShouQi_App/DouShouQi_App/Views/Player/PlayersView.swift +++ b/DouShouQi_App/DouShouQi_App/Views/Player/PlayersView.swift @@ -8,51 +8,40 @@ import Foundation import SwiftUI -// Modèle de données pour un joueur -struct Player: Identifiable { - var id = UUID() - var name: String - var wins: Int - var losses: Int - var photo: String -} - -// Exemple de vue pour l'interface utilisateur des joueurs struct PlayersView: View { - // Liste de joueurs pour l'exemple - @State private var players = [ - Player(name: "Rayhan", wins: 7, losses: 6, photo: "shrek"), - Player(name: "Remi", wins: 7, losses: 2, photo: "shrek"), - Player(name: "Nathan", wins: 14, losses: 5, photo: "shrek") - ] - @State private var searchText = "" - @State private var showingPopup = false - @State private var newPlayerName = "" + @StateObject var playersVM = PlayersVM() + @State var searchText = "" + @State var showingPopup = false + @State var newPlayerName = "" - var filteredPlayers: [Player] { + var filteredPlayers: [PlayerVM] { if searchText.isEmpty { - return players + return playersVM.players } else { - return players.filter { $0.name.lowercased().contains(searchText.lowercased()) } + return playersVM.players.filter { $0.player.name.lowercased().contains(searchText.lowercased()) } } } - var body: some View { + var groupedPlayers: [String: [PlayerVM]] { + Dictionary(grouping: filteredPlayers) { player in + String(player.player.name.prefix(1)).uppercased() + } + } + + public var body: some View { NavigationView { VStack { - TitlePageFrame(Text: "PLAYERS", ImageWidth: 200, ImageHeight: 200) - SearchBar(text: $searchText) .padding(.horizontal) List { ForEach(groupedPlayers.keys.sorted(), id: \.self) { key in Section(header: Text(key)) { - ForEach(groupedPlayers[key]!) { player in - PlayerRow(player: player, players: $players) + ForEach(groupedPlayers[key]!, id: \.self) { player in + PlayerRow(player: player, players: playersVM) } } } @@ -72,20 +61,13 @@ struct PlayersView: View { } .padding(.bottom) .sheet(isPresented: $showingPopup) { - AddPlayerView(isPresented: $showingPopup, players: $players) + AddPlayerView(isPresented: $showingPopup, playersVM: playersVM) } } } } - - var groupedPlayers: [String: [Player]] { - Dictionary(grouping: filteredPlayers) { player in - String(player.name.prefix(1)).uppercased() - } - } } -// Vue pour la barre de recherche struct SearchBar: UIViewRepresentable { @Binding var text: String @@ -116,9 +98,8 @@ struct SearchBar: UIViewRepresentable { } } - -struct PlayersPageView_Previews: PreviewProvider { +struct PlayersView_Previews: PreviewProvider { static var previews: some View { - PlayersView() + PlayersView(playersVM: PlayersVM()) } } diff --git a/DouShouQi_App/DouShouQi_App/Views/Player/ScoreBoardView.swift b/DouShouQi_App/DouShouQi_App/Views/Player/ScoreBoardView.swift index 6752547..f70e6b3 100644 --- a/DouShouQi_App/DouShouQi_App/Views/Player/ScoreBoardView.swift +++ b/DouShouQi_App/DouShouQi_App/Views/Player/ScoreBoardView.swift @@ -1,14 +1,9 @@ -// -// ScoreBoardView.swift -// DouShouQi_App -// -// Created by Rémi REGNAULT on 21/05/2024. -// - import SwiftUI import DouShouQiModel struct ScoreBoardView: View { + @State private var topPlayers: [PlayerVM] = [] + var body: some View { VStack { HStack { @@ -39,14 +34,23 @@ struct ScoreBoardView: View { .frame(height: 2) } - PlayerScoreResumeFrame(Name: "Nathan Verdier", Rank: 1, Wins: 19, Looses: 15) - PlayerScoreResumeFrame(Name: "Rayhan Hassou", Rank: 2, Wins: 17, Looses: 17) - PlayerScoreResumeFrame(Name: "Rémi Regnault", Rank: 3, Wins: 15, Looses: 19) + ForEach(topPlayers.indices, id: \.self) { index in + let player = topPlayers[index] + PlayerScoreResumeFrame( + Name: player.player.name, + Rank: index + 1, + Wins: player.win, + Looses: player.loose + ) + } } Spacer() } .padding(10) + .onAppear { + topPlayers = PlayersVM.fetchTopPlayers() + } } } diff --git a/DouShouQi_App/DouShouQi_App/Views/Player/SelectPlayerView.swift b/DouShouQi_App/DouShouQi_App/Views/Player/SelectPlayerView.swift index 66a868f..a7cff0f 100644 --- a/DouShouQi_App/DouShouQi_App/Views/Player/SelectPlayerView.swift +++ b/DouShouQi_App/DouShouQi_App/Views/Player/SelectPlayerView.swift @@ -6,33 +6,63 @@ // import SwiftUI +import SpriteKit +import DouShouQiModel struct SelectPlayerView: View { + + @StateObject var player1 = PlayerVM() + @StateObject var player2 = PlayerVM() + + @Binding var isDisplayed: Bool + + @State var gameIsPlaying: Bool = false + @State var gameSettings: Bool = false + var body: some View { VStack { TitlePageFrame(Text: "select players") Spacer() - SelectPlayerButtonView() + SelectPlayerButtonView(player1: player1, player2: player2, playersVM: PlayersVM()) Spacer() HStack { VStack(alignment: .trailing) { - MainMenuButton(text: "Start", destination: GameView(), sound: "TitleScreenButtonSound", horizontalAlignment: .trailing, topLeftCorner: 10, bottomLeftCorner: 10) - MainMenuButton(text: "Settings", destination: ContentView(), sound: "TitleScreenButtonSound", horizontalAlignment: .trailing, topLeftCorner: 10, bottomLeftCorner: 10) + MainMenuButton(text: "Start", sound: "Start", onClick: {gameIsPlaying = true}, horizontalAlignment: .trailing, topLeftCorner: 10, bottomLeftCorner: 10) + MainMenuButton(text: "Settings", sound: "TitleScreenButtonSound", onClick: { gameSettings = true }, horizontalAlignment: .trailing, topLeftCorner: 10, bottomLeftCorner: 10) + + } + .navigationDestination(isPresented: $gameIsPlaying) { + GameView(gameVM: PlayingGameVM(withRules: ClassicRules(), andPlayer1: HumanPlayer(withName: player1.player.name, andId: .player1)!, andPlayer2: HumanPlayer(withName: player2.player.name, andId: .player2)!)!,isDisplayed: $gameIsPlaying, parentIsDisplayed: $isDisplayed) + } + .navigationDestination(isPresented: $gameSettings) { + ContentView() } } Spacer() } + .onAppear { + playSound(named: "SelectFighterSound") + + //MusicPlayer.shared.playBackgroundMusic(music: "GameMusic") + + DispatchQueue.main.asyncAfter(deadline: .now() + 1) { + MusicPlayer.shared.playBackgroundMusic(music: "TitleScreenMusic") + } + } + .onDisappear { + MusicPlayer.shared.stopBackgroundMusic() + } } } -struct SelectPlayerViewPreviews: PreviewProvider { +/*struct SelectPlayerViewPreviews: PreviewProvider { static var previews: some View { SelectPlayerView() } -} +}*/