From eca21e7d5a0fc36fe001a04c9af7283a8f469380 Mon Sep 17 00:00:00 2001 From: louis Date: Tue, 28 May 2024 16:15:40 +0200 Subject: [PATCH] fix framework --- .DS_Store | Bin 6148 -> 6148 bytes ArkitDoushiQi/.DS_Store | Bin 6148 -> 6148 bytes .../ArkitDoushiQi.xcodeproj/project.pbxproj | 34 +- ArkitDoushiQi/Model/.DS_Store | Bin 6148 -> 0 bytes ArkitDoushiQi/Model/README.md | 36 - ArkitDoushiQi/Model/XCFramework/.DS_Store | Bin 6148 -> 0 bytes .../XCFramework/DSQ.xcframework/.DS_Store | Bin 6148 -> 0 bytes .../XCFramework/DSQ.xcframework/Info.plist | 48 - .../DouShouQiModel.framework/DouShouQiModel | Bin 172088 -> 0 bytes .../Headers/DouShouQiModel-Swift.h | 311 - .../Headers/DouShouQiModel.h | 18 - .../DouShouQiModel.framework/Info.plist | Bin 763 -> 0 bytes .../arm64-apple-ios.abi.json | 8487 ----------------- .../arm64-apple-ios.private.swiftinterface | 263 - .../arm64-apple-ios.swiftdoc | Bin 684 -> 0 bytes .../arm64-apple-ios.swiftinterface | 263 - .../Modules/module.modulemap | 11 - .../DouShouQiModel.framework/DouShouQiModel | Bin 371840 -> 0 bytes .../Headers/DouShouQiModel-Swift.h | 618 -- .../Headers/DouShouQiModel.h | 18 - .../DouShouQiModel.framework/Info.plist | Bin 743 -> 0 bytes .../arm64-apple-ios-simulator.abi.json | 8487 ----------------- ...apple-ios-simulator.private.swiftinterface | 263 - .../arm64-apple-ios-simulator.swiftdoc | Bin 696 -> 0 bytes .../arm64-apple-ios-simulator.swiftinterface | 263 - .../x86_64-apple-ios-simulator.abi.json | 8487 ----------------- ...apple-ios-simulator.private.swiftinterface | 263 - .../x86_64-apple-ios-simulator.swiftdoc | Bin 696 -> 0 bytes .../x86_64-apple-ios-simulator.swiftinterface | 263 - .../Modules/module.modulemap | 11 - .../_CodeSignature/CodeResources | 245 - ArkitDoushiQi/Model/XCFramework/capture.png | Bin 288653 -> 0 bytes ArkitDoushiQi/Model/XCFramework/howto.md | 12 - 33 files changed, 2 insertions(+), 28399 deletions(-) delete mode 100644 ArkitDoushiQi/Model/.DS_Store delete mode 100644 ArkitDoushiQi/Model/README.md delete mode 100644 ArkitDoushiQi/Model/XCFramework/.DS_Store delete mode 100644 ArkitDoushiQi/Model/XCFramework/DSQ.xcframework/.DS_Store delete mode 100644 ArkitDoushiQi/Model/XCFramework/DSQ.xcframework/Info.plist delete mode 100755 ArkitDoushiQi/Model/XCFramework/DSQ.xcframework/ios-arm64/DouShouQiModel.framework/DouShouQiModel delete mode 100644 ArkitDoushiQi/Model/XCFramework/DSQ.xcframework/ios-arm64/DouShouQiModel.framework/Headers/DouShouQiModel-Swift.h delete mode 100644 ArkitDoushiQi/Model/XCFramework/DSQ.xcframework/ios-arm64/DouShouQiModel.framework/Headers/DouShouQiModel.h delete mode 100644 ArkitDoushiQi/Model/XCFramework/DSQ.xcframework/ios-arm64/DouShouQiModel.framework/Info.plist delete mode 100644 ArkitDoushiQi/Model/XCFramework/DSQ.xcframework/ios-arm64/DouShouQiModel.framework/Modules/DouShouQiModel.swiftmodule/arm64-apple-ios.abi.json delete mode 100644 ArkitDoushiQi/Model/XCFramework/DSQ.xcframework/ios-arm64/DouShouQiModel.framework/Modules/DouShouQiModel.swiftmodule/arm64-apple-ios.private.swiftinterface delete mode 100644 ArkitDoushiQi/Model/XCFramework/DSQ.xcframework/ios-arm64/DouShouQiModel.framework/Modules/DouShouQiModel.swiftmodule/arm64-apple-ios.swiftdoc delete mode 100644 ArkitDoushiQi/Model/XCFramework/DSQ.xcframework/ios-arm64/DouShouQiModel.framework/Modules/DouShouQiModel.swiftmodule/arm64-apple-ios.swiftinterface delete mode 100644 ArkitDoushiQi/Model/XCFramework/DSQ.xcframework/ios-arm64/DouShouQiModel.framework/Modules/module.modulemap delete mode 100755 ArkitDoushiQi/Model/XCFramework/DSQ.xcframework/ios-arm64_x86_64-simulator/DouShouQiModel.framework/DouShouQiModel delete mode 100644 ArkitDoushiQi/Model/XCFramework/DSQ.xcframework/ios-arm64_x86_64-simulator/DouShouQiModel.framework/Headers/DouShouQiModel-Swift.h delete mode 100644 ArkitDoushiQi/Model/XCFramework/DSQ.xcframework/ios-arm64_x86_64-simulator/DouShouQiModel.framework/Headers/DouShouQiModel.h delete mode 100644 ArkitDoushiQi/Model/XCFramework/DSQ.xcframework/ios-arm64_x86_64-simulator/DouShouQiModel.framework/Info.plist delete mode 100644 ArkitDoushiQi/Model/XCFramework/DSQ.xcframework/ios-arm64_x86_64-simulator/DouShouQiModel.framework/Modules/DouShouQiModel.swiftmodule/arm64-apple-ios-simulator.abi.json delete mode 100644 ArkitDoushiQi/Model/XCFramework/DSQ.xcframework/ios-arm64_x86_64-simulator/DouShouQiModel.framework/Modules/DouShouQiModel.swiftmodule/arm64-apple-ios-simulator.private.swiftinterface delete mode 100644 ArkitDoushiQi/Model/XCFramework/DSQ.xcframework/ios-arm64_x86_64-simulator/DouShouQiModel.framework/Modules/DouShouQiModel.swiftmodule/arm64-apple-ios-simulator.swiftdoc delete mode 100644 ArkitDoushiQi/Model/XCFramework/DSQ.xcframework/ios-arm64_x86_64-simulator/DouShouQiModel.framework/Modules/DouShouQiModel.swiftmodule/arm64-apple-ios-simulator.swiftinterface delete mode 100644 ArkitDoushiQi/Model/XCFramework/DSQ.xcframework/ios-arm64_x86_64-simulator/DouShouQiModel.framework/Modules/DouShouQiModel.swiftmodule/x86_64-apple-ios-simulator.abi.json delete mode 100644 ArkitDoushiQi/Model/XCFramework/DSQ.xcframework/ios-arm64_x86_64-simulator/DouShouQiModel.framework/Modules/DouShouQiModel.swiftmodule/x86_64-apple-ios-simulator.private.swiftinterface delete mode 100644 ArkitDoushiQi/Model/XCFramework/DSQ.xcframework/ios-arm64_x86_64-simulator/DouShouQiModel.framework/Modules/DouShouQiModel.swiftmodule/x86_64-apple-ios-simulator.swiftdoc delete mode 100644 ArkitDoushiQi/Model/XCFramework/DSQ.xcframework/ios-arm64_x86_64-simulator/DouShouQiModel.framework/Modules/DouShouQiModel.swiftmodule/x86_64-apple-ios-simulator.swiftinterface delete mode 100644 ArkitDoushiQi/Model/XCFramework/DSQ.xcframework/ios-arm64_x86_64-simulator/DouShouQiModel.framework/Modules/module.modulemap delete mode 100644 ArkitDoushiQi/Model/XCFramework/DSQ.xcframework/ios-arm64_x86_64-simulator/DouShouQiModel.framework/_CodeSignature/CodeResources delete mode 100644 ArkitDoushiQi/Model/XCFramework/capture.png delete mode 100644 ArkitDoushiQi/Model/XCFramework/howto.md diff --git a/.DS_Store b/.DS_Store index cccd18acbb30e571e79408b1ef058db81fa3f2ce..8112cff6248d1057d6d391f132a91e82f4adb8b9 100644 GIT binary patch delta 20 bcmZoMXffFEl!@KaSVzIs&|vc$CJ9jhMw|vC delta 20 bcmZoMXffFEl!@KUL`T8Y*mCn5CJ9jhM#ly$ diff --git a/ArkitDoushiQi/.DS_Store b/ArkitDoushiQi/.DS_Store index 6dbb068bdde6b067e11746a89bf855050107c4b5..12471aa5e5e2a38b513cd44194ac53b5898dd41c 100644 GIT binary patch delta 167 zcmZoMXfc@J&&a(oU^g=(_hcTHo9vdxItr$S29w{gY-bdoEWjc)xqwwfBq!Z4I5|JJ zfB_6nX#gp>q(pAMi%U{YeiBfSV`9_hVm{_$j%W%}@G9Uh$UrilQDE|X)(Mkc*$+)@ LVB5^j@s}R}BbO_O delta 137 zcmZoMXfc@J&&ahgU^g=(*JK`+o9t#LItr%7mXqJGY@fWDt;dv=!IvSQA%!88A;&W( zKRGEUKZ${XL4bjQ@h6bh`ws>{76Sv4%E>7#jYuZhizCUE1sCPz6qQ z4x;^JESnqtq5?E`E*#>#Z9^SC%%8dn6BS}F{Tkcoi?7-+0w}>L?7$whA;8&gLIw)s z+x=vO_4GYfm~~oqtmm+m#GP)n`XUMw#mT8@XWA(_7ygaP{BF?gb!tKTjA} zH&?0^xwg777`V>d!qV1Z<2JcV)r0U zfED;H1?+m{lz!_4cwAP175K9X(E1?J2|bIsLA`Wfp|1dlbd1!7F&!9*BQ1IsbA#A} zCJYtPP=&o>2t&tqY4bdbxj{n*VJ{!Tjx6jAMd;D-`BJBY@C 1 CM - - **CONSEIL**: sketchs (même si ce ne sont que dessins rapides pour valider) - - Menu - - Meilleurs scores (#victoires, #défaites) - - Parties enregistrées - - Jouer une partie (1 vs 1 sur le même périphérique) - - gestion des thèmes (light & dark) - - (bonus) app multilingue -- liaison avec le modèle (2,5 semaines) -> 1 ou 2 CM - - jeu fonctionnel - - données stubbées ou API (si disponible ?) -- jouer en RA (2 semaines) -> 1 ou 2 CM - - 1 vs 1 sur la tablette -- quand on choisit les joueurs, photo recadrée autour de la tête (face pic) - - on peut aussi choisir les IA - -- Bonus : - - on peut jouer sur deux périphériques - -## Fourni - -**Je fournis la bibliothèque pour le modèle !!!** \ No newline at end of file diff --git a/ArkitDoushiQi/Model/XCFramework/.DS_Store b/ArkitDoushiQi/Model/XCFramework/.DS_Store deleted file mode 100644 index 930cddef54fa6b3e6bbd9e94264162fa9713e742..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6148 zcmeHK&ubGw6n>MYc0v$yQ0PS%@EY1^e?alFP2-_QUC~38xZ92G(#=jtHr+x9>{teL=tYW)$BO;?si-4Z0*h4YPR>H(^lJCyYqQNK6$qJ@=gCN8|M0pRe=P)d}|LqUcpxcw`g=8 zj`K|CC&)CbNIHdfCF-D|>X4E}4aHOBT(1DSY^(q)zzW<+0l#y}=AGC~Vg*=%`>cT3 z9~9hR;IVROw+=M+3IMEQ*cxK4A?v(?TZp`FW4u4S)*rOP^<|tl=Tf?|A0Wk1bIm8Hze*~-y+^_=wRDqxVN_&U^ diff --git a/ArkitDoushiQi/Model/XCFramework/DSQ.xcframework/.DS_Store b/ArkitDoushiQi/Model/XCFramework/DSQ.xcframework/.DS_Store deleted file mode 100644 index a6188c40559ac3142cddc5437cd2642a801e70c1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6148 zcmeHKL2KJE6n<*c)oB^zutF&e1iPkfwx*$_7dPt;z0RXOY{RpcY%_DLU^~ko1bl9P zOt1YV`#anBBn6hHqcFx8s~$Xk&yv1p^kF?&L?pVS-czCm5qWUN+8UZ$jK|p*Y{~Yl z0EN!6Lqkd_p@PbV*{;JW;1u}R6yUwPMyHg~2U7IY{yk0A`#4oG#<@5g!*{-GLqt@^ zE?3y++Z0hw1L{!w2IJ}mV{4H?A$_F-a6{%JSAjVL8li?ns33~+`JCeMpU4@Hi=kcF zbv#UyqHMLkiKXS*%7ayJ)m!)82A|Y8D5G*zbff$=KfO{ajc0KbpC$cq*m(3@Wo49P z{ah20ULRB5oF`dNjk{`;^$N`m%z#(->S1GZGTHC6n{t2eaN3lU!)L9gZ0~iZ)4I3u zWcTQ0_&FV9>VhRkQAJhN_R!)CE)o2eo?n7IOI7v}{8{c-TNpZoN(c zr@);GaD9+)M&Dv(P?rug`U(K7p<5eb{#{^>wCG!`3}OT(3>9do!d@|ip`%~gdA`NU zprMnnmk(jzEbI+M=(i)k)YD1$23_kEa0<*TuxuV1eEz@q_5FXI!yvm@aps~lX4)`eEglof? - - - - 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 - - - CFBundlePackageType - XFWK - XCFrameworkFormatVersion - 1.0 - - diff --git a/ArkitDoushiQi/Model/XCFramework/DSQ.xcframework/ios-arm64/DouShouQiModel.framework/DouShouQiModel b/ArkitDoushiQi/Model/XCFramework/DSQ.xcframework/ios-arm64/DouShouQiModel.framework/DouShouQiModel deleted file mode 100755 index 5ff1fa8b3db3bfbd02f829ea30d492aa10b02a33..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 172088 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

iwdqjy;wos0VLeIc8ZdHo{X z`GDA`v-^t=P{#2dl}saK>XTQDZ7&W6{>Q9sFXl_s-*E3YU%zaIoYZVApZdu>c}HJ( zfB!rBaK?;eGM$$(&^?#KNcYWv^`9#1UX#6cl;6Do;8}OPB^jc&{&Yze&f#M&hO-i) zA3*P*4D1=>^IDR3+H0G}*B~hj-@`<@RC?~4l(-XnnOpAieIubc3g_~BX4N(kuj$)8 z=+h^AX%dekKisRlnaXN7uI1l8Z~0?r7L|YW_w#Fy0RN?sp$R(&4o#r4h1?Cp8pcpw z{t>?Zs7XBcg$}aPqn7xGGpEyjFd1uqNWq>4M^bHIe@B3f8RrV9@4f&($#Dk8A>!k+ zc&73`2gDiCA#|VLN7`OoN8(IQ+Z4#|EjT-&=+!M~BTDxqPdCi{1mN}1jSlotUblg+ zX=kqyGH{6FC^|2~{U)CO0A1(%M*2|q{W72X0RJ%`ZHn>~eKivI_kQ|KGU`q5!LZhW zarA^re>J157L-*u2D%Y^AUP$ze~J3gU3kQYe_{Pu@Pc$#qL%H=$nip6Q1W+s5bk7#T>s;E2;P4V!n}T%`_n$X zxSZvI?pE-XXvX{hsxy$!tr(jh0zX=iXAAb+w1P(Pu z|3Uax@CWBQzthkd4c#+?<3_quIK=ut;O97x^U)frub2mZgu8-2IX(+~qBZ0p?&ra$ z-bhRGDAv{JPNhix9ny75saC5Z$y2;g}Ge)Q|Py$ zkbgJUwD66*FP_8w?`g@kAO4xOjR8IM9%1*!@YYb1a#v^Mea&1Cp#O8aBiyq&9OBLb ztpAJD1Bb`^=>dLE=SAp%&Bwj#L;PMBIsVQ6TJ{U9qcyTo2c{Wteu8*(2H|w()QGZ^ zAmd7%qj;Yf;$DyX?q@=GMsgb<(tSB_wOEUyGo6YoY=tb`4j!FF8-J>Wy)r<^0KRXB zK7_tT<)GfQ?nC47BankhBnN1VAIIo~JU|v!K^7KDSqR~LiNt*sln2SgaL5GK&$yis z>2BqDV+|895wd}A-G65$I|2RVb&3PO_Hi8XtwO5r9z5R+86p2mJTB55ih9>?H@3Zi z=SQH^mm=PPebg80x?OXB3H@cg|GL6wyzB_~+ko6A%$(@83Ds*2O+6I*5ckZ2Z>?Ww zFuu~B16}P;Bgr<@;J(wFYd>@w+jb+ba_qCA^G!)uORay3w@DS%jpVfq@eiSXA9gct zS|P_YZuUXjkLuU?xJh>SCw$z5T_Ef8FyJS>1IA6PDR(q({ua2@KWJUJ%W+f6!yUYg zf$smqVWj&Wz;4G)^j$g+{Nvw~VUr})wm~-dnna4c>-9OKxIYH{_8stx_(XTd^iCIj zSn0n}zf<~eZ}0s+L_g`QMI7SYA<@%S|Lukrl1aVH6Z`1-SS0TE>70H=Mo9((-?MzE zRo%b)slWVPkNk7qGPYd>h!- z-Tk}TTWddj-`GZVQRGpBwbrIJ3u`}w{qzaGF+p|xh{FhXPrtf~dwzaa+6nSac4NZ_ zvYlX$)jzec_FdRyM%ZNUB0p-c2)y5Gf=xzu{nW21pZYFrupb~>Ik3Tc->ka#6LXzU zMr$ii$+ExVaFF{9V8^mVdrUBf;f`S1TSE8os_!3C*31I$n{E0S{S5W}2=qNF%Q_^> z+RWiVH})b_HGK|xVRHn&)8w`?=FMC;RA4O;Z9whNsFV62M0*(bx3``B55D&V`{~EO z)85rywLeXPPB@^c{1CRv{^PJ$lA#~wi2YQ`T*!%XH)D;w4gGf!*)P~rMelv8xjj3? zUCQZ;bUOggLQm6Nn)+xnzOB;A$F2zXR>FbKRp!u}@Jw^)MCjl<`5bzP`*$**-vS;1 z4G~X>_bO!9Dzx0ham1YLE9{l|=yS4Z#Mpfh_adAO$5@Sg#aJ!Ia0BeOmK5x@Z1Wz{lzNu;($~qPx8!Gm~qZZpC-eK?BK3 zX?UprI4$*#nbSDPZQ^i<+Y0Et6Y7P&s&QJmw|N%Y1M3D~Oov^YQu_4+~4(F zvv-WHQ}3V9B44T}#^^d_jHdP3MN}S_k*@RIiS}&B#U10|S;G>{Ye?5GWo^5!7Q9Kt z_c3a6lM}1J8%?N6uY*TTHaQBd|=s!!r&sZTd zd@l4y-&_dar&a0nbyGjNLAkFy)PF7{dD{p1QaPaO5jyq0{)g#fS$HFeI zP5+Oq!!v-JX{_$1O;-TVH%@oorki;F1KkgC80r2K;Kj9R=i^+%0;&JeZ<}z>n|F*x z|K(#e`ff*KbP1;+!d=WEzK=|_{9ekJU*E+T0GSc8)j1s`S69hAVW)cKsw*2qEpJ_p z(QEu=4KLQKa%{%78vywjy-tn?_@-(I>~A4|L;U1V8KY+^^4IAYol*PYN{s)=Tai66 zMyJ<)i2nTz-xoE|eTu^f_vLcW`+CzMa=lzo?ka}RKs+=GNWq}rg% zpQZctXq~z<`-RrlY3!*&o~bk*ou9M!8PFu(_tk~Iz`VLy%&lo}7SZd!H*57z;=SU< z-d(>4WhIUo&+o2(0Oip+04fvjzVQA5W&Tg^u0PQJ+W<;kc|9+myLW}Up8GGZo^Q!| zdb-Ph!rZ-!)cJpRarqY_e?&(7zD!7dd7^CBrur zPU7xam0VVg+dqNJWp8{_VXOx0JFsuXHx;N)(0(od?@j|=xdqVhkh^6yvq zKT`Qms{H3w{>zg1_ocei$y8?O(4=X=cz2o&` z?&I~t=J)zBsTog&%cgrzQs{mwH3^_m>qUoKwOA?R)D&~9~l`7RnbTFeFtGDn8#aRJ?MBAVdrpRg7^u( zY(v<1jSsI7c$*N`q{5^6u1DD27yt?Cfln|^!Xj1rok-uoFWGJ`$yZmJXrwwTKaMcd zY%L04fP$ygANo%HOD$b)wq+KX%Pb`#xJJej{%|-Y9h!>&21tl=O8lp=O^H{+d&qc2 z=7>*=!IM4s$d35Au+--w@=}V-4u>^werb`#!Fne#mZ{<$A)GfNZJCe9I`HT_ghd75 z{R?3UD!j!$UTTmJmJxV)$dRR3ii!xb)%>5a7zweLo&TuK=!YibzZIaXDU7jlqYOY^ zlKusjlCmu8^5P3mC7}e~CdiZl#CKXq*^6?sRrMsgo<*1u zmk|)0Dq(_zaezu6J&L}E-z@WT%Z!o|yKG?*OR_^{P=3@_xQmH?^Ubz=`*JTejMea9 zflKtL`^|q*{sy zT^x?08QumDltOO zj6zt%pM7Ps4U7#!Sd$8mXs7!00PO@@UhsGbPDMI`#j5m1q^EjSsnQeeRG%6ZUN!LK zkM|+z&$L?dI72(@KdeVT{oreGARpzXsmdT4seYlmJsyHO3Go#J{(SC5UmdriY^ryd zDm~Fi^**A)I|IDgww2~0Yd+_xTG$C+3#XQKJo@qbcgPQCT;xyi`zC}<$3+ZETkG$~ zc!jX7Dm)zttx#c(yM+Mt89wK_4P-J@06b+@$4koH*3T*uNU>p z6)1P1iZ-gZ1z~Bg`s$Dd8WtfeIsh*nVNoi)9fDRVuS^pO5)BF?7)!UWwD|GwNu+O8 z1^`e*Wj{iB?(>!1h&=B{SfdJ$_;)A5K7)r~Ht-2nNVr>-UcZsCQi@Zhr#7`BEClHZ z9t6Gu6>=9Mo%|))tjoKn8J;6y zp@hW}D(&o&&*c(UNLVeQ1f;{cSIM6Wp9|;d_3#;PE%on#Cv6+XugR-m2U$u?nn(mq zF5%V?OeGDDq!a!tZ5)3H$3G1Gtb+Jr>dq!7(_HRLf=8z5$FUC3sL11(_8y)>gLmjG zFROrQu-O4wOfS=}qzLOQmSrx}=E6UVX}<<2(=O)^Oxte~J@NEr449Kj?5j)wdG;db ztXZJ_JjX7O*kACcaroCx=Rw-P@sR%br(&3RF4JDX&~3_!wL0hKQRvHrRiUwwu0O2CS-@pl~8J#_Ii$G()0qFbCH=Up#2$P zf!tx*V-$*D6tBG;ekawftSpad-{vve)@T%>{R;n@y`U{Cmt$yaMeL_M_7KJ5rN2n6 zyAX3^zYz4v>nK>taCqgz7z9yTp5hU{#&p{}tPZT)0c*-g;X(p<$ zH232Hb)T}_;&7M?NZgqAP9QSP0~F)wmH#N|3vfpB76N7=WD5@&>u|)xrkEX;*-lG| zIk(7?N!a&3&9%$RJXb4EM@{+3wY(`kz0N+v<6oqBZ5u+F=77MRY|EW*U*!NVqm!nj z*o#V++Z;}&{V#A5@}#jqk_iFLvQCD40s-+)BHr6mw3~fT+C2ERR9!Fln8;kt) zfDO>r$eSH05psAnNIw zit>Iy9ZrE3oYUezqLuhYW()ZV_JdP+%CNvkJi6V{IZug~N0BGtr2%g~VB>j@=S!4T z^?=87h>UZDQM&-gxEpaqN7N>d2dg7&!7rjMi4NsQe&XS@IL4CTraLi@1f*yELqZ0N zkk1|9--t&%o}(y(el%iIn`9#H7sORz-h#Clzcz_O+@ohe*G`XTtg20j?nuPx@v(?= zZjUD#ag-m?PI2eXc|1=b?)0-BPZ8qiM?9lCH6!i~#7)I!leLJ8YVEjAl-He8uwDU| z`kco@wC+IKUO%Bv{8`8dl}UA{GRvt<#O;F(UoOj}s-jF+5#myQMja2L{wjLNc1eN@ zgQNBw3>ObK0M7W5$D_zZ1fJ&9<_Pyu8v9i!Bc;Jrupt;z+YB zaWeZdwghWeNK|TDX0xxdF?*>qV@a~T)RymHG_uaKJ7+8}c9!u6;j`L`OOe!{@-MZXjb6D**PPpHy2iA14Tx!J5ER3r$|$iG zSZz#LRq_GB(=86C)n;~rd|sr8SBK6wuUcR(Dz&f@vyOvl=y^8l{vi2(HBw*?GB5rV+<)fBz_$t@cMN@0B^tf7Ai(1;3UY9 zZT#wC3lY>pBhz?6zds`^68c*_L8k`zpHrnF+e!JI!&s^Ke^L3>;acQ%yG$RVD$|Cr z?`4`2_)n_RpMam@DQ}`vU1oy{?_ekXHxYgv(nrH-kel(XZ;^i7 z592u}{U_kpLyidlI`DTG$rLsyX2Ln)^e52Q;TFOb;&A^4xH`BI|Mqw);G+KH@ub0( z!!^T=Xn`#aR{?hjZv084gKL001-BNL2<(Jwg&XlT@`ZDOhHAJvIHJE9ZZYJ>3AX_* z0(SrHWc$M%fjbQs3VR=SIe8M`GU3YMYT)+J^C@AgYoG~8zRtr%LpFv2h9b-Wcor@S zc%&^NxIB`E6F*b7GbM1fDket#`cIfsUExobHVrqIIyF0mM3e;Ou=fEWYbT^XE(7Ml{n4G&pDNBPHbt4vr1fu_O# z-|YeabHe-Q9|MF9TykZCo3 zpMdzD0nhq?=g5HP*8}n!fcP-bP%Z00`qGR(w-V29!6i$43cn5W=LaR;2t3pHngB;X zf~0c@fL=0Buw9(#fTQaVHxiDy@Gct>(ioV+GundS`Oks(YI8p%QyN3x#TQ&|t!G}g2J2Byimk%iM@7uj?Q5{_RVFwxHRxLjfHGY zV?7qn!~58Itfw9e6Lt7va@5VNXXNi#kLusEkf=Ljt5?!XI=xKb8UQ3~FcGEFm}b0zq-lJ(fVis??3vHo$lGkxeE z!M8uMkcc}#zYFSj4b!Y%!?YU!_pQOZ{kvGtsC&>B_pp#AG?acl>oNXbcA0(y>b8Mt z@D5eG3;sI5BY@3-VR#=l;(j(DXCoWvs$dZbxXGcRl7)ejh`#r*j z8n!TP)fULj7B+0`qZl_HWy5P8Wg$BsW4gx2QMVeVOWnp;&Nimm30Mypx*hS`0iVE_ zvV)B{`XswN?J0Ie=F@EC)~A80aKp={m(FM z1z;6m^D|6y`!2NmvrLoy9P1fT$9kNogYEbN>sh!P@Ah^xP4r7xN`HxIT!6R#1?~MZ zMNlA72pEy1B`qXbiB$!!uFxA`GjKFh8v{)K7x{K7Pu=a_c&ImTS)nC1}R z89a}LfwA^HyZ+31lz)NsIOjosgxQ=5R}5DJcN8uX=13--3$6~X1rB@mLyF;Q;EuqJ z2mub`mm8K z8X=Kzb;q$7jbErn;IP#2oP}YR>mSqnN&Ap)Q;*F(t9v~XD&ochq`|HIQltTo#4k16 zkmgN;ev42i+#!j_e0dwQy?7#T%7F6S0k`&FBHw%pq+e=ybfy;{I!A;ubv+UgM)f!~ zm{-FyRwt3Bho9CgRuYF)=^mC<+0y&bK3l^$QXKxX;Toojv>W8W#-@kYb(NOtw*l^8 zvPidBso(VQ9B=)UBEdVtNB3l>Qw08M6~4EAgx?cL_z_*F;EtvX{8S%ZHC@p~>Bb`O zQyC&%ldqgE({;ty>fedHPWbYw?}`SH!0StVO~d8a^qcNW8|{@7$sfWey4S+xm<7JU zSKltnQuvyhC(=Pxir@6`%#QflQ9YxPg7qYc~@Ia*8P`wYq6)qEaxz| zP^-iRU=W>a;i9oOkbbK6Y}Y>U@cj5h`8C1OUP1b)^7F$R4-}G%6B4h8($KG? zI)YrP-+1uc@TAE1ps%0SX}i$1L{C1_Rn>}g-g5l(`=%a*w*h!(+yXBL&-~|yC-eo$ z*YrApS1;eWps_!YJ8~=((H&&rPH9XVXJlamPXKfOy#3-vBc zk@z#F5*&(U3q6*h#d9wSLnRc`ZM}=uE+`+dj-z*l$!FTPOyS`Y;`JMU)=Mb%Q0rY{ z->Kd;P=-fHI7mX;FH89hk&xEu=$ZBd5F92U?LDXG5fWZ5;S~~&l+YmIC<#YPI7Y&; z5?(3cZzQ}*!YB#HNqDt{*GNe7J)&cRgxIvtpRbiLTEZ9!#k+gGYm$7X`97tOmvFL# z*rJS|-bHI{1QR8^PQvRYoGRfo32%__MhT4)CP|nqVTy#)C7dB)>z(A$Gu;{imFLc2 zsKndNp^<5MKHm4mcrvhG@W1*lk>3UhD>yVzApceTRRd_C!_54r$n!youh64BcLp0J ze$HCT#>gmF`YDjgIEUvEcT=dIjg>HpLjwi!pWy(d@X?dT`&W*Lyompq97pe(C1I+B zc>Rl?-Ze+Uxe}%+@E-E`_@5@9JA*kgzKKI43*q_T1(t+V2ijAU!xt{}Y_){9b7=5l z=@0tXw@~U6h0hnu{~a>_xb>8E=lnm-yXRV~?*YZ`-laW$C8YHa0 zo9eA+i{B!8_4IC(!xjloNyy$7;Smx>N;pD7gM@JsPL*)S8IkUYgzQK094BFggj*$S zmN4ok!pj6j;-|n~kYud<+#!Qm^P8gGnCv$OJ{}l&bSVCn@nRp|bE@S^dF~80NPMxI zG!w5i#ZQ6sL~^D43g7alLyT)e`%#P}kEQbjdKb1j;HP)ZlyH`Wu63e44E&{xo>fb@ zOTsz{4@!7M!lM#4OV}!5SU-_pgoFu~iRU5-t0ZiYP-%~`0|Z{7gmoNt-yX$pQ#ymU z!V5cT59d(AGs4NAWUSK86;Furb4CfcQ^I-)Lr05nh2EX=IdqIn$Dy$U`5DF9AV0e$ z-XRGaIW#ELFhc|7PoVsz@)Ua4YzaHl(^)b;Tf&YXnp4z^jpqANk4U`J5}x7Ez;Wm==RHwB#hwY3_V~s2pTPFG z)P7T+B#=07pNGIDv^f|z-Ej3 zRB+gFJG7$Qv^fGVTf&7L8i*wRtCRImLi}H9;WmB>LuRRvaa)Mlz5@tl-n%v!n(mbE%C$*xpVs14pHBT zZt~MhyvT0w3=(fdH+az!&(IB?QR0p51}~H2(Wq_I7UA7z>oda9vlGv!@tm;BI{E@qOav_dN4J`Rm^XZJ9=Kq)Ixzv0*qsPeQu(%73_(vJ=NOwzAZ=lxIvs-z3 zMV^IR(7CM|8E@_&p8C{I8DG#rJjq3!j4$paevgc==p?>g#@BTc-yq`~JBe?U@uxe9 zKO*Dx@|=?B&!YZBf3u8_?j*iN#%FdCe_F;b@r%zy&Z1wr0QGQ>z^Q+tJp-i|XX!#n zUz}E>{;&9zQ%CYx8arA=#TdM0g>52lvG=(%k8)2!Pl>Rbr!#ob8v~wC@#h?Ge4yvV zI`Mr=!#x)~HHZ}VU+P^u<@u@K@dO4J2mFs}63uSE7vJ*q1u}gFJ?Po*d6?eS+=K9Z z=dc3vDdBqB$p0yc5v~^;wFK`c^8SRQ4N8Q;2gCq&&1>Pu0Uvr z5dE^6*URA5V}W?ebHu$O-}( ^v`tP$rl3Te}Y5OTq;R_W~XV+%BJY0^;)>o<9TP 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 diff --git a/ArkitDoushiQi/Model/XCFramework/DSQ.xcframework/ios-arm64/DouShouQiModel.framework/Headers/DouShouQiModel-Swift.h b/ArkitDoushiQi/Model/XCFramework/DSQ.xcframework/ios-arm64/DouShouQiModel.framework/Headers/DouShouQiModel-Swift.h deleted file mode 100644 index d7b3274..0000000 --- a/ArkitDoushiQi/Model/XCFramework/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/ArkitDoushiQi/Model/XCFramework/DSQ.xcframework/ios-arm64/DouShouQiModel.framework/Headers/DouShouQiModel.h b/ArkitDoushiQi/Model/XCFramework/DSQ.xcframework/ios-arm64/DouShouQiModel.framework/Headers/DouShouQiModel.h deleted file mode 100644 index 5bbf06a..0000000 --- a/ArkitDoushiQi/Model/XCFramework/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/ArkitDoushiQi/Model/XCFramework/DSQ.xcframework/ios-arm64/DouShouQiModel.framework/Info.plist b/ArkitDoushiQi/Model/XCFramework/DSQ.xcframework/ios-arm64/DouShouQiModel.framework/Info.plist deleted file mode 100644 index e83fb5fe8f9556626c1424e0cafa75505ea9c486..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 763 zcmY*W%Wl&^6rC9gv_KoTp^%0a+VZAg*`_Hggw!~ZqBLz9J54}Q+=)F&Mjb!!qYwcL zw(R%-7G=$bAK(YrAy~8F2lxXfiLI2`+4PYifCTt z#uwA|#mK}WjY9E%PTLYCy;y0KHCdESt~Y75?+!P*FB`(T>DnUpJVr#Gjb;#tj2+ve z$*|KCWkaefaz3XtsW)`Ffi6E0l~#g=K$mlh)R1%eoFsL0nZNe={sRFD=;UD?`}Wo* zm!HfZosE-2Oh#B7{Pb&1N;QP!0+$}{009YfTqw4nnfv; kL0R++70@oy&>OiFz~~@2j^I%o 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": "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": 1477, - "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": 1748, - "length": 2, - "value": "[]" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Game.swift", - "kind": "Array", - "offset": 2084, - "length": 2, - "value": "[]" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Game.swift", - "kind": "Array", - "offset": 2576, - "length": 2, - "value": "[]" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Game.swift", - "kind": "Array", - "offset": 3006, - "length": 2, - "value": "[]" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Game.swift", - "kind": "Array", - "offset": 3410, - "length": 2, - "value": "[]" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Game.swift", - "kind": "Array", - "offset": 3821, - "length": 2, - "value": "[]" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Game.swift", - "kind": "Array", - "offset": 4255, - "length": 2, - "value": "[]" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Game.swift", - "kind": "Array", - "offset": 4574, - "length": 2, - "value": "[]" - } - ] -} \ No newline at end of file diff --git a/ArkitDoushiQi/Model/XCFramework/DSQ.xcframework/ios-arm64/DouShouQiModel.framework/Modules/DouShouQiModel.swiftmodule/arm64-apple-ios.private.swiftinterface b/ArkitDoushiQi/Model/XCFramework/DSQ.xcframework/ios-arm64/DouShouQiModel.framework/Modules/DouShouQiModel.swiftmodule/arm64-apple-ios.private.swiftinterface deleted file mode 100644 index e57e831..0000000 --- a/ArkitDoushiQi/Model/XCFramework/DSQ.xcframework/ios-arm64/DouShouQiModel.framework/Modules/DouShouQiModel.swiftmodule/arm64-apple-ios.private.swiftinterface +++ /dev/null @@ -1,263 +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 - #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/ArkitDoushiQi/Model/XCFramework/DSQ.xcframework/ios-arm64/DouShouQiModel.framework/Modules/DouShouQiModel.swiftmodule/arm64-apple-ios.swiftdoc b/ArkitDoushiQi/Model/XCFramework/DSQ.xcframework/ios-arm64/DouShouQiModel.framework/Modules/DouShouQiModel.swiftmodule/arm64-apple-ios.swiftdoc deleted file mode 100644 index b732cc2c96b3aa10d5b34c5fce2e9e0b2808e214..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 684 zcmaDfX9YVW2Lpp90|Ns)qlJ#c+7Dby0=U-%aP4>CT5rI$Ux91Q2d>2%xY!*xUFbQa zy@N^j#3Ahshx9v`wD%m+SaZl(Xp58P1t*OOP8vYc#=uE?50mBGjnH89XK)H48yX)=@m&2h;u4bI3f4b1e-Pf5*TV3-FKODxJYGto^1*`S-5 zUub$g#vN0m7xi$sisc(iA5=4 zW_d|L`Q^pInPmksKy`Vgxk;%-3i)XYMLOE@-8b7D*~~;zP%nb9;g&yb}~c)yHh~kLv;#P 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 - #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/ArkitDoushiQi/Model/XCFramework/DSQ.xcframework/ios-arm64/DouShouQiModel.framework/Modules/module.modulemap b/ArkitDoushiQi/Model/XCFramework/DSQ.xcframework/ios-arm64/DouShouQiModel.framework/Modules/module.modulemap deleted file mode 100644 index e7aa10a..0000000 --- a/ArkitDoushiQi/Model/XCFramework/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/ArkitDoushiQi/Model/XCFramework/DSQ.xcframework/ios-arm64_x86_64-simulator/DouShouQiModel.framework/DouShouQiModel b/ArkitDoushiQi/Model/XCFramework/DSQ.xcframework/ios-arm64_x86_64-simulator/DouShouQiModel.framework/DouShouQiModel deleted file mode 100755 index eef86ed6b223655abed225827c66f458a377b064..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 371840 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 ZATuB{ATuB{ATuB{ATuB{@c%Od{{@Z$vf2Ou diff --git a/ArkitDoushiQi/Model/XCFramework/DSQ.xcframework/ios-arm64_x86_64-simulator/DouShouQiModel.framework/Headers/DouShouQiModel-Swift.h b/ArkitDoushiQi/Model/XCFramework/DSQ.xcframework/ios-arm64_x86_64-simulator/DouShouQiModel.framework/Headers/DouShouQiModel-Swift.h deleted file mode 100644 index 5e14e79..0000000 --- a/ArkitDoushiQi/Model/XCFramework/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/ArkitDoushiQi/Model/XCFramework/DSQ.xcframework/ios-arm64_x86_64-simulator/DouShouQiModel.framework/Headers/DouShouQiModel.h b/ArkitDoushiQi/Model/XCFramework/DSQ.xcframework/ios-arm64_x86_64-simulator/DouShouQiModel.framework/Headers/DouShouQiModel.h deleted file mode 100644 index 5bbf06a..0000000 --- a/ArkitDoushiQi/Model/XCFramework/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/ArkitDoushiQi/Model/XCFramework/DSQ.xcframework/ios-arm64_x86_64-simulator/DouShouQiModel.framework/Info.plist b/ArkitDoushiQi/Model/XCFramework/DSQ.xcframework/ios-arm64_x86_64-simulator/DouShouQiModel.framework/Info.plist deleted file mode 100644 index 33fe5476a1d97be812dbdb900c14367a31ba094d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 743 zcmZ8d%Wl&^6rDS~3KZfth0;PxDUVVlMz%{}!2+pqBZVq7t=$HyD%QlABqPQi<3~l{ z2iWletYFCoA+cn~AMgWRuwjAV7nr2BQt;;9dmiI^ZYvZ#PIUc1n*x07_=%IJ#!jC( zJAUqbL7SK?PF=V-eQ9QT_VShas|(i_7p~v9d27klimNFX?HcuZJYXC4aB{Voa%D9Q z+JaeZp9vZIEJ(Ikm&?G_CUb7>CG*mRwgfu@R@+L-JDf$XHkT`_K}TBLOO&5R{T&v? zs@u!iC)8Ij6!Wo8z2~&coPMa#*&MZdGDhhh4q#h+aO~}8TeV^z~rPf%t z4WhrFQz3Z0Cj(}yKdIO<+B95k(UU%*VJH|;-7sxTgxL3qCuq 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": "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": 1477, - "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": 1748, - "length": 2, - "value": "[]" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Game.swift", - "kind": "Array", - "offset": 2084, - "length": 2, - "value": "[]" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Game.swift", - "kind": "Array", - "offset": 2576, - "length": 2, - "value": "[]" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Game.swift", - "kind": "Array", - "offset": 3006, - "length": 2, - "value": "[]" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Game.swift", - "kind": "Array", - "offset": 3410, - "length": 2, - "value": "[]" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Game.swift", - "kind": "Array", - "offset": 3821, - "length": 2, - "value": "[]" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Game.swift", - "kind": "Array", - "offset": 4255, - "length": 2, - "value": "[]" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Game.swift", - "kind": "Array", - "offset": 4574, - "length": 2, - "value": "[]" - } - ] -} \ No newline at end of file diff --git a/ArkitDoushiQi/Model/XCFramework/DSQ.xcframework/ios-arm64_x86_64-simulator/DouShouQiModel.framework/Modules/DouShouQiModel.swiftmodule/arm64-apple-ios-simulator.private.swiftinterface b/ArkitDoushiQi/Model/XCFramework/DSQ.xcframework/ios-arm64_x86_64-simulator/DouShouQiModel.framework/Modules/DouShouQiModel.swiftmodule/arm64-apple-ios-simulator.private.swiftinterface deleted file mode 100644 index c28ec0f..0000000 --- a/ArkitDoushiQi/Model/XCFramework/DSQ.xcframework/ios-arm64_x86_64-simulator/DouShouQiModel.framework/Modules/DouShouQiModel.swiftmodule/arm64-apple-ios-simulator.private.swiftinterface +++ /dev/null @@ -1,263 +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 - #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/ArkitDoushiQi/Model/XCFramework/DSQ.xcframework/ios-arm64_x86_64-simulator/DouShouQiModel.framework/Modules/DouShouQiModel.swiftmodule/arm64-apple-ios-simulator.swiftdoc b/ArkitDoushiQi/Model/XCFramework/DSQ.xcframework/ios-arm64_x86_64-simulator/DouShouQiModel.framework/Modules/DouShouQiModel.swiftmodule/arm64-apple-ios-simulator.swiftdoc deleted file mode 100644 index afa4fb6b0c4573a14664563bf1804a197eea511f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 696 zcmaDfX9YVW2Lpp90|Ns)qlJ#c+7Dby0=U-%aP4>CT5rI$Ux91Q2d>2%xY!*xUFbQa zy@N^j#3Ahshx9v`wD%m+SaZl(Xp58P1t*OOP8vYc#=uE?50mBGjnH89XK)H48yX)=@m&2h;u4bI3f4b1e-Pf5*TV0Z@{ZGs_BOfa>x}bCXhw6!Oy)ih!aZx+EjBSOKgS>w zeSHOdYC$0b2F%*U=hT6$XduSv2+O=A=lq<~+&r*5z@PM80|e diff --git a/ArkitDoushiQi/Model/XCFramework/DSQ.xcframework/ios-arm64_x86_64-simulator/DouShouQiModel.framework/Modules/DouShouQiModel.swiftmodule/arm64-apple-ios-simulator.swiftinterface b/ArkitDoushiQi/Model/XCFramework/DSQ.xcframework/ios-arm64_x86_64-simulator/DouShouQiModel.framework/Modules/DouShouQiModel.swiftmodule/arm64-apple-ios-simulator.swiftinterface deleted file mode 100644 index c28ec0f..0000000 --- a/ArkitDoushiQi/Model/XCFramework/DSQ.xcframework/ios-arm64_x86_64-simulator/DouShouQiModel.framework/Modules/DouShouQiModel.swiftmodule/arm64-apple-ios-simulator.swiftinterface +++ /dev/null @@ -1,263 +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 - #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/ArkitDoushiQi/Model/XCFramework/DSQ.xcframework/ios-arm64_x86_64-simulator/DouShouQiModel.framework/Modules/DouShouQiModel.swiftmodule/x86_64-apple-ios-simulator.abi.json b/ArkitDoushiQi/Model/XCFramework/DSQ.xcframework/ios-arm64_x86_64-simulator/DouShouQiModel.framework/Modules/DouShouQiModel.swiftmodule/x86_64-apple-ios-simulator.abi.json deleted file mode 100644 index 5958bce..0000000 --- a/ArkitDoushiQi/Model/XCFramework/DSQ.xcframework/ios-arm64_x86_64-simulator/DouShouQiModel.framework/Modules/DouShouQiModel.swiftmodule/x86_64-apple-ios-simulator.abi.json +++ /dev/null @@ -1,8487 +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": "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": 1477, - "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": 1748, - "length": 2, - "value": "[]" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Game.swift", - "kind": "Array", - "offset": 2084, - "length": 2, - "value": "[]" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Game.swift", - "kind": "Array", - "offset": 2576, - "length": 2, - "value": "[]" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Game.swift", - "kind": "Array", - "offset": 3006, - "length": 2, - "value": "[]" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Game.swift", - "kind": "Array", - "offset": 3410, - "length": 2, - "value": "[]" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Game.swift", - "kind": "Array", - "offset": 3821, - "length": 2, - "value": "[]" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Game.swift", - "kind": "Array", - "offset": 4255, - "length": 2, - "value": "[]" - }, - { - "filePath": "\/Users\/marcchevaldonne\/Documents\/temp\/depots2023\/DouShouQi_ModelPackage\/DouShouQiModel\/Game.swift", - "kind": "Array", - "offset": 4574, - "length": 2, - "value": "[]" - } - ] -} \ No newline at end of file diff --git a/ArkitDoushiQi/Model/XCFramework/DSQ.xcframework/ios-arm64_x86_64-simulator/DouShouQiModel.framework/Modules/DouShouQiModel.swiftmodule/x86_64-apple-ios-simulator.private.swiftinterface b/ArkitDoushiQi/Model/XCFramework/DSQ.xcframework/ios-arm64_x86_64-simulator/DouShouQiModel.framework/Modules/DouShouQiModel.swiftmodule/x86_64-apple-ios-simulator.private.swiftinterface deleted file mode 100644 index 6f1dcba..0000000 --- a/ArkitDoushiQi/Model/XCFramework/DSQ.xcframework/ios-arm64_x86_64-simulator/DouShouQiModel.framework/Modules/DouShouQiModel.swiftmodule/x86_64-apple-ios-simulator.private.swiftinterface +++ /dev/null @@ -1,263 +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 - #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/ArkitDoushiQi/Model/XCFramework/DSQ.xcframework/ios-arm64_x86_64-simulator/DouShouQiModel.framework/Modules/DouShouQiModel.swiftmodule/x86_64-apple-ios-simulator.swiftdoc b/ArkitDoushiQi/Model/XCFramework/DSQ.xcframework/ios-arm64_x86_64-simulator/DouShouQiModel.framework/Modules/DouShouQiModel.swiftmodule/x86_64-apple-ios-simulator.swiftdoc deleted file mode 100644 index a83d9d1f3896bf73ddba5c7a3472239d2c22e76d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 696 zcmaDfX9YVW2Lpp90|Ns)qlJ#c+7Dby0=U-%aP4>CT5rI$Ux91Q2d>2%xY!*xUFbQa zy@N^j#3Ahshx9v`wD%m+SaZl(Xp58P1t*OOP8vYc#=uE?50mBGjnH89XK)H48yX)=@m&2h;u4bI3f4b1e-Pf5*TVE6_UtFSPOH#5;q1X-b* znO|&Zre~mAoS9pilUR~p1aU^IAOk}nkZHswz~d#un85@QW?*7?#VP(>1;`5p;$ka9 z6I2^ao$?clQo_vgl7jNfi-R-E3S@xl@=9})Qi~Mw(-ew;q9D2?BePfmtQO>TRv=ac zVtsvm1$=5jAp-`?+QsM8fvjjC#_0&lyd>xRoYLGpush^|N)cu!LnN>}1>`+cr(jhM Yb`3P 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 - #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/ArkitDoushiQi/Model/XCFramework/DSQ.xcframework/ios-arm64_x86_64-simulator/DouShouQiModel.framework/Modules/module.modulemap b/ArkitDoushiQi/Model/XCFramework/DSQ.xcframework/ios-arm64_x86_64-simulator/DouShouQiModel.framework/Modules/module.modulemap deleted file mode 100644 index e7aa10a..0000000 --- a/ArkitDoushiQi/Model/XCFramework/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/ArkitDoushiQi/Model/XCFramework/DSQ.xcframework/ios-arm64_x86_64-simulator/DouShouQiModel.framework/_CodeSignature/CodeResources b/ArkitDoushiQi/Model/XCFramework/DSQ.xcframework/ios-arm64_x86_64-simulator/DouShouQiModel.framework/_CodeSignature/CodeResources deleted file mode 100644 index 56ba0b2..0000000 --- a/ArkitDoushiQi/Model/XCFramework/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 - - +cil+OvQa6f6Z8N6SPo0jjTBtHs= - - Modules/DouShouQiModel.swiftmodule/arm64-apple-ios-simulator.private.swiftinterface - - HdyEr2FFoJC4V6jWwFYpYh2iheo= - - Modules/DouShouQiModel.swiftmodule/arm64-apple-ios-simulator.swiftdoc - - uNDHcaRHf/ULIsVZEMiJY2HGm4c= - - Modules/DouShouQiModel.swiftmodule/arm64-apple-ios-simulator.swiftinterface - - HdyEr2FFoJC4V6jWwFYpYh2iheo= - - Modules/DouShouQiModel.swiftmodule/arm64-apple-ios-simulator.swiftmodule - - SymfNK/AYRmastYMaA21hPyzdOc= - - Modules/DouShouQiModel.swiftmodule/x86_64-apple-ios-simulator.abi.json - - +cil+OvQa6f6Z8N6SPo0jjTBtHs= - - Modules/DouShouQiModel.swiftmodule/x86_64-apple-ios-simulator.private.swiftinterface - - +WWftOghKWd63vrkXPKBnuJOHwE= - - Modules/DouShouQiModel.swiftmodule/x86_64-apple-ios-simulator.swiftdoc - - tkYnhquJQVCRsNSI7Hl83a7/uFk= - - Modules/DouShouQiModel.swiftmodule/x86_64-apple-ios-simulator.swiftinterface - - +WWftOghKWd63vrkXPKBnuJOHwE= - - Modules/DouShouQiModel.swiftmodule/x86_64-apple-ios-simulator.swiftmodule - - YoJTbMxImG3Eak5jItcrQKbWMFE= - - 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 - - GiYRs1L94F2wuYb5eioTx92/kYQdn4yT7JhPK5AHTxU= - - - Modules/DouShouQiModel.swiftmodule/arm64-apple-ios-simulator.private.swiftinterface - - hash2 - - ytjiu1XZu6YAZkvwjwniJmEgXgBL5vRtNtfAyy+pZow= - - - Modules/DouShouQiModel.swiftmodule/arm64-apple-ios-simulator.swiftdoc - - hash2 - - cpfiPzUVsQ9nZcmz7k/CLhMlNAa3hCWAVPNrKBhrKls= - - - Modules/DouShouQiModel.swiftmodule/arm64-apple-ios-simulator.swiftinterface - - hash2 - - ytjiu1XZu6YAZkvwjwniJmEgXgBL5vRtNtfAyy+pZow= - - - Modules/DouShouQiModel.swiftmodule/arm64-apple-ios-simulator.swiftmodule - - hash2 - - ZuRvy190qCUbdlu/cMfrXvj9Y0tdF6Dkw3FWd5I/A2Q= - - - Modules/DouShouQiModel.swiftmodule/x86_64-apple-ios-simulator.abi.json - - hash2 - - GiYRs1L94F2wuYb5eioTx92/kYQdn4yT7JhPK5AHTxU= - - - Modules/DouShouQiModel.swiftmodule/x86_64-apple-ios-simulator.private.swiftinterface - - hash2 - - EjXGpzyIimRu3pAcfzS/yVkUrPy2mPO58wjN+hAjXWs= - - - Modules/DouShouQiModel.swiftmodule/x86_64-apple-ios-simulator.swiftdoc - - hash2 - - SsJ/b3BHzQ9S5Wz5tzNZPeo8WQ4dX+hCQFo95fU45as= - - - Modules/DouShouQiModel.swiftmodule/x86_64-apple-ios-simulator.swiftinterface - - hash2 - - EjXGpzyIimRu3pAcfzS/yVkUrPy2mPO58wjN+hAjXWs= - - - Modules/DouShouQiModel.swiftmodule/x86_64-apple-ios-simulator.swiftmodule - - hash2 - - /0gPxbXk930g4m+FeiNXA2bM4M2Uzk8BrRdM3O+/j6U= - - - 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/ArkitDoushiQi/Model/XCFramework/capture.png b/ArkitDoushiQi/Model/XCFramework/capture.png deleted file mode 100644 index a4da54afa3cbfedb5c7dc27462f2a1ea0d5fabb0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 288653 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

r**|N8;%=|qJMd3#rEwoIE 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

We|E)r;myKe^{ zG)&HaA|LWq@h1wLZpf#b-DsKh08< z8td0=+!op)+#Vauadeg&lsQu20SfW<>Mzm;BhaPu5;$lDjm_xip-N0E>h^wK;w5;xO--305t4lD@%x%o-L3%c_!A z-OC}M_wIQ*eFBnD=K6j3#o0pP4YvWb;nOP(Rh%P+t9P zf^K&RpQ#2;?S-$lN zHAInxaQ;@_wBCFZn$X=@7g=tOu?bqVw5yD@^fjJsmiaD&W89!b?#xl}&nt6Z@#Gv2 zw){R4wEOn;VD^;lBqDZr%|`zp?@?yF@M86DO`_TwLU~PJfpr>MH<`(>^ukS=BYpXX z2|qf4d+cT|HO3`XZe$hi830{4|L-nD`zp5@jzyQWQ0*$xC=?R^^hDhD&AnRm&RBr@ znh;`r+l$ZIX#xag9!Z|H>bX)gM0HO8h|)kjmQ%y@MS7p98H{lr$G-X~iHpA;tbt#E zs4SVQDm`59K#4_6@OH_5RNS4MPt)|c;$*_RcYzd*g=U+)yFbWyQL7u@(ZNdh4@Rv2 zeuvC1%sp+&&ljsHC87mvZ0rvEbf!9Rt3%b0`%ftH6UolMD$`|mT1xRxQxhrLrj7(l zOOIl#%5za$JuJ$7fp3jFfUElX=oR-*YClfQ{O8YQ6SX_lK}-?VEYt&l9@*|~DYOf) zb?&ZEUDZ$ebjdBnmZ0~l%BOb1s5qyYXThb|i)>&<<;L7``mND5Jkzh?7;A#-uG}i^ zo)qSk=31oUiM7POhK+dIoS%VeaX~d{VF0%Nw7%mey*4HjfEpH&!o}y0v;^{V0;}}za>BF*aymg3a-vh z8eRjorhig}U1wN&&w9}7z{$i!5#r7Tn1E*vsataDa*9vq7pWQlQsPB4jOmjzP}p0G zhAqlLZR359l(LGIVy;to_jH;G$I0Hk!rmbuT!6evm zLBv5O`u4UGJVfM|suEHsps!!8uDJLtf zN}FB!duUM3IV&DWRWNYv%w=-<#bi`L)!`GD7_zH6TVgJ=X%@@b2z zl7JS^Qk~AIam<}e!K_R3^m34Qh2aLM7~v$N#!2kr08(POh}`4fgGUhCyc+LKAe_3S z00Nv;|4*+?-Q^p@&%Kb0`4ynY+L#lM`~N- z@EQmEL{5z}S*eKU50vG1-}BEjH^XFZ801gVf;7HtH{Tp9fAS``4o`K=uwo+E7KX(L zx#C%P$5QtV!!7eIigL2mdi)eZgJC>C?M}{)9$w3}2$fO8_z8vO)}@5j4Fx98Mw_N& zYnjNG&(af@0O3Q=RKQbmeYFzoKY}yGpn$?~pUqB*`+q~coTEw*4(r^{c<%S^kpt^G zx$&dXA#fy1QwQ?_c_w+kk*DoO`E4ok@JE7fTSvLa73NA=NsHXx$C`kBP0+Jdp|5jj z(v%Q5S*Q!9KVdHpJ?V8){|muSv@5VGsD=~FPkJX=*en=j#@cGzz?p%Wqcxu}(-J8b^IrmuDsm}t z&_)PIh=37W7PWT{Vi5^#s-NO5rCxHTS7^s_6^fZ;YV_YonjmigmqceI@ z<%>wsf#wu;3)?f$UY-h5`RdP-J|kOCxWjlo{$TqJ^hrqTbkOVg&F=s&Mjr_s)s^0( z7$=zkJAlVMgYcE>ab;nIT@P^ZbNO(uEyw23)``yYy=kmwrvpY=XUeCF$LDJMGX?y@ zoG$;dU=UFSmOKfDX|O#YFbTTf=maeQ->J!yZ|9cQTIQ{{f%C0rmJN+M0|6>`^s|VA zG4zyFQ=_@2jR~d%3I?Y64ZAWb1yek;WV)F)l97#q7mw@!W`ym~L=L^&6jMYi55G78 zPDDI``Jgj9AeEL(v+WfK=cQ&c_;iGpEKk1Q|Hpg+CuFIFH4;iy?>;)WhL6x%ehl3l zKWk_kD~?X3$RihvXLFO?TIqi1Mm;%kCQLk{a?!_^2I4P%sY!~EUh(@b^8(tX+31Y2 zUWb(CM3_NJJM7WHs}~lta8%`Zgt`2v6Fm7#%AH1U*knQDAj>r+uArD?PSr!I*c zLM_%K#GMZK0L<7i;H7HR;|x%|lGj*f6k_Jc`JK-Mm4g z0idi;3K2b4i*!=q3A{*YJB6nRws3J#O53AmbNEksxwn7_S6r}Ai|;@0|4A{zqb8l=59*$FrHbmMw> zuY^)1`DmI_2F1&{75JdsKWE`n(S}m&-O}|CPvaFG30qmoQRau&>OLdp3Ulf0ZIy*08KpUdI)NdGE2Q=Ji*7^I~$%SmUH@BPx{?Dlk^A;N}E zqL0l4aL1<=`5Z$*BOFl4ECKc($7*;BtO)2j~KB2bx#ca2MwTZoPsF7LV zrOi^32E);N30%D7=#5L68!Lb0)CKjXGdh#wm={@bNVG#fh*iYON$;+Zm4btWs2Ywe`v9gPw{|%%T*TIo1X( zvD1`>6h=Tu&X1ihIyEu6{#&d4x1Is$yyI#v57rEIJ)ujL3jCzBg*9>ySj+S{s+QDZE$s<`i=}S*hjen{MDnSM{))X;bs|iTuB2 z=CE)?-P;zEAdO>nzJUE7Hv0~FX6dXIk0b{-lg1-X3+>dO4;GoxDAkHk=x&aO6=5qj z-Wv8;>#v*g^@X4urn{#P5l0>4R&zdTw&iOQN#fWeO6E%b67oFRduX*^Cn*Ud(Z(736P?OhwUIBK z)9S=OH61fHU_#c`)s=pDyP+hlng-%*toxRnW`0_deb?|uQsM}XJ)rq>W)gnM(%bRtY8z=hIw{&vyzeu!KaU$St6qPF7Mk36e6B4(@@->RG2&^?xaE1gQ<>f{2=ql2 z5xcI}nrL3!{m`u^ZoRq_z?uh;U%ogempeO%J=_o?gqa5TWj_a3vJAjo#wXHocM!1o zc*dX#ary!y=B(uMhwp|L9y3n)Wk=T#39QrZ0&~ym5&Qd&?BFKDLXBeK{aol<8X(D1C^$BETku>G(62~DCuvBt@4^ibdQ=!i(@BznfLSw6rSEw0D z;^<54C5A^L!#6{QTXSsjywRbjyDfTL_|0S(SHQ)^$?>3OWMJ?Fx)d?^&sy^TMZfQ& z#9|0248;&dd^8CMzFo6*GxxXqv}&#@=0Rpb#C~``k>imvAZ>%ie{Ix2u zv$_tDwqYUQ3I#qaX~!f{dR+Vg3@!%Q(4TD-mJKcypOM@R(f9PQ84lK7xI^D%jyCf)H}?wPt^VVlD@Gk(>$?^c)Rs{-2X5Jjn45THKBF|C*~yNi zw#9kd4*k!j{NJQuySV+vl;Sm3H$iKO3q8Rx0kr1cBLRsuY@SB%{!c6u1y(_5P}p`Y zPjiNmwR%f94L=gF??%)}jEPgCwcU8|sa8)y^uE_jE(v4KKgJ2GK zfR|37(tWo32LYe@pAUkYZ81wQkU!e zmnfDFmtMp0*+Yq|+9m?dol$`yw)6?N&zr#4bI*9@CsuK0(K&XmKdNvv5NF|?hE*sQOOG-K|9j9uy8E=BsZal{mJ=x!C#=3l?< z8382;9i$cHIZ2;yK-uoJeJS~-)j6t4U+2J`-?h>JXrcQLtrS)9#k=JY(FFFSxcm^D zlAW?mo1Z9X0k%U3UA5|@8`Wuv_tVOSiluWerZl91iW$nV=Dhq7zy;wZ+lhimm$k9ks|6^s-hzwHvO{FO* z#$-mqN3>`1y@eG1V_U2Glc&c7;hxMZgbb0uZ2_F}T74#f_s(A3QCP!A6NozWD&8<2 zm9XxVJLHFIr^{{Ffd@GVKnf6k=`cR`6z3m6fEf z7!;6HUOlUdzf!wuqP#O~O1u<=ytlIn2rIy{3FvDy^bUlrG1sbw?9%t{NPJw;+-m_+ z{#2AQ8eOMyCd5n0x1sCFNEBcmj4+<4noLhR0~w_E4wa{w8jVH%7XY<{CmL-LNv8NM z{_*S*L$bwsG)2P=VThHaS1QmD*NYr;0riD@`3A$KALx@ujX~_*?s;M2P zE=mnWs-w}KdL{Eevtt0OVe&AvP|CkvFLv;VyBKu!_pe)Z`ks6f{;Ux|#K$Z)23|^z zYUjO*IaSCmOlOK{7r&(Oa_Yn-qw;n03dauYc{U*qL02W=Q}2hc|0`xwwJ$Knq&?1` zg(&fwluzj2&zX`GAC{MWG)uE0xG&ew+|ELc zW6?gD3GH%N%IjsjAx2uDtt_#BARw5AqNoJy3S!q{(SpRn{)MJwGC-LC`W6LUr8-ep zs#(8m9qIDfZI0Q7MgHoD?Yi;qg)wJs6I7;|R~Jjve8b$SrZ8pxNTu;fKv15Qgh4)pilA0BHKp#o%Rvk zz`i_}6`}JVrP_7c;FIT;w8cF>22IRhj(5YkxSc>LrzEhxtLFHEl8e*NnvUJ&uM!1h)&yzD<5-$-0XSC6p}6^g242pH z5;<&|-}gQV1Df7hShQp|RdOeY-w+okN6X1|v+<;Xg!0kgFdkw+KYg?#%t)dyXZluz zs!z?;Tv6|(9!v&vVoO3{`z~K!3w$;uwLKZJg^e)-&H3&1;K$ztb5b;R@=?2$$RtoJ zd}IJ&$dNCeBQqH{3Y_*lnzx6ewI9utcV+SX^7<_~#f>1+OIUTX$YMpGm!l@y#rAY2 z)(z~QLC1F{E{3c66zpPRb=(PV*4mdxPZAy-C$_>)GLq8%v^Hy-2(;J_)r5`cy9-G8rT~) z4Smxs(Zlo`1Z#``1VIBD(}^Zs{*2FiPwOSRJ~D#0{n{2ycLi7ryjO)lF+**lgf z;&|0q^h12p&v$Z5`+4$7hXDVJ-R`N2llrTWk~wq0w2=pdV0^Ubu|8vkrDaJGh=cg_ zbLmMxj_H{jAxu_7SRfBUGz82_+IA>Jq-!6j~VM>AI~;3{o)Po zy;~fj<@#goqOgZSVY6j5g<3V8=i!USo)SF(M!&XCV0xlFSIa5|i}CS~Yb5@XZ)3%!uh#vwdmxb4D+ z`jWP>bbL<&@@Pen6iqVfb|Sd7@ii~vWjC|RMLSuJ`~8IdNp1GEm7dn?Q%`?9Fjo&d zhffnD5?ca)By&zYld9)}ac#yVYG0-SmOY<>^4^BHir$UePqL-)wC=l!;;Q=rjdkORuoY>)3g7H~!bnrDk7sghkRMF#gfO#KI_^F=JwjRQ2Sl7|jcU%NJLjQ7Xa# zh>QL9+?y}a7gs?k*01WHUL9cnr0uv?x1~}2dh2+8nv7wbzQ39vc|#Z*{Bmrgy?uT` zYE~edMWs$0Z8YGQkyE2T53(+RE3pjQB`7o6(u-%8e0?aHN{6WiEzZ!!KJSZX<@1$0-s0RqE1}Mam zDYV)CS&pQhva^I6z@I)Jy7EkqyZ z*GzSqYb$CoueRZZ&9G#W3*I6WrhIZpqBWmQ`IatNH6jw%U-9yw6<0QHj7`YruSDA_ zNjUgIE;kZ8&rf&~)`cwBAJ}f$46I8iaEOXTW2>3%hwcwns%)L)r7)%f+A0|Sr_Ie} z=%rh@fE5HL8aAI*MzP6v+Pu(x#t?JIlX5l_qC)Pdg;ueLJ!&jl6Nh<+aQVQE2ueyiX*%xhJYIq1zq z_4qR|s0)btuvD*qNt>OaIDTW*2Sykh%p#WFSgzr>&eJ^sk3rFL2aVUKYWIjn@-kw( zB28j_bQav{FzhT*s+mkIA6OL1&mk&q85`~95mu-_?n-apg*P$5mrv}60ZRrZMaWS9 z(s`cFl(*~|#~1pQ4ZR3u~aqu4;q41Pr* z(}J*R{w#lo$AoJo=-%&Ad3KX8{hREEG3s-z5eJ7bPeLB?`W)*!#Zc*LfF6@d=}tBC znxaQ?OU5RyCDDCX&X2L(%!l7<1U~-44M$5X&6hA1la2}WoxkpWX(q**{xB$|>4=A< zsz|pHesy^F+J)aKQUk9Rw9b(DD;;WV=?~D@3Ns7kaRj+BWc6!pL>o03cu*H2j?l|F zk)|jB7;p%Ds~Pw>@E!!h^jXmut~b)@bN(lqPQ3dZO}{+g4|qP(@NPsAeVGhS_AQ1!;r;HnnDOzy3Q# zniDgc)Pgu9)qSBKJd-Gquq6~Td?>mr(pCy%(H#I9Gn(3tiT8i1<8)MiOv98vX*H++ z*1VXD@=2z|HLeQTN1M`+G$C^zb+*<$ZA?ZjcXrf$0CCE$B>>1w890PH@yYnxAH^Oa zKZC+rr|(tD1asdLKVh)cl=7tGnFSE>B8Kbc`U~~CN=Fi5qPU{O(Lahs>j-x$5R36!ZSP4mfXYw+e~OKd zi{Kvq`TZ)_QDKL_=;($KSG8)d%kvTaDE|$TnP~uFo%@aU2a9O$58k2RO}6K3P|)c! z+(!YdbliXo@e=<^_mI>*YgM{M<;GS{5~(pqd{vzgmS2Rg)#Ex!xTLZ9$@%hY=y#B% zCy_sZCLNf0oeMzEEuGZw3jBqCX+r;%oh2r(b(BE$3)=dP_xR$|1~V+$B9ja6C%}FV%5SoNvjaG!eZem z0A7TZn#^mIMg_xD8#_mt{gf`BJV#LycKE|vnTj=vYz|hivVTM)%=E~gw zsx*mYh8^cC8`6g;kDEJF*Md;?y|+*q{9^AafVno@@eLTiUxR?-rU>26sJ_d?cVh&Y zr%R6GKny11q?iYciyoHQsh!JTY<>g!55V$oaCJ9~yV`j~w&sm_k>j@!TUzSA8cS5B z)UZ6!Y*60k$FuHV69~r*G_}e9c^^{Q1Mhf#FsUeTk}<^`M)EnhT%u#CYBxr#S4NX6B`Ra!HgN- zIUsbVQ6qZKaElRXO)VbzUtA%d)Gh@c_^3$IBQ6v`(K1 z_M=@?^kM80Z4DQ@MLjPsX{%MSvkD3R@{^A`7 zT>V+YWUpr!ybAC5ypK98z~`s8Em($}-gQ#od`tOS0|E`lZRZxRaZ!g?OT8JxY+y|N z90JXi5py;1D8#P3rSf>(cIrN=W8m*B$}l`XLuylSgJlW=5=sgwh%L8i5gaMqfhsJ@ z&R-3(bh(l{cK=vPDzCBBhc3%4Fxn3NqcuVWJx-fCO&OJW>^6~BMUl43pd$Ri{U)>VCwcB5| z)Yt?4-+34d9X+rCeX@PTXD_ur1YCr>+trHnjEHoH+;$q9SbMVS{%oy77P_|9kOkJ{ z+*#!Tnyd?uS5isY+AWN?gvUQ51wK=%qx0{*kvhoHE%>;Ox&R;3TlnJ-DhU4lCc|6Y zg~Z%A+*`;b8nSXB9P_w*fZCzMa=+ecVcu?}i5k|=3M_ud-_bbUuf1r~5`innm`cJG zY_zx)EJofD|Kpfa>7hk9H}ZIE}5hEER@|CnBP zO76zxsg6$8+0t5U)>`+Q?tduJJ9TMQx7Wp<*u@HEad{n%e2iHKuiu?trRo+d;*&Es zH$UxsHdEaw{YDgiA%(icxd%?p9uJS>W6F0ce%0OUD*8I%@4U|-$Eqc_cJ@r%X;OTX zmgAz@O?E*hwxFYC0Ur{;+2edYS~!VpqUO1U_A-T9-7Fg8=B3VZ_mreUv@+Nf9oVqB z1#D+#A^YqI7xP!LHj$1kUB~1q{I<3{S@jxL0Ys%d3|&b*ti&2f)TGudV~KO#lCpAu zBo(D`s}k8$v3=U#%QTyB|Iy%~X8 z{I3zDBxQZu<)1sHLl@KA7|P8(>p8%CLk%;kZf#+t8^XqZ7~ABuTJ&5$ zwFj-dc#M=8F<9N!?-ai`U$Dqy1LI>+t9=5T0d){!k7~z$lbo*JTcGp{Wbjh11+@hR zOnyk`o<3`3BrGM%PoswCT)|0`0-lX-=V|Ku?5~b7I!9rYBkm!C7rf0)_?mRGEgGbq zS3W_fRR%bC=K4)HFqQp_$3E&w&)_Ei1-Ftj7JtSBvUHK2=Qikw9kVxD!fXBphIQpr zLPH>BYPVn7Gr-LhE=S)^pB|wUNlx#S;lNa8h?8gdG(S;7Mv?IA9O+eUf@G;pq9^nI zq(V#-*CmmC7tSmTjfO9P3{T!?hm|9o&DSFOs9I0eJB?@BLQ_!#{N`&aYolyoZdjr( zq;T(FtOb~pYp<69SkZ5+&_At0lwa8MQQ-b1pK+ilTkJPXaefc3?)Rh6kkEMEyGCTp zKt<;RMP_+?wPypIDjomKj*Mi7>(&YzVDc2vyN$uJVLP!_ z^V~mUz~0)e)&jVsgs@y&!|PQ4P)cV8eFD~a+hz1q?ulAA`+A$BMGM#eCsv)wLlBn- zQI4(EmS`n@rK+Qxu{v@gM@k<1KmG^2kY_b{kobZHdAU`q44ryCF{B-Ym_RszUEuS8gLt;IeZw8lszKO z!-k)0c zD+Fx3Am8$1jPY86W@wP2_j5AXY^mf9dUOaP&vqg!xg3v<;kh$kD(IxHrs-WUDfD9Y zQ{3WLH3lmw2*>dq=h+q7mWq`9LVGE?-T1_6SAMdQl_r_f-j*M6Gh%BohR zgzNh~;u+$wTK20wJt+^66?ufZmuCg)WKPp9(sC6cOiz{WhG%fhM*onV=&)yb@}v*R zK(a>>^QN6@kFVh7938>hwH1#cVr#l+#|jG0^+e8BN$&~NC+2MGrRE%gHLmvo*~^CS z!V)&kj5*hzkKzAsxcLvs+DB+;uB_r?i`Sx2wK*P{clCb8=llboA3w`YT{e?AM0SF4 zKH-GL7SNPbkYsW$}@^tAhH&QR0_N1kDHU4p~s4jr$vs zwTXRK?*mw)%fWF&YCPUy6t&X=wo4$Zd4=V>ET0)s%RW-}Sf+f8|7E#Xzlk;+sv2$u zNg)ofj#u7+g)d9j^6GI`_rXroXXhv^U|GGpyr9jljfhx}b%+A?afjKU{31Gv^(wF_ zni37I%Z3Yf9GHP5vT3a=8V`4WTKn{AbR#@zSCpas; z(_$#Uynnk`94m1@Q6#c2O+|RIu8Ys2Mp-LB{UIaf&YKNy2JrUKOOsP+-|as35x4Q( z3o|`XyExh{7YK`T?cm*6Hs+PJFp5wry1`flcKZ3D^*n(W>KfDkb}G!}@V0`{yT5Bk z!jSDA6?s`WaiUrUFT8(47*U3hPUwI-KwUmdj|=?RE2|#JC8|~J;${|Pm@b|io7@EF zp3X;or%4rP{da0YLfgh=?8<78Y1GZDL?3ChvAS+MwP(;x;FI7h;qc0`yjq~dI4#?4 z^H$5YTJ|`&s)}l6<)E73Fb)Cgf%%XVjlq0mp+tcxA-C!UIXk$b+7KP5y|mowP$T;l zK8kCgO^V82lv3pFlY8*T&^rFDUGomW_NVyVSY-w9Za{PkCn}w_L94@)B#gOv zafycY%Ko_80_CSU7-T@t8ZaYe?bt$R%QiuNC-~lzD&QDaydBv;8%Zl?2NE)|OsvwQ z_D7t94+H9@?I~e)+wF@(lA3-3nbksrev)ENnF3?i$v8at7I3~)k!pmmd4(;9Y1WB7 z`JSVdprnHo*MppaJ#zaC+Vi^U1@=c+qf@2>J9XqttKK<4PqPIsm`Lv{9C&+gsjUub z_b2-X!6=ahY@@grp}mkah~#!K9S+A4XDz zdp+4_1?HQW)uue~&%8ds#3*(>v8y{gt@^ zS<#$A?}89MwI?wK1f(u<#TJ6AUp-aUdhFa^$9B+Rp#xPE$-Xl8{Iqy1e`%50u&6Y; zAr*@rt*l?ULCRtzrgVQtpu;h%^$#sR|iO2~=6`Ltt2TWxPz<2)Q_Vlg%n z(Ka}wvyZwSf1gbaHqoFPR0vxh&t*swJ5%1cK}TKU00y8&{zB(D-oo|t3)NaskSBf>lEDF)YiUl?janc}7F z@*U*OQcCiIiIpAUC%Q$3@-o>X`8I9GgVE4QQJFRpO<*%aEFwq~N$zt=(;TcG^#p_53|Z0{$0EFwa04a&UvhK^>j z(*s2JN55ekP8OWoJas2LzSM6mt$1nHs+*g84+Ij=2)5_qZ#0G_z@Is7(wxcyInMBO zr>+r1Z_Zs!JHN~NE6{cC*&5$|J4wnEzrrm?9IOo9 zs0kW<{xhhQbSFr`<6}D%jwdz9j*c(j zT>~CwCs8Z$`zvrup_HlHItRCp^rP9cM_L?YiNELIa|hedvE{?}HpOPlWc@v1G$*Ew zkjv(eKa_{`L~Czqz7fo6{T&%zg78^{egq?--`#i(% zOdlNX4^LUF>2XzDR#06k2l(?>S@$QjSI4*{t|9zKU16YfiS_QikSMTgBC@PXm~csm zOX5(25#2u>+{@%S+WkF`NN=M50%)MZ@s^4kcON2UJF7frdAC&8HI=%H9#7`h)k%sq zxTBDPVB45&_#s#baxa{65H4BYjp}Y453j4>A>-<=_MB9nR(Z!oS?>& zM;#`}xk)EERSOI!?LeMsPp(vlO1D~|;|(E6fx48BL>R_Ii?wSUy41HcM-fP#+n-}7 zNUgdjj&JhIca8yg-0hZEACMyekcM-K*DIy%1|RGo*@O{=_t!62Z=2TEpnhs&M0i~q zOuGGnUDCD_Kiru+y~#!!Kfk=_oZy}$X#Nbd=%A_N%h1F$;%N`(!LUIzM$aZT?yL3P zhzVw7xj>HhH^X!7c#6qIk&nQ_T0XK#1;rYCLtWQ+0w^x9id8_-!E^H*^&#MaL!mEl z|0T|wM5G~M;V)U`AP;gmmUqz+5(YUkuP1|k4vp6RtmuEP8h0>?@g7^aVTmoA_Z${K zvR$#mzShg&Fs0qE%sZ@XB3N7X=Uuhhnowg%j_&>Z^Anh?c}Sx2RE;kXdDX6}3!V&w z(;#nVUs}n+1!q)g9mb1*M7^4Z$->omvrCQPekl|M(X&s#XCV?)5x!0hbo~|gy^FMF ziM*%yYM_4=Ex@|O*t;#^j1o9rWHuj%o9Y4dKSKiub#fy!QeLUTN0Ai{c#OG>)HT4zaRgUz zvvCO|#I}vz@M!`^Yn!KQyfh6u)a1h!yegc$N;SJEkut@so-O2CBozZ+?vr4{VGM{M z$Zt|jZ%`xg(}QT;mE{LEMATSv6denFGGt8xU84c@exb;C1;|7cj0!~&ruEQM`~IxH p@(&@%pHyG|zp!=}#dgmuFe#y#n0YOS=YZGWcJ2LZ*^VDh|2Ia^N`3$U diff --git a/ArkitDoushiQi/Model/XCFramework/howto.md b/ArkitDoushiQi/Model/XCFramework/howto.md deleted file mode 100644 index 4778c7f..0000000 --- a/ArkitDoushiQi/Model/XCFramework/howto.md +++ /dev/null @@ -1,12 +0,0 @@ -# How to use the framework? - -Drag and drop the **_DSQ.xcframework_** folder in the *Frameworks, Libraries, and Embedded Content* of your XCode app settings. - -![xcframework](capture.png) - -> Note: -> This work only for iOS (iPhone/iPad devices and iPhone/iPad simulators). - -Do not forget to use the certificates provided in the [following repository](https://codefirst.iut.uca.fr/git/mchSamples_Apple/appleCertificates). - -This library has not been fully tested and may change over time. Do not hesitate to contact me if you find any bug. \ No newline at end of file