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()
}
-}
+}*/