| @@ -0,0 +1,283 @@ | |||
| --- | |||
| BasedOnStyle: Microsoft | |||
| Language: CSharp | |||
| AccessModifierOffset: -4 | |||
| AlignAfterOpenBracket: BlockIndent | |||
| AlignArrayOfStructures: None | |||
| AlignConsecutiveMacros: None | |||
| AlignConsecutiveAssignments: None | |||
| AlignConsecutiveBitFields: None | |||
| AlignConsecutiveDeclarations: None | |||
| AlignEscapedNewlines: Right | |||
| AlignOperands: Align | |||
| AlignTrailingComments: true | |||
| AllowAllArgumentsOnNextLine: true | |||
| AllowAllParametersOfDeclarationOnNextLine: true | |||
| AllowShortEnumsOnASingleLine: false | |||
| AllowShortBlocksOnASingleLine: Never | |||
| AllowShortCaseLabelsOnASingleLine: false | |||
| AllowShortFunctionsOnASingleLine: None | |||
| AllowShortLambdasOnASingleLine: All | |||
| AllowShortIfStatementsOnASingleLine: Never | |||
| AllowShortLoopsOnASingleLine: false | |||
| AlwaysBreakAfterDefinitionReturnType: None | |||
| AlwaysBreakAfterReturnType: None | |||
| AlwaysBreakBeforeMultilineStrings: false | |||
| AlwaysBreakTemplateDeclarations: MultiLine | |||
| AttributeMacros: | |||
| - __capability | |||
| BinPackArguments: false | |||
| BinPackParameters: false | |||
| BraceWrapping: | |||
| AfterCaseLabel: true | |||
| AfterClass: true | |||
| AfterControlStatement: Always | |||
| AfterEnum: true | |||
| AfterFunction: true | |||
| AfterNamespace: true | |||
| AfterObjCDeclaration: true | |||
| AfterStruct: true | |||
| AfterUnion: true | |||
| AfterExternBlock: true | |||
| BeforeCatch: true | |||
| BeforeElse: true | |||
| BeforeLambdaBody: true | |||
| BeforeWhile: false | |||
| IndentBraces: false | |||
| SplitEmptyFunction: true | |||
| SplitEmptyRecord: true | |||
| SplitEmptyNamespace: true | |||
| BreakBeforeBinaryOperators: None | |||
| BreakBeforeConceptDeclarations: true | |||
| BreakBeforeBraces: Custom | |||
| BreakInheritanceList: AfterColon | |||
| BreakBeforeTernaryOperators: false | |||
| BreakConstructorInitializersBeforeComma: false | |||
| BreakConstructorInitializers: AfterColon | |||
| BreakAfterJavaFieldAnnotations: false | |||
| BreakStringLiterals: false | |||
| ColumnLimit: 0 | |||
| CommentPragmas: '^ THU pragma:' | |||
| CompactNamespaces: false | |||
| ConstructorInitializerIndentWidth: 4 | |||
| ContinuationIndentWidth: 4 | |||
| Cpp11BracedListStyle: true | |||
| DeriveLineEnding: true | |||
| DerivePointerAlignment: false | |||
| DisableFormat: false | |||
| EmptyLineAfterAccessModifier: Never | |||
| EmptyLineBeforeAccessModifier: Always | |||
| ExperimentalAutoDetectBinPacking: false | |||
| PackConstructorInitializers: CurrentLine | |||
| FixNamespaceComments: true | |||
| ForEachMacros: | |||
| - foreach | |||
| - Q_FOREACH | |||
| - BOOST_FOREACH | |||
| IfMacros: | |||
| - KJ_IF_MAYBE | |||
| IncludeBlocks: Merge | |||
| IncludeCategories: | |||
| - Regex: '^"(llvm|llvm-c|clang|clang-c)/' | |||
| Priority: 2 | |||
| SortPriority: 0 | |||
| CaseSensitive: false | |||
| - Regex: '^(<|"(gtest|gmock|isl|json)/)' | |||
| Priority: 3 | |||
| SortPriority: 0 | |||
| CaseSensitive: false | |||
| - Regex: '.*' | |||
| Priority: 1 | |||
| SortPriority: 0 | |||
| CaseSensitive: false | |||
| IndentAccessModifiers: false | |||
| IndentCaseLabels: true | |||
| IndentCaseBlocks: true | |||
| IndentExternBlock: AfterExternBlock | |||
| IndentGotoLabels: true | |||
| IndentPPDirectives: None | |||
| IndentRequires: false | |||
| IndentWidth: 4 | |||
| IndentWrappedFunctionNames: true | |||
| InsertTrailingCommas: None | |||
| LambdaBodyIndentation: Signature | |||
| MaxEmptyLinesToKeep: 1 | |||
| NamespaceIndentation: All | |||
| PointerAlignment: Left | |||
| QualifierAlignment: Leave | |||
| ReferenceAlignment: Pointer | |||
| ReflowComments: true | |||
| SeparateDefinitionBlocks: Leave | |||
| SortIncludes: Never | |||
| SpaceAfterTemplateKeyword: false | |||
| SpaceBeforeAssignmentOperators: true | |||
| SpaceBeforeCaseColon: false | |||
| SpaceBeforeCtorInitializerColon: true | |||
| SpaceBeforeInheritanceColon: true | |||
| SpaceBeforeParens: ControlStatements | |||
| SpaceBeforeParensOptions: | |||
| AfterControlStatements: true | |||
| AfterForeachMacros: true | |||
| AfterFunctionDefinitionName: false | |||
| AfterFunctionDeclarationName: false | |||
| AfterIfMacros: true | |||
| AfterOverloadedOperator: false | |||
| BeforeNonEmptyParentheses: false | |||
| SpaceBeforeRangeBasedForLoopColon: true | |||
| SpacesInSquareBrackets: false | |||
| SpaceInEmptyBlock: true | |||
| SpaceInEmptyParentheses: false | |||
| SpacesBeforeTrailingComments: 2 | |||
| SpacesInAngles: Never | |||
| SpacesInCStyleCastParentheses: false | |||
| SpacesInConditionalStatement: false | |||
| SpacesInContainerLiterals: false | |||
| SpacesInLineCommentPrefix: | |||
| Minimum: 1 | |||
| SpacesInParentheses: false | |||
| SpaceBeforeSquareBrackets: false | |||
| Standard: Latest | |||
| TabWidth: 4 | |||
| UseTab: Never | |||
| --- | |||
| BasedOnStyle: Google | |||
| Language: Cpp | |||
| AccessModifierOffset: -4 | |||
| AlignAfterOpenBracket: BlockIndent | |||
| AlignArrayOfStructures: None | |||
| AlignConsecutiveMacros: None | |||
| AlignConsecutiveAssignments: None | |||
| AlignConsecutiveBitFields: None | |||
| AlignConsecutiveDeclarations: None | |||
| AlignEscapedNewlines: Right | |||
| AlignOperands: Align | |||
| AlignTrailingComments: true | |||
| AllowAllArgumentsOnNextLine: true | |||
| AllowAllParametersOfDeclarationOnNextLine: true | |||
| AllowShortEnumsOnASingleLine: false | |||
| AllowShortBlocksOnASingleLine: Never | |||
| AllowShortCaseLabelsOnASingleLine: false | |||
| AllowShortFunctionsOnASingleLine: None | |||
| AllowShortLambdasOnASingleLine: All | |||
| AllowShortIfStatementsOnASingleLine: Never | |||
| AllowShortLoopsOnASingleLine: false | |||
| AlwaysBreakAfterDefinitionReturnType: None | |||
| AlwaysBreakAfterReturnType: None | |||
| AlwaysBreakBeforeMultilineStrings: false | |||
| AlwaysBreakTemplateDeclarations: MultiLine | |||
| AttributeMacros: | |||
| - __capability | |||
| BinPackArguments: false | |||
| BinPackParameters: false | |||
| BraceWrapping: | |||
| AfterCaseLabel: true | |||
| AfterClass: true | |||
| AfterControlStatement: Always | |||
| AfterEnum: true | |||
| AfterFunction: true | |||
| AfterNamespace: true | |||
| AfterObjCDeclaration: true | |||
| AfterStruct: true | |||
| AfterUnion: true | |||
| AfterExternBlock: true | |||
| BeforeCatch: true | |||
| BeforeElse: true | |||
| BeforeLambdaBody: true | |||
| BeforeWhile: false | |||
| IndentBraces: false | |||
| SplitEmptyFunction: true | |||
| SplitEmptyRecord: true | |||
| SplitEmptyNamespace: true | |||
| BreakBeforeBinaryOperators: None | |||
| BreakBeforeConceptDeclarations: true | |||
| BreakBeforeBraces: Custom | |||
| BreakInheritanceList: AfterColon | |||
| BreakBeforeTernaryOperators: false | |||
| BreakConstructorInitializersBeforeComma: false | |||
| BreakConstructorInitializers: AfterColon | |||
| BreakAfterJavaFieldAnnotations: false | |||
| BreakStringLiterals: false | |||
| ColumnLimit: 0 | |||
| CommentPragmas: '^ THU pragma:' | |||
| CompactNamespaces: false | |||
| ConstructorInitializerIndentWidth: 4 | |||
| ContinuationIndentWidth: 4 | |||
| Cpp11BracedListStyle: true | |||
| DeriveLineEnding: true | |||
| DerivePointerAlignment: false | |||
| DisableFormat: false | |||
| EmptyLineAfterAccessModifier: Never | |||
| EmptyLineBeforeAccessModifier: Always | |||
| ExperimentalAutoDetectBinPacking: false | |||
| PackConstructorInitializers: CurrentLine | |||
| FixNamespaceComments: true | |||
| ForEachMacros: | |||
| - foreach | |||
| - Q_FOREACH | |||
| - BOOST_FOREACH | |||
| IfMacros: | |||
| - KJ_IF_MAYBE | |||
| IncludeBlocks: Merge | |||
| IncludeCategories: | |||
| - Regex: '^"(llvm|llvm-c|clang|clang-c)/' | |||
| Priority: 2 | |||
| SortPriority: 0 | |||
| CaseSensitive: false | |||
| - Regex: '^(<|"(gtest|gmock|isl|json)/)' | |||
| Priority: 3 | |||
| SortPriority: 0 | |||
| CaseSensitive: false | |||
| - Regex: '.*' | |||
| Priority: 1 | |||
| SortPriority: 0 | |||
| CaseSensitive: false | |||
| IndentAccessModifiers: false | |||
| IndentCaseLabels: true | |||
| IndentCaseBlocks: true | |||
| IndentExternBlock: AfterExternBlock | |||
| IndentGotoLabels: true | |||
| IndentPPDirectives: None | |||
| IndentRequires: false | |||
| IndentWidth: 4 | |||
| IndentWrappedFunctionNames: true | |||
| InsertTrailingCommas: None | |||
| LambdaBodyIndentation: Signature | |||
| MaxEmptyLinesToKeep: 1 | |||
| NamespaceIndentation: All | |||
| PointerAlignment: Left | |||
| QualifierAlignment: Leave | |||
| ReferenceAlignment: Pointer | |||
| ReflowComments: true | |||
| SeparateDefinitionBlocks: Leave | |||
| SortIncludes: Never | |||
| SpaceAfterTemplateKeyword: false | |||
| SpaceBeforeAssignmentOperators: true | |||
| SpaceBeforeCaseColon: false | |||
| SpaceBeforeCtorInitializerColon: true | |||
| SpaceBeforeInheritanceColon: true | |||
| SpaceBeforeParens: ControlStatements | |||
| SpaceBeforeParensOptions: | |||
| AfterControlStatements: true | |||
| AfterForeachMacros: true | |||
| AfterFunctionDefinitionName: false | |||
| AfterFunctionDeclarationName: false | |||
| AfterIfMacros: true | |||
| AfterOverloadedOperator: false | |||
| BeforeNonEmptyParentheses: false | |||
| SpaceBeforeRangeBasedForLoopColon: true | |||
| SpacesInSquareBrackets: false | |||
| SpaceInEmptyBlock: true | |||
| SpaceInEmptyParentheses: false | |||
| SpacesBeforeTrailingComments: 2 | |||
| SpacesInAngles: Never | |||
| SpacesInCStyleCastParentheses: false | |||
| SpacesInConditionalStatement: false | |||
| SpacesInContainerLiterals: false | |||
| SpacesInLineCommentPrefix: | |||
| Minimum: 1 | |||
| SpacesInParentheses: false | |||
| SpaceBeforeSquareBrackets: false | |||
| Standard: c++17 | |||
| TabWidth: 4 | |||
| UseTab: Never | |||
| @@ -0,0 +1,45 @@ | |||
| ############################################################################### | |||
| # Set default behavior to automatically normalize line endings. | |||
| ############################################################################### | |||
| * text=auto | |||
| ############################################################################### | |||
| # behavior for image files | |||
| # image files are treated as binary by default. | |||
| ############################################################################### | |||
| *.jpg binary | |||
| *.png binary | |||
| *.gif binary | |||
| *.bmp binary | |||
| *.ico binary | |||
| *.jpeg binary | |||
| *.jfif binary | |||
| ############################################################################### | |||
| # diff behavior for common document formats | |||
| # Convert binary document formats to text before diffing them. | |||
| ############################################################################### | |||
| *.doc diff=astextplain | |||
| *.DOC diff=astextplain | |||
| *.docx diff=astextplain | |||
| *.DOCX diff=astextplain | |||
| *.dot diff=astextplain | |||
| *.DOT diff=astextplain | |||
| *.pdf diff=astextplain | |||
| *.PDF diff=astextplain | |||
| *.rtf diff=astextplain | |||
| *.RTF diff=astextplain | |||
| ############################################################################### | |||
| # Force Windows cmd and batch scripts to always use crlf line endings so that if | |||
| # a repo is accessed in Windows via a file share from Unix, the scripts will | |||
| # work. | |||
| ############################################################################### | |||
| *.cmd text eol=crlf | |||
| *.bat text eol=crlf | |||
| ############################################################################### | |||
| # Force bash scripts to always use lf line endings so that if a repo is accessed | |||
| # in Unix via a file share from Windows, the scripts will work. | |||
| ############################################################################### | |||
| *.sh text eol=lf | |||
| @@ -3,11 +3,11 @@ | |||
| <!-- 在提出这个 pull request 之前,请勾选下面的问题: --> | |||
| - [ ] 您的代码是否能够编译通过? | |||
| - [ ] 您是否检查了目前在 [pull requests](https://github.com/eesast/THUAI5/pulls) 中是否有与你的贡献功能相同的更改? | |||
| - [ ] 您的贡献是否符合[贡献者代码协议](https://github.com/eesast/THUAI5/blob/dev/CODE_OF_CONDUCT.md)? | |||
| - [ ] 您的贡献是否符合[开发规则](https://github.com/eesast/THUAI5#%E5%BC%80%E5%8F%91%E8%A7%84%E5%88%99)? | |||
| - [ ] 您是否检查了目前在 [pull requests](https://github.com/eesast/THUAI6/pulls) 中是否有与你的贡献功能相同的更改? | |||
| - [ ] 您的贡献是否符合[贡献者代码协议](https://github.com/eesast/THUAI6/blob/dev/CODE_OF_CONDUCT.md)? | |||
| - [ ] 您的贡献是否符合[开发规则](https://github.com/eesast/THUAI6#%E5%BC%80%E5%8F%91%E8%A7%84%E5%88%99)? | |||
| Discriptions of this pull request: | |||
| Descriptions of this pull request: | |||
| <!-- If you have something to say about this pull request, delete the sentence 'No additional discription.' below and add your description. --> | |||
| <!-- 如果你对这次的 pull request 有一些描述,请删除下面的句子“No additional discription.”并加上你的描述。 --> | |||
| @@ -0,0 +1,13 @@ | |||
| name: clang-format | |||
| on: [push, pull_request] | |||
| jobs: | |||
| clang-format-checking: | |||
| runs-on: ubuntu-latest | |||
| steps: | |||
| - uses: actions/checkout@v3 | |||
| - uses: DoozyX/clang-format-lint-action@v0.14 | |||
| with: | |||
| source: '.' | |||
| extensions: 'cs,c,h,C,H,cpp,hpp,cc,hh,c++,h++,cxx,hxx,i,ixx,ipp,i++' | |||
| clangFormatVersion: 14 | |||
| inplace: False | |||
| @@ -0,0 +1,3 @@ | |||
| # .vs, .vscode must be ignored | |||
| .vs/ | |||
| .vscode/ | |||
| @@ -0,0 +1,499 @@ | |||
| ## Ignore Visual Studio temporary files, build results, and | |||
| ## files generated by popular Visual Studio add-ons. | |||
| ## | |||
| ## Get latest from https://github.com/github/gitignore/blob/main/VisualStudio.gitignore | |||
| # User-specific files | |||
| *.rsuser | |||
| *.suo | |||
| *.user | |||
| *.userosscache | |||
| *.sln.docstates | |||
| # User-specific files (MonoDevelop/Xamarin Studio) | |||
| *.userprefs | |||
| # Mono auto generated files | |||
| mono_crash.* | |||
| # Build results | |||
| [Dd]ebug/ | |||
| [Dd]ebugPublic/ | |||
| [Rr]elease/ | |||
| [Rr]eleases/ | |||
| x64/ | |||
| x86/ | |||
| [Ww][Ii][Nn]32/ | |||
| [Aa][Rr][Mm]/ | |||
| [Aa][Rr][Mm]64/ | |||
| bld/ | |||
| [Bb]in/ | |||
| [Oo]bj/ | |||
| [Ll]og/ | |||
| [Ll]ogs/ | |||
| # Visual Studio 2015/2017 cache/options directory | |||
| .vs/ | |||
| # Uncomment if you have tasks that create the project's static files in wwwroot | |||
| #wwwroot/ | |||
| # Visual Studio 2017 auto generated files | |||
| Generated\ Files/ | |||
| # MSTest test Results | |||
| [Tt]est[Rr]esult*/ | |||
| [Bb]uild[Ll]og.* | |||
| # NUnit | |||
| *.VisualState.xml | |||
| TestResult.xml | |||
| nunit-*.xml | |||
| # Build Results of an ATL Project | |||
| [Dd]ebugPS/ | |||
| [Rr]eleasePS/ | |||
| dlldata.c | |||
| # Benchmark Results | |||
| BenchmarkDotNet.Artifacts/ | |||
| # .NET Core | |||
| project.lock.json | |||
| project.fragment.lock.json | |||
| artifacts/ | |||
| # ASP.NET Scaffolding | |||
| ScaffoldingReadMe.txt | |||
| # StyleCop | |||
| StyleCopReport.xml | |||
| # Files built by Visual Studio | |||
| *_i.c | |||
| *_p.c | |||
| *_h.h | |||
| *.ilk | |||
| *.meta | |||
| *.obj | |||
| *.iobj | |||
| *.pch | |||
| *.pdb | |||
| *.ipdb | |||
| *.pgc | |||
| *.pgd | |||
| *.rsp | |||
| *.sbr | |||
| *.tlb | |||
| *.tli | |||
| *.tlh | |||
| *.tmp | |||
| *.tmp_proj | |||
| *_wpftmp.csproj | |||
| *.log | |||
| *.tlog | |||
| *.vspscc | |||
| *.vssscc | |||
| .builds | |||
| *.pidb | |||
| *.svclog | |||
| *.scc | |||
| # Chutzpah Test files | |||
| _Chutzpah* | |||
| # Visual C++ cache files | |||
| ipch/ | |||
| *.aps | |||
| *.ncb | |||
| *.opendb | |||
| *.opensdf | |||
| *.sdf | |||
| *.cachefile | |||
| *.VC.db | |||
| *.VC.VC.opendb | |||
| # Visual Studio profiler | |||
| *.psess | |||
| *.vsp | |||
| *.vspx | |||
| *.sap | |||
| # Visual Studio Trace Files | |||
| *.e2e | |||
| # TFS 2012 Local Workspace | |||
| $tf/ | |||
| # Guidance Automation Toolkit | |||
| *.gpState | |||
| # ReSharper is a .NET coding add-in | |||
| _ReSharper*/ | |||
| *.[Rr]e[Ss]harper | |||
| *.DotSettings.user | |||
| # TeamCity is a build add-in | |||
| _TeamCity* | |||
| # DotCover is a Code Coverage Tool | |||
| *.dotCover | |||
| # AxoCover is a Code Coverage Tool | |||
| .axoCover/* | |||
| !.axoCover/settings.json | |||
| # Coverlet is a free, cross platform Code Coverage Tool | |||
| coverage*.json | |||
| coverage*.xml | |||
| coverage*.info | |||
| # Visual Studio code coverage results | |||
| *.coverage | |||
| *.coveragexml | |||
| # NCrunch | |||
| _NCrunch_* | |||
| .*crunch*.local.xml | |||
| nCrunchTemp_* | |||
| # MightyMoose | |||
| *.mm.* | |||
| AutoTest.Net/ | |||
| # Web workbench (sass) | |||
| .sass-cache/ | |||
| # Installshield output folder | |||
| [Ee]xpress/ | |||
| # DocProject is a documentation generator add-in | |||
| DocProject/buildhelp/ | |||
| DocProject/Help/*.HxT | |||
| DocProject/Help/*.HxC | |||
| DocProject/Help/*.hhc | |||
| DocProject/Help/*.hhk | |||
| DocProject/Help/*.hhp | |||
| DocProject/Help/Html2 | |||
| DocProject/Help/html | |||
| # Click-Once directory | |||
| publish/ | |||
| # Publish Web Output | |||
| *.[Pp]ublish.xml | |||
| *.azurePubxml | |||
| # Note: Comment the next line if you want to checkin your web deploy settings, | |||
| # but database connection strings (with potential passwords) will be unencrypted | |||
| *.pubxml | |||
| *.publishproj | |||
| # Microsoft Azure Web App publish settings. Comment the next line if you want to | |||
| # checkin your Azure Web App publish settings, but sensitive information contained | |||
| # in these scripts will be unencrypted | |||
| PublishScripts/ | |||
| # NuGet Packages | |||
| *.nupkg | |||
| # NuGet Symbol Packages | |||
| *.snupkg | |||
| # The packages folder can be ignored because of Package Restore | |||
| **/[Pp]ackages/* | |||
| # except build/, which is used as an MSBuild target. | |||
| !**/[Pp]ackages/build/ | |||
| # Uncomment if necessary however generally it will be regenerated when needed | |||
| #!**/[Pp]ackages/repositories.config | |||
| # NuGet v3's project.json files produces more ignorable files | |||
| *.nuget.props | |||
| *.nuget.targets | |||
| # Microsoft Azure Build Output | |||
| csx/ | |||
| *.build.csdef | |||
| # Microsoft Azure Emulator | |||
| ecf/ | |||
| rcf/ | |||
| # Windows Store app package directories and files | |||
| AppPackages/ | |||
| BundleArtifacts/ | |||
| Package.StoreAssociation.xml | |||
| _pkginfo.txt | |||
| *.appx | |||
| *.appxbundle | |||
| *.appxupload | |||
| # Visual Studio cache files | |||
| # files ending in .cache can be ignored | |||
| *.[Cc]ache | |||
| # but keep track of directories ending in .cache | |||
| !?*.[Cc]ache/ | |||
| # Others | |||
| ClientBin/ | |||
| ~$* | |||
| *~ | |||
| *.dbmdl | |||
| *.dbproj.schemaview | |||
| *.jfm | |||
| *.pfx | |||
| *.publishsettings | |||
| orleans.codegen.cs | |||
| # Including strong name files can present a security risk | |||
| # (https://github.com/github/gitignore/pull/2483#issue-259490424) | |||
| #*.snk | |||
| # Since there are multiple workflows, uncomment next line to ignore bower_components | |||
| # (https://github.com/github/gitignore/pull/1529#issuecomment-104372622) | |||
| #bower_components/ | |||
| # RIA/Silverlight projects | |||
| Generated_Code/ | |||
| # Backup & report files from converting an old project file | |||
| # to a newer Visual Studio version. Backup files are not needed, | |||
| # because we have git ;-) | |||
| _UpgradeReport_Files/ | |||
| Backup*/ | |||
| UpgradeLog*.XML | |||
| UpgradeLog*.htm | |||
| ServiceFabricBackup/ | |||
| *.rptproj.bak | |||
| # SQL Server files | |||
| *.mdf | |||
| *.ldf | |||
| *.ndf | |||
| # Business Intelligence projects | |||
| *.rdl.data | |||
| *.bim.layout | |||
| *.bim_*.settings | |||
| *.rptproj.rsuser | |||
| *- [Bb]ackup.rdl | |||
| *- [Bb]ackup ([0-9]).rdl | |||
| *- [Bb]ackup ([0-9][0-9]).rdl | |||
| # Microsoft Fakes | |||
| FakesAssemblies/ | |||
| # GhostDoc plugin setting file | |||
| *.GhostDoc.xml | |||
| # Node.js Tools for Visual Studio | |||
| .ntvs_analysis.dat | |||
| node_modules/ | |||
| # Visual Studio 6 build log | |||
| *.plg | |||
| # Visual Studio 6 workspace options file | |||
| *.opt | |||
| # Visual Studio 6 auto-generated workspace file (contains which files were open etc.) | |||
| *.vbw | |||
| # Visual Studio 6 auto-generated project file (contains which files were open etc.) | |||
| *.vbp | |||
| # Visual Studio 6 workspace and project file (working project files containing files to include in project) | |||
| *.dsw | |||
| *.dsp | |||
| # Visual Studio 6 technical files | |||
| *.ncb | |||
| *.aps | |||
| # Visual Studio LightSwitch build output | |||
| **/*.HTMLClient/GeneratedArtifacts | |||
| **/*.DesktopClient/GeneratedArtifacts | |||
| **/*.DesktopClient/ModelManifest.xml | |||
| **/*.Server/GeneratedArtifacts | |||
| **/*.Server/ModelManifest.xml | |||
| _Pvt_Extensions | |||
| # Paket dependency manager | |||
| .paket/paket.exe | |||
| paket-files/ | |||
| # FAKE - F# Make | |||
| .fake/ | |||
| # CodeRush personal settings | |||
| .cr/personal | |||
| # Python Tools for Visual Studio (PTVS) | |||
| __pycache__/ | |||
| *.pyc | |||
| # Cake - Uncomment if you are using it | |||
| # tools/** | |||
| # !tools/packages.config | |||
| # Tabs Studio | |||
| *.tss | |||
| # Telerik's JustMock configuration file | |||
| *.jmconfig | |||
| # BizTalk build output | |||
| *.btp.cs | |||
| *.btm.cs | |||
| *.odx.cs | |||
| *.xsd.cs | |||
| # OpenCover UI analysis results | |||
| OpenCover/ | |||
| # Azure Stream Analytics local run output | |||
| ASALocalRun/ | |||
| # MSBuild Binary and Structured Log | |||
| *.binlog | |||
| # NVidia Nsight GPU debugger configuration file | |||
| *.nvuser | |||
| # MFractors (Xamarin productivity tool) working folder | |||
| .mfractor/ | |||
| # Local History for Visual Studio | |||
| .localhistory/ | |||
| # Visual Studio History (VSHistory) files | |||
| .vshistory/ | |||
| # BeatPulse healthcheck temp database | |||
| healthchecksdb | |||
| # Backup folder for Package Reference Convert tool in Visual Studio 2017 | |||
| MigrationBackup/ | |||
| # Ionide (cross platform F# VS Code tools) working folder | |||
| .ionide/ | |||
| # Fody - auto-generated XML schema | |||
| FodyWeavers.xsd | |||
| # VS Code files for those working on multiple tools | |||
| .vscode/* | |||
| !.vscode/settings.json | |||
| !.vscode/tasks.json | |||
| !.vscode/launch.json | |||
| !.vscode/extensions.json | |||
| *.code-workspace | |||
| # Local History for Visual Studio Code | |||
| .history/ | |||
| # Windows Installer files from build outputs | |||
| *.cab | |||
| *.msi | |||
| *.msix | |||
| *.msm | |||
| *.msp | |||
| # JetBrains Rider | |||
| *.sln.iml | |||
| #THUAI playback file | |||
| *.thuaipb | |||
| # Prerequisites | |||
| *.d | |||
| # Compiled Object files | |||
| *.slo | |||
| *.lo | |||
| *.o | |||
| *.obj | |||
| # Precompiled Headers | |||
| *.gch | |||
| *.pch | |||
| # Compiled Dynamic libraries | |||
| *.so | |||
| *.dylib | |||
| *.dll | |||
| # Fortran module files | |||
| *.mod | |||
| *.smod | |||
| # Compiled Static libraries | |||
| *.lai | |||
| *.la | |||
| *.a | |||
| *.lib | |||
| # Executables | |||
| *.exe | |||
| *.out | |||
| *.app | |||
| # Prerequisites | |||
| *.d | |||
| # Object files | |||
| *.o | |||
| *.ko | |||
| *.obj | |||
| *.elf | |||
| # Linker output | |||
| *.ilk | |||
| *.map | |||
| *.exp | |||
| # Precompiled Headers | |||
| *.gch | |||
| *.pch | |||
| # Libraries | |||
| *.lib | |||
| *.a | |||
| *.la | |||
| *.lo | |||
| # Shared objects (inc. Windows DLLs) | |||
| *.dll | |||
| *.so | |||
| *.so.* | |||
| *.dylib | |||
| # Executables | |||
| *.exe | |||
| *.out | |||
| *.app | |||
| *.i*86 | |||
| *.x86_64 | |||
| *.hex | |||
| # Debug files | |||
| *.dSYM/ | |||
| *.su | |||
| *.idb | |||
| *.pdb | |||
| # Kernel Module Compile Results | |||
| *.mod* | |||
| *.cmd | |||
| .tmp_versions/ | |||
| modules.order | |||
| Module.symvers | |||
| Mkfile.old | |||
| dkms.conf | |||
| CMakeLists.txt.user | |||
| CMakeCache.txt | |||
| CMakeFiles | |||
| CMakeScripts | |||
| Testing | |||
| Makefile | |||
| cmake_install.cmake | |||
| install_manifest.txt | |||
| compile_commands.json | |||
| CTestTestfile.cmake | |||
| _deps | |||
| @@ -0,0 +1,154 @@ | |||
| <?xml version="1.0" encoding="utf-8"?> | |||
| <Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | |||
| <ItemGroup Label="ProjectConfigurations"> | |||
| <ProjectConfiguration Include="Debug|Win32"> | |||
| <Configuration>Debug</Configuration> | |||
| <Platform>Win32</Platform> | |||
| </ProjectConfiguration> | |||
| <ProjectConfiguration Include="Release|Win32"> | |||
| <Configuration>Release</Configuration> | |||
| <Platform>Win32</Platform> | |||
| </ProjectConfiguration> | |||
| <ProjectConfiguration Include="Debug|x64"> | |||
| <Configuration>Debug</Configuration> | |||
| <Platform>x64</Platform> | |||
| </ProjectConfiguration> | |||
| <ProjectConfiguration Include="Release|x64"> | |||
| <Configuration>Release</Configuration> | |||
| <Platform>x64</Platform> | |||
| </ProjectConfiguration> | |||
| </ItemGroup> | |||
| <PropertyGroup Label="Globals"> | |||
| <VCProjectVersion>16.0</VCProjectVersion> | |||
| <Keyword>Win32Proj</Keyword> | |||
| <ProjectGuid>{b9ac3133-177d-453c-8066-ed4702d3f36a}</ProjectGuid> | |||
| <RootNamespace>API</RootNamespace> | |||
| <WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion> | |||
| </PropertyGroup> | |||
| <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> | |||
| <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration"> | |||
| <ConfigurationType>Application</ConfigurationType> | |||
| <UseDebugLibraries>true</UseDebugLibraries> | |||
| <PlatformToolset>v143</PlatformToolset> | |||
| <CharacterSet>Unicode</CharacterSet> | |||
| </PropertyGroup> | |||
| <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration"> | |||
| <ConfigurationType>Application</ConfigurationType> | |||
| <UseDebugLibraries>false</UseDebugLibraries> | |||
| <PlatformToolset>v143</PlatformToolset> | |||
| <WholeProgramOptimization>true</WholeProgramOptimization> | |||
| <CharacterSet>Unicode</CharacterSet> | |||
| </PropertyGroup> | |||
| <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration"> | |||
| <ConfigurationType>Application</ConfigurationType> | |||
| <UseDebugLibraries>true</UseDebugLibraries> | |||
| <PlatformToolset>v143</PlatformToolset> | |||
| <CharacterSet>Unicode</CharacterSet> | |||
| </PropertyGroup> | |||
| <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration"> | |||
| <ConfigurationType>Application</ConfigurationType> | |||
| <UseDebugLibraries>false</UseDebugLibraries> | |||
| <PlatformToolset>v143</PlatformToolset> | |||
| <WholeProgramOptimization>true</WholeProgramOptimization> | |||
| <CharacterSet>Unicode</CharacterSet> | |||
| </PropertyGroup> | |||
| <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> | |||
| <ImportGroup Label="ExtensionSettings"> | |||
| </ImportGroup> | |||
| <ImportGroup Label="Shared"> | |||
| </ImportGroup> | |||
| <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> | |||
| <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> | |||
| </ImportGroup> | |||
| <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> | |||
| <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> | |||
| </ImportGroup> | |||
| <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> | |||
| <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> | |||
| </ImportGroup> | |||
| <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> | |||
| <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> | |||
| </ImportGroup> | |||
| <PropertyGroup Label="UserMacros" /> | |||
| <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> | |||
| <LinkIncremental>true</LinkIncremental> | |||
| </PropertyGroup> | |||
| <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> | |||
| <LinkIncremental>false</LinkIncremental> | |||
| </PropertyGroup> | |||
| <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> | |||
| <LinkIncremental>true</LinkIncremental> | |||
| </PropertyGroup> | |||
| <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> | |||
| <LinkIncremental>false</LinkIncremental> | |||
| </PropertyGroup> | |||
| <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> | |||
| <ClCompile> | |||
| <WarningLevel>Level3</WarningLevel> | |||
| <SDLCheck>true</SDLCheck> | |||
| <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> | |||
| <ConformanceMode>true</ConformanceMode> | |||
| <LanguageStandard>stdcpp17</LanguageStandard> | |||
| <LanguageStandard_C>stdc17</LanguageStandard_C> | |||
| </ClCompile> | |||
| <Link> | |||
| <SubSystem>Console</SubSystem> | |||
| <GenerateDebugInformation>true</GenerateDebugInformation> | |||
| </Link> | |||
| </ItemDefinitionGroup> | |||
| <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> | |||
| <ClCompile> | |||
| <WarningLevel>Level3</WarningLevel> | |||
| <FunctionLevelLinking>true</FunctionLevelLinking> | |||
| <IntrinsicFunctions>true</IntrinsicFunctions> | |||
| <SDLCheck>true</SDLCheck> | |||
| <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> | |||
| <ConformanceMode>true</ConformanceMode> | |||
| <LanguageStandard>stdcpp17</LanguageStandard> | |||
| <LanguageStandard_C>stdc17</LanguageStandard_C> | |||
| </ClCompile> | |||
| <Link> | |||
| <SubSystem>Console</SubSystem> | |||
| <EnableCOMDATFolding>true</EnableCOMDATFolding> | |||
| <OptimizeReferences>true</OptimizeReferences> | |||
| <GenerateDebugInformation>true</GenerateDebugInformation> | |||
| </Link> | |||
| </ItemDefinitionGroup> | |||
| <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> | |||
| <ClCompile> | |||
| <WarningLevel>Level3</WarningLevel> | |||
| <SDLCheck>true</SDLCheck> | |||
| <PreprocessorDefinitions>_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> | |||
| <ConformanceMode>true</ConformanceMode> | |||
| <LanguageStandard>stdcpp17</LanguageStandard> | |||
| <LanguageStandard_C>stdc17</LanguageStandard_C> | |||
| </ClCompile> | |||
| <Link> | |||
| <SubSystem>Console</SubSystem> | |||
| <GenerateDebugInformation>true</GenerateDebugInformation> | |||
| </Link> | |||
| </ItemDefinitionGroup> | |||
| <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> | |||
| <ClCompile> | |||
| <WarningLevel>Level3</WarningLevel> | |||
| <FunctionLevelLinking>true</FunctionLevelLinking> | |||
| <IntrinsicFunctions>true</IntrinsicFunctions> | |||
| <SDLCheck>true</SDLCheck> | |||
| <PreprocessorDefinitions>NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> | |||
| <ConformanceMode>true</ConformanceMode> | |||
| <LanguageStandard>stdcpp17</LanguageStandard> | |||
| <LanguageStandard_C>stdc17</LanguageStandard_C> | |||
| </ClCompile> | |||
| <Link> | |||
| <SubSystem>Console</SubSystem> | |||
| <EnableCOMDATFolding>true</EnableCOMDATFolding> | |||
| <OptimizeReferences>true</OptimizeReferences> | |||
| <GenerateDebugInformation>true</GenerateDebugInformation> | |||
| </Link> | |||
| </ItemDefinitionGroup> | |||
| <ItemGroup> | |||
| </ItemGroup> | |||
| <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> | |||
| <ImportGroup Label="ExtensionTargets"> | |||
| </ImportGroup> | |||
| </Project> | |||
| @@ -0,0 +1,17 @@ | |||
| <?xml version="1.0" encoding="utf-8"?> | |||
| <Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | |||
| <ItemGroup> | |||
| <Filter Include="源文件"> | |||
| <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier> | |||
| <Extensions>cpp;c;cc;cxx;c++;cppm;ixx;def;odl;idl;hpj;bat;asm;asmx</Extensions> | |||
| </Filter> | |||
| <Filter Include="头文件"> | |||
| <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier> | |||
| <Extensions>h;hh;hpp;hxx;h++;hm;inl;inc;ipp;xsd</Extensions> | |||
| </Filter> | |||
| <Filter Include="资源文件"> | |||
| <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier> | |||
| <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions> | |||
| </Filter> | |||
| </ItemGroup> | |||
| </Project> | |||
| @@ -0,0 +1,31 @@ | |||
| | |||
| Microsoft Visual Studio Solution File, Format Version 12.00 | |||
| # Visual Studio Version 17 | |||
| VisualStudioVersion = 17.0.32014.148 | |||
| MinimumVisualStudioVersion = 10.0.40219.1 | |||
| Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "API", "API\API.vcxproj", "{B9AC3133-177D-453C-8066-ED4702D3F36A}" | |||
| EndProject | |||
| Global | |||
| GlobalSection(SolutionConfigurationPlatforms) = preSolution | |||
| Debug|x64 = Debug|x64 | |||
| Debug|x86 = Debug|x86 | |||
| Release|x64 = Release|x64 | |||
| Release|x86 = Release|x86 | |||
| EndGlobalSection | |||
| GlobalSection(ProjectConfigurationPlatforms) = postSolution | |||
| {B9AC3133-177D-453C-8066-ED4702D3F36A}.Debug|x64.ActiveCfg = Debug|x64 | |||
| {B9AC3133-177D-453C-8066-ED4702D3F36A}.Debug|x64.Build.0 = Debug|x64 | |||
| {B9AC3133-177D-453C-8066-ED4702D3F36A}.Debug|x86.ActiveCfg = Debug|Win32 | |||
| {B9AC3133-177D-453C-8066-ED4702D3F36A}.Debug|x86.Build.0 = Debug|Win32 | |||
| {B9AC3133-177D-453C-8066-ED4702D3F36A}.Release|x64.ActiveCfg = Release|x64 | |||
| {B9AC3133-177D-453C-8066-ED4702D3F36A}.Release|x64.Build.0 = Release|x64 | |||
| {B9AC3133-177D-453C-8066-ED4702D3F36A}.Release|x86.ActiveCfg = Release|Win32 | |||
| {B9AC3133-177D-453C-8066-ED4702D3F36A}.Release|x86.Build.0 = Release|Win32 | |||
| EndGlobalSection | |||
| GlobalSection(SolutionProperties) = preSolution | |||
| HideSolutionNode = FALSE | |||
| EndGlobalSection | |||
| GlobalSection(ExtensibilityGlobals) = postSolution | |||
| SolutionGuid = {372B1478-522C-4EEB-A527-983D310A3F50} | |||
| EndGlobalSection | |||
| EndGlobal | |||
| @@ -0,0 +1,50 @@ | |||
| # CAPI | |||
| ## 简介 | |||
| C++ 通信组件与选手接口 | |||
| ## 目标 | |||
| ### 基本目标 | |||
| - 基于 Protobuf 与 gRPC,为客户端提供 C++ 通信组件 | |||
| - 为选手提供游戏接口 | |||
| ### 重要目标 | |||
| - 理解 RPC 的工作原理,使用 gRPC 完善通信逻辑 | |||
| - 将通信逻辑与游戏逻辑分离开,便于日后复用 | |||
| - 客户端不对游戏人数、观战人数做出任何限制,这些方面全都由服务器决定 | |||
| - 改进选手接口,思考如何强制禁止选手一直占用 CPU 而导致 CPU 占用过大的问题。 | |||
| ### 提高目标 | |||
| - 提供其他语言的接口:Python、Java、Rust ...... | |||
| ## 统一约定 | |||
| - 主要使用现代 C++ 进行编程 | |||
| - 代码应当能够同时运行在 Windows 10 平台和 Linux 平台上。Windows 平台下采用 MSVC 作为编译工具,Linux 平台采用 GCC 作为编译工具 | |||
| - Windows 下的开发工具使用 Visual Studio 2019 或 Visual Studio 2022,语言标准采用 C++17 和 C17 (MSVC 编译选项 `/std:c++17; /std:c17`),并且应同时在 x64 平台的 Debug 与 Release 模式下正确编译并运行 | |||
| - Linux 下 C 语言编译工具使用 gcc,语言标准为 `-std=c17`;C++ 编译工具使用 g++,语言标准为 `-std=c++17`。优化选项为 `-O2`,生成 64 位程序 `-m64`,并编写相应的 Makefile | |||
| ## 注意事项 | |||
| - 与逻辑组共同商议通信协议 | |||
| - Visual Studio 新建的 C++ 代码文件默认字符编码是 GB2312、默认缩进方式是 TAB,应该注意手动改成 UTF-8 和 空格缩进 | |||
| - 了解 Visual Studio 的项目属性配置,例如第三方库的链接、预定义宏等 | |||
| - 使用现代 C++ 进行编程,尽量避免裸指针,多使用引用和智能指针 | |||
| - 了解 C、C++ 预处理、编译、链接的基本概念 | |||
| - 注意模块化、单元化,降低各个类、各个模块之间的耦合。特别注意避免相互依赖、环形依赖的问题 | |||
| - 遵循头文件(`.h`、`.hpp`)的编写规范 | |||
| + 杜绝头文件相互包含与环形包含 | |||
| + 头文件中最好同时写 `#pragma once` 以及保护宏,而 `cpp` 中不要写这两个东西 | |||
| + 头文件中**禁止** `using namespace std`!!!也不允许在任何自定义的名字空间中 `using namespace std`!!! | |||
| + 头文件和 `cpp` 文件各司其职,代码写在改写的位置 | |||
| + 禁止 include .cpp 或 .c 文件 | |||
| - 避免忙等待,注意线程安全,做好线程同步 | |||
| ## 开发人员 | |||
| - ......(自己加) | |||
| @@ -7,19 +7,21 @@ | |||
| ## 向 THUAI6 贡献代码 | |||
| + 将 `eesast/THUAI6` fork 到自己的仓库中 | |||
| + 基于 `dev` 分支建立一个新的功能分支 | |||
| + 在新的分支上进行修改与开发 | |||
| + 向 `eesast/THUAI6` 的 `dev` 分支提出 pull request | |||
| + 等待社区人员进行 review 与 merge | |||
| 请遵循一下贡献流程,向 THUAI6 贡献代码 | |||
| 1. 将 `eesast/THUAI6` fork 到自己的仓库中 | |||
| 2. 基于 `dev` 分支建立一个新的功能分支 | |||
| 3. 在新的分支上进行修改与开发 | |||
| 4. 向 `eesast/THUAI6` 的 `dev` 分支提出 pull request | |||
| 5. 等待社区人员进行 review 与 merge | |||
| ## 向 THUAI6 贡献问题与思路 | |||
| 任何对 THUAI6 的建设有新思路的开发者、发现了 THUAI6 的 BUG 的人员,均可以在本仓库提出 issue。推荐使用本仓库设置的 issue 模板。 | |||
| 任何对 THUAI6 的建设有新思路的开发者、发现了 THUAI6 的 BUG 的人员,均可以向本仓库提出 issue。推荐使用本仓库设置的 issue 模板。 | |||
| ### 不要发布 “+1” 评论 | |||
| ### 关于评论 | |||
| 类似于“+1”、“👍”、“\xxgg/”这类简短的无意义的评论不要出现在本仓库的评论中,推荐发表有意义的评论。 | |||
| 欢迎发表有建设意义的评论;请不要发表类似于 “+1”、“👍”、“\xxgg/” 无意义的评论。 | |||
| ## 开发者交流 | |||
| @@ -1,2 +1,179 @@ | |||
| # THUAI6 | |||
| 清华大学第六届人工智能挑战赛电子系赛道(原电子系第 24 届队式程序设计大赛 teamstyle24) | |||
| Gitee 镜像地址:[THUAI6: Gitee Image](https://gitee.com/eesast/THUAI6) | |||
| GitLink 镜像地址:[THUAI6: GitLink Image](https://www.gitlink.org.cn/EESAST/THUAI6) | |||
| ## 赛题背景 | |||
| 待定 | |||
| ## 比赛规则 | |||
| 待定 | |||
| ## 软件架构 | |||
|  | |||
| ## 仓库说明 | |||
| ### 配置说明 | |||
| 本仓库使用 git 进行版本控制,为所有开发工作共用仓库,请勿上传不必要的文件。主目录文件结构非必要请勿修改,且主目录中已配置的`.gitignore`、`.gitattributes`文件非必要请勿修改;各子目录已预先包含使用`Visual Studio`开发的`.gitignore`模板,可以根据自身需要增加忽略规则;如有必要,可在子目录下自定义`.gitattributes`文件 | |||
| ### 目录分配 | |||
| | 子目录 | 说明 | 主要开发组 | | |||
| | :--------: | :--------------------------------------------------------: | :----------------------------: | | |||
| | .github | CI,用于选手包同步到服务器上供选手下载 | 运维组 | | |||
| | CAPI | C++ 选手接口,生成可执行文件 | 通信组 | | |||
| | dependency | 项目依赖文件,如 proto、dll、lib、dockerfile、shell 脚本等 | 逻辑组、通信组、运维组、界面组 | | |||
| | installer | 下载器,用于选手包的下载与更新,生成可执行文件 | 运维组 | | |||
| | interface | Unity 界面 | 界面组 | | |||
| | launcher | 游戏启动器,用于快速启动游戏,生成可执行文件 | 运维组 | | |||
| | logic | 游戏逻辑,生成可执行文件 | 逻辑组 | | |||
| | playback | 游戏回放组件,生成类库 | 逻辑组 | | |||
| | resource | 资源文件目录,用于存储主目录下 README 所用图片 | 端茶倒水 | | |||
| ### 分支管理 | |||
| - main:代码较稳定版本或阶段性成果,需要 2 reviewers,但由总负责人(端茶倒水)维护 | |||
| - dev:各开发者开发工作的最新进展,需要 1 reviewer | |||
| ## 开发规则 | |||
| ### 关于社区开发者 | |||
| - 社区开发者开发工作请遵循 [THUAI6社区开发者贡献指南](./CONTRIBUTING.md) | |||
| - 社区开发者贡献的代码请遵循 [Contributor Covenant Code of Conduct](./CODE_OF_CONDUCT.md) | |||
| ### 开发流程 | |||
| THUAI6 开发组成员与其他贡献者应当遵循以下流程: | |||
| 1. 将 `eesast/THUAI6` fork 到自己的仓库中 | |||
| 2. 基于 `dev` 分支建立一个新的功能分支 | |||
| 3. 在新的分支上进行修改与开发 | |||
| 4. 向 `eesast/THUAI6` 的 `dev` 分支提出 pull request | |||
| 5. 等待其他开发组成员 review 与 merge | |||
| ### 使用 Git 与 Github 时的注意事项 | |||
| - 非必要请勿上传大文件到 Github | |||
| - commit 提交信息请遵循 Semantic Commit 规范,即:`type: content `格式 | |||
| 常用的 commit message type 包括: | |||
| | Type | Explanation | | |||
| | :------: | :--------------------------------------------: | | |||
| | chore | 日常代码开发;改变构建流程;增加依赖库、工具等 | | |||
| | fix | 修复bug | | |||
| | refactor | 改变代码结构,但没有增加新功能 | | |||
| | docs | 修改文档,如 README、CONTRIBUTE 等 | | |||
| | revert | 版本回退 | | |||
| | style | 仅仅修改了空格、格式缩进、逗号等等 | | |||
| | ... | ... | | |||
| - 鼓励开发组成员之间互相 review 并 merge 代码到 dev 分支上。merge 前建议简单检查其 pull request 是否符合上述规范 | |||
| - 一般情况下,不要向 main 分支提出 pull request,更不要 merge 到 main 分支上 | |||
| - 一般情况下,不允许 merge 无法通过 CI 的 pull request | |||
| ### 开发约定 | |||
| + 统一使用空格缩进而非制表符缩进 | |||
| + 统一使用 4 个空格进行缩进而非 2 个 | |||
| + 统一使用 UTF-8 字符编码 | |||
| ## 代码风格 | |||
| 本仓库严格规定了`C++`与`CSharp`代码风格,具体配置请参见 [.clang-format](.clang-format) | |||
| ### 风格说明 | |||
| 几项重要规定如下: | |||
| - 需严格按照要求缩进 | |||
| ~~~csharp | |||
| namespace Exp | |||
| { | |||
| public class Program | |||
| { | |||
| public static void Main() | |||
| { | |||
| } | |||
| } | |||
| } | |||
| ~~~ | |||
| - `if`、`while`等关键字后须加空格 | |||
| ~~~csharp | |||
| while (1) | |||
| { | |||
| // code | |||
| } | |||
| ~~~ | |||
| - 大括号须换行书写 | |||
| ~~~csharp | |||
| // Allowed | |||
| if (...) | |||
| { | |||
| // ... | |||
| } | |||
| // Forbidden !!! | |||
| if (...) { | |||
| // ... | |||
| } | |||
| ~~~ | |||
| ### 规范风格 | |||
| - 请按照配置文件 [.clang-format](.clang-format) 对代码进行规范;可以使用脚本 [dependency/shell/format.sh](./dependency/shell/format.sh) 规范代码风格 | |||
| ## 其他注意事项 | |||
| + 文件的字符编码格式须统一使用 UTF-8 编码,并用 4 空格缩进,尤其是 C/C++:Visual Studio 创建 cpp 文件时默认使用 GB2312 编码、TAB 缩进,因此每创建一个文件都需要注意手动设置字符编码(当代码文件中出现中文时)和缩进方式 | |||
| + 使用等宽字体进行编程,例如 Source Code Pro、Consolas 等,便于对齐 | |||
| + 注意代码的整洁性与可读性 | |||
| + 代码风格尽量统一。书写不要过于紧凑,善于使用空格、缩进与换行来让代码看起来更整洁 | |||
| + 命名风格尽量统一。相同类别的命名规则要相同,例如类名统一使用大驼峰命名法或其他常用的命名法,但是不要混用(非必要不使用匈牙利命名法) | |||
| + 命名应当通俗易懂,让阅读代码者能够通过命名理解变量、函数等的意义。除循环变量等可以使用 `i`、`j`、`k` 等单字母外,其他的命名应当明白如话,且谨慎使用缩写。尽量使用众人皆知的缩写,不要自创缩写。如果连自己都不知道的缩写或根本没有众人皆知的缩写,则应当坚持使用全称,命名可以适当加长。 | |||
| 常用的缩写有: | |||
| > address-addr、answer-ans、application-app、arguments-args、array-arr、assemble-asm、(a)synchronize-(a)sync、attribute-attr、begin-beg、bitmap-bmp、buffer-buf、button-btn、clock-clk、command-cmd、coordinates-coord、copy-cpy、count-cnt、current-cur、database-db、decrease-dec、default/define-def、delete-del、dependency-dep、destination-dest、device-dev、dialog-dlg、dictionary-dict、display-disp、divide-div、document-doc、educate-edu、equal-eq、error-err、extend-ext、format-fmt、frequency-freq、function-func、horizon-horz、image-img、implement-impl、increment-inc、index-idx、information-info、initialize-init、instance-inst、iterator-itr、length-len、list-lst、memory-mem、message-msg、middle-mid、number-num、object-obj、package-pkg、parameter-param、password-pwd、pointer-ptr、position-pos、previous-prev、receive-recv、reference-ref、resource/result-res、return-ret、second-sec、select-sel、semaphore-sem、signal-sig、source-src、stack-stk、standard-std、statistic/state-stat、string-str、system-sys、temporary-temp/tmp、text-txt、user-usr、value-val、variable-var、version-ver、vertical-vert、window-win | |||
| > | |||
| - 命名允许较长,但不应过于啰嗦冗余,能完整表明意图即可。 | |||
| - 代码应保证良好的可读性;**禁止**中学 OI 竞赛的各种“卡常”奇技淫巧!!!效率并非总是最重要的,良好的可读性与可维护性往往更加重要 | |||
| - 熟练运用面向对象编程的思想,设计架构时尽可能降低模块与模块的耦合性,保证代码的可维护性 | |||
| - 慎用全局变量、全局函数等 | |||
| - 尽可能将各功能模块化,便于日后复用;尽可能降低类与类的耦合,善用继承与多态 | |||
| - 适当设计单元测试,保证代码的正确运行 | |||
| - 注意跨平台问题,代码需保证同时支持 Windows 与 Linux,避免直接的系统调用带来的跨平台问题 | |||
| - 注意维护开发文档,便于后来者快速了解本仓库代码结构 | |||
| - 小组内合理分工,避免个人任务量过重或过轻 | |||
| - 做好部会记录,及时完成工作任务,避免拖延到ddl | |||
| - 各组间多交流,相互了解各自的开发进度,加强协作,遇到困难互相帮助 | |||
| - 加油,奥里给 | |||
| ## 开发组成员 | |||
| - 逻辑组:黄淞、游笑权、高思研 | |||
| - 通信组:王溢寒、李羿璇 | |||
| - 界面组:杨思琪、刘腾旋 | |||
| - 运维组:庄继敏、王诗凯 | |||
| - 端茶倒水:唐昌礼 | |||
| @@ -0,0 +1,363 @@ | |||
| ## Ignore Visual Studio temporary files, build results, and | |||
| ## files generated by popular Visual Studio add-ons. | |||
| ## | |||
| ## Get latest from https://github.com/github/gitignore/blob/master/VisualStudio.gitignore | |||
| # User-specific files | |||
| *.rsuser | |||
| *.suo | |||
| *.user | |||
| *.userosscache | |||
| *.sln.docstates | |||
| # User-specific files (MonoDevelop/Xamarin Studio) | |||
| *.userprefs | |||
| # Mono auto generated files | |||
| mono_crash.* | |||
| # Build results | |||
| [Dd]ebug/ | |||
| [Dd]ebugPublic/ | |||
| [Rr]elease/ | |||
| [Rr]eleases/ | |||
| x64/ | |||
| x86/ | |||
| [Ww][Ii][Nn]32/ | |||
| [Aa][Rr][Mm]/ | |||
| [Aa][Rr][Mm]64/ | |||
| bld/ | |||
| [Bb]in/ | |||
| [Oo]bj/ | |||
| [Oo]ut/ | |||
| [Ll]og/ | |||
| [Ll]ogs/ | |||
| # Visual Studio 2015/2017 cache/options directory | |||
| .vs/ | |||
| # Uncomment if you have tasks that create the project's static files in wwwroot | |||
| #wwwroot/ | |||
| # Visual Studio 2017 auto generated files | |||
| Generated\ Files/ | |||
| # MSTest test Results | |||
| [Tt]est[Rr]esult*/ | |||
| [Bb]uild[Ll]og.* | |||
| # NUnit | |||
| *.VisualState.xml | |||
| TestResult.xml | |||
| nunit-*.xml | |||
| # Build Results of an ATL Project | |||
| [Dd]ebugPS/ | |||
| [Rr]eleasePS/ | |||
| dlldata.c | |||
| # Benchmark Results | |||
| BenchmarkDotNet.Artifacts/ | |||
| # .NET Core | |||
| project.lock.json | |||
| project.fragment.lock.json | |||
| artifacts/ | |||
| # ASP.NET Scaffolding | |||
| ScaffoldingReadMe.txt | |||
| # StyleCop | |||
| StyleCopReport.xml | |||
| # Files built by Visual Studio | |||
| *_i.c | |||
| *_p.c | |||
| *_h.h | |||
| *.ilk | |||
| *.meta | |||
| *.obj | |||
| *.iobj | |||
| *.pch | |||
| *.pdb | |||
| *.ipdb | |||
| *.pgc | |||
| *.pgd | |||
| *.rsp | |||
| *.sbr | |||
| *.tlb | |||
| *.tli | |||
| *.tlh | |||
| *.tmp | |||
| *.tmp_proj | |||
| *_wpftmp.csproj | |||
| *.log | |||
| *.vspscc | |||
| *.vssscc | |||
| .builds | |||
| *.pidb | |||
| *.svclog | |||
| *.scc | |||
| # Chutzpah Test files | |||
| _Chutzpah* | |||
| # Visual C++ cache files | |||
| ipch/ | |||
| *.aps | |||
| *.ncb | |||
| *.opendb | |||
| *.opensdf | |||
| *.sdf | |||
| *.cachefile | |||
| *.VC.db | |||
| *.VC.VC.opendb | |||
| # Visual Studio profiler | |||
| *.psess | |||
| *.vsp | |||
| *.vspx | |||
| *.sap | |||
| # Visual Studio Trace Files | |||
| *.e2e | |||
| # TFS 2012 Local Workspace | |||
| $tf/ | |||
| # Guidance Automation Toolkit | |||
| *.gpState | |||
| # ReSharper is a .NET coding add-in | |||
| _ReSharper*/ | |||
| *.[Rr]e[Ss]harper | |||
| *.DotSettings.user | |||
| # TeamCity is a build add-in | |||
| _TeamCity* | |||
| # DotCover is a Code Coverage Tool | |||
| *.dotCover | |||
| # AxoCover is a Code Coverage Tool | |||
| .axoCover/* | |||
| !.axoCover/settings.json | |||
| # Coverlet is a free, cross platform Code Coverage Tool | |||
| coverage*.json | |||
| coverage*.xml | |||
| coverage*.info | |||
| # Visual Studio code coverage results | |||
| *.coverage | |||
| *.coveragexml | |||
| # NCrunch | |||
| _NCrunch_* | |||
| .*crunch*.local.xml | |||
| nCrunchTemp_* | |||
| # MightyMoose | |||
| *.mm.* | |||
| AutoTest.Net/ | |||
| # Web workbench (sass) | |||
| .sass-cache/ | |||
| # Installshield output folder | |||
| [Ee]xpress/ | |||
| # DocProject is a documentation generator add-in | |||
| DocProject/buildhelp/ | |||
| DocProject/Help/*.HxT | |||
| DocProject/Help/*.HxC | |||
| DocProject/Help/*.hhc | |||
| DocProject/Help/*.hhk | |||
| DocProject/Help/*.hhp | |||
| DocProject/Help/Html2 | |||
| DocProject/Help/html | |||
| # Click-Once directory | |||
| publish/ | |||
| # Publish Web Output | |||
| *.[Pp]ublish.xml | |||
| *.azurePubxml | |||
| # Note: Comment the next line if you want to checkin your web deploy settings, | |||
| # but database connection strings (with potential passwords) will be unencrypted | |||
| *.pubxml | |||
| *.publishproj | |||
| # Microsoft Azure Web App publish settings. Comment the next line if you want to | |||
| # checkin your Azure Web App publish settings, but sensitive information contained | |||
| # in these scripts will be unencrypted | |||
| PublishScripts/ | |||
| # NuGet Packages | |||
| *.nupkg | |||
| # NuGet Symbol Packages | |||
| *.snupkg | |||
| # The packages folder can be ignored because of Package Restore | |||
| **/[Pp]ackages/* | |||
| # except build/, which is used as an MSBuild target. | |||
| !**/[Pp]ackages/build/ | |||
| # Uncomment if necessary however generally it will be regenerated when needed | |||
| #!**/[Pp]ackages/repositories.config | |||
| # NuGet v3's project.json files produces more ignorable files | |||
| *.nuget.props | |||
| *.nuget.targets | |||
| # Microsoft Azure Build Output | |||
| csx/ | |||
| *.build.csdef | |||
| # Microsoft Azure Emulator | |||
| ecf/ | |||
| rcf/ | |||
| # Windows Store app package directories and files | |||
| AppPackages/ | |||
| BundleArtifacts/ | |||
| Package.StoreAssociation.xml | |||
| _pkginfo.txt | |||
| *.appx | |||
| *.appxbundle | |||
| *.appxupload | |||
| # Visual Studio cache files | |||
| # files ending in .cache can be ignored | |||
| *.[Cc]ache | |||
| # but keep track of directories ending in .cache | |||
| !?*.[Cc]ache/ | |||
| # Others | |||
| ClientBin/ | |||
| ~$* | |||
| *~ | |||
| *.dbmdl | |||
| *.dbproj.schemaview | |||
| *.jfm | |||
| *.pfx | |||
| *.publishsettings | |||
| orleans.codegen.cs | |||
| # Including strong name files can present a security risk | |||
| # (https://github.com/github/gitignore/pull/2483#issue-259490424) | |||
| #*.snk | |||
| # Since there are multiple workflows, uncomment next line to ignore bower_components | |||
| # (https://github.com/github/gitignore/pull/1529#issuecomment-104372622) | |||
| #bower_components/ | |||
| # RIA/Silverlight projects | |||
| Generated_Code/ | |||
| # Backup & report files from converting an old project file | |||
| # to a newer Visual Studio version. Backup files are not needed, | |||
| # because we have git ;-) | |||
| _UpgradeReport_Files/ | |||
| Backup*/ | |||
| UpgradeLog*.XML | |||
| UpgradeLog*.htm | |||
| ServiceFabricBackup/ | |||
| *.rptproj.bak | |||
| # SQL Server files | |||
| *.mdf | |||
| *.ldf | |||
| *.ndf | |||
| # Business Intelligence projects | |||
| *.rdl.data | |||
| *.bim.layout | |||
| *.bim_*.settings | |||
| *.rptproj.rsuser | |||
| *- [Bb]ackup.rdl | |||
| *- [Bb]ackup ([0-9]).rdl | |||
| *- [Bb]ackup ([0-9][0-9]).rdl | |||
| # Microsoft Fakes | |||
| FakesAssemblies/ | |||
| # GhostDoc plugin setting file | |||
| *.GhostDoc.xml | |||
| # Node.js Tools for Visual Studio | |||
| .ntvs_analysis.dat | |||
| node_modules/ | |||
| # Visual Studio 6 build log | |||
| *.plg | |||
| # Visual Studio 6 workspace options file | |||
| *.opt | |||
| # Visual Studio 6 auto-generated workspace file (contains which files were open etc.) | |||
| *.vbw | |||
| # Visual Studio LightSwitch build output | |||
| **/*.HTMLClient/GeneratedArtifacts | |||
| **/*.DesktopClient/GeneratedArtifacts | |||
| **/*.DesktopClient/ModelManifest.xml | |||
| **/*.Server/GeneratedArtifacts | |||
| **/*.Server/ModelManifest.xml | |||
| _Pvt_Extensions | |||
| # Paket dependency manager | |||
| .paket/paket.exe | |||
| paket-files/ | |||
| # FAKE - F# Make | |||
| .fake/ | |||
| # CodeRush personal settings | |||
| .cr/personal | |||
| # Python Tools for Visual Studio (PTVS) | |||
| __pycache__/ | |||
| *.pyc | |||
| # Cake - Uncomment if you are using it | |||
| # tools/** | |||
| # !tools/packages.config | |||
| # Tabs Studio | |||
| *.tss | |||
| # Telerik's JustMock configuration file | |||
| *.jmconfig | |||
| # BizTalk build output | |||
| *.btp.cs | |||
| *.btm.cs | |||
| *.odx.cs | |||
| *.xsd.cs | |||
| # OpenCover UI analysis results | |||
| OpenCover/ | |||
| # Azure Stream Analytics local run output | |||
| ASALocalRun/ | |||
| # MSBuild Binary and Structured Log | |||
| *.binlog | |||
| # NVidia Nsight GPU debugger configuration file | |||
| *.nvuser | |||
| # MFractors (Xamarin productivity tool) working folder | |||
| .mfractor/ | |||
| # Local History for Visual Studio | |||
| .localhistory/ | |||
| # BeatPulse healthcheck temp database | |||
| healthchecksdb | |||
| # Backup folder for Package Reference Convert tool in Visual Studio 2017 | |||
| MigrationBackup/ | |||
| # Ionide (cross platform F# VS Code tools) working folder | |||
| .ionide/ | |||
| # Fody - auto-generated XML schema | |||
| FodyWeavers.xsd | |||
| @@ -0,0 +1,4 @@ | |||
| # Dockerfile | |||
| 用于存放Docker配置文件Dockerfile | |||
| @@ -0,0 +1,10 @@ | |||
| # Dependency | |||
| ## 简介 | |||
| 该目录用于存放程序所需的所有依赖文件,例如程序编译必须的 .lib 与 .a、程序运行所需的 .dll 与 .so、Docker 配置文件 Dockerfile、protobuf 源代码文件 .proto、shell 脚本 .sh,等等。 | |||
| ## 统一约定 | |||
| - 将对应后缀名的文件放入同名的子文件夹时,需要在子文件夹内再建立一个子文件夹,并在新建的文件夹内新建 README 介绍每个文件的用途。 | |||
| @@ -0,0 +1,4 @@ | |||
| # dll | |||
| 动态链接库 .dll 与 .so | |||
| @@ -0,0 +1,4 @@ | |||
| # lib | |||
| 静态链接库 .lib 与 .a | |||
| @@ -0,0 +1,3 @@ | |||
| # Proto | |||
| 该目录用于存放需要用到的`.proto`文件 | |||
| @@ -0,0 +1,4 @@ | |||
| # Shell | |||
| 本目录用于存放程序所需的shell脚本 | |||
| @@ -0,0 +1,21 @@ | |||
| for i in {1..10} | |||
| do | |||
| find . -iname "*.cs" \ | |||
| -or -iname "*.c" \ | |||
| -or -iname "*.h" \ | |||
| -or -iname "*.C" \ | |||
| -or -iname "*.H" \ | |||
| -or -iname "*.cpp" \ | |||
| -or -iname "*.hpp" \ | |||
| -or -iname "*.cc" \ | |||
| -or -iname "*.hh" \ | |||
| -or -iname "*.c++" \ | |||
| -or -iname "*.h++" \ | |||
| -or -iname "*.cxx" \ | |||
| -or -iname "*.hxx" \ | |||
| -or -iname "*.i" \ | |||
| -or -iname "*.ixx" \ | |||
| -or -iname "*.ipp" \ | |||
| -or -iname "*.i++" \ | |||
| | xargs clang-format -i | |||
| done | |||
| @@ -0,0 +1,401 @@ | |||
| ## Ignore Visual Studio temporary files, build results, and | |||
| ## files generated by popular Visual Studio add-ons. | |||
| ## | |||
| ## Get latest from https://github.com/github/gitignore/blob/main/VisualStudio.gitignore | |||
| # User-specific files | |||
| *.rsuser | |||
| *.suo | |||
| *.user | |||
| *.userosscache | |||
| *.sln.docstates | |||
| # User-specific files (MonoDevelop/Xamarin Studio) | |||
| *.userprefs | |||
| # Mono auto generated files | |||
| mono_crash.* | |||
| # Build results | |||
| [Dd]ebug/ | |||
| [Dd]ebugPublic/ | |||
| [Rr]elease/ | |||
| [Rr]eleases/ | |||
| x64/ | |||
| x86/ | |||
| [Ww][Ii][Nn]32/ | |||
| [Aa][Rr][Mm]/ | |||
| [Aa][Rr][Mm]64/ | |||
| bld/ | |||
| [Bb]in/ | |||
| [Oo]bj/ | |||
| [Ll]og/ | |||
| [Ll]ogs/ | |||
| # Visual Studio 2015/2017 cache/options directory | |||
| .vs/ | |||
| # Uncomment if you have tasks that create the project's static files in wwwroot | |||
| #wwwroot/ | |||
| # Visual Studio 2017 auto generated files | |||
| Generated\ Files/ | |||
| # MSTest test Results | |||
| [Tt]est[Rr]esult*/ | |||
| [Bb]uild[Ll]og.* | |||
| # NUnit | |||
| *.VisualState.xml | |||
| TestResult.xml | |||
| nunit-*.xml | |||
| # Build Results of an ATL Project | |||
| [Dd]ebugPS/ | |||
| [Rr]eleasePS/ | |||
| dlldata.c | |||
| # Benchmark Results | |||
| BenchmarkDotNet.Artifacts/ | |||
| # .NET Core | |||
| project.lock.json | |||
| project.fragment.lock.json | |||
| artifacts/ | |||
| # ASP.NET Scaffolding | |||
| ScaffoldingReadMe.txt | |||
| # StyleCop | |||
| StyleCopReport.xml | |||
| # Files built by Visual Studio | |||
| *_i.c | |||
| *_p.c | |||
| *_h.h | |||
| *.ilk | |||
| *.meta | |||
| *.obj | |||
| *.iobj | |||
| *.pch | |||
| *.pdb | |||
| *.ipdb | |||
| *.pgc | |||
| *.pgd | |||
| *.rsp | |||
| *.sbr | |||
| *.tlb | |||
| *.tli | |||
| *.tlh | |||
| *.tmp | |||
| *.tmp_proj | |||
| *_wpftmp.csproj | |||
| *.log | |||
| *.tlog | |||
| *.vspscc | |||
| *.vssscc | |||
| .builds | |||
| *.pidb | |||
| *.svclog | |||
| *.scc | |||
| # Chutzpah Test files | |||
| _Chutzpah* | |||
| # Visual C++ cache files | |||
| ipch/ | |||
| *.aps | |||
| *.ncb | |||
| *.opendb | |||
| *.opensdf | |||
| *.sdf | |||
| *.cachefile | |||
| *.VC.db | |||
| *.VC.VC.opendb | |||
| # Visual Studio profiler | |||
| *.psess | |||
| *.vsp | |||
| *.vspx | |||
| *.sap | |||
| # Visual Studio Trace Files | |||
| *.e2e | |||
| # TFS 2012 Local Workspace | |||
| $tf/ | |||
| # Guidance Automation Toolkit | |||
| *.gpState | |||
| # ReSharper is a .NET coding add-in | |||
| _ReSharper*/ | |||
| *.[Rr]e[Ss]harper | |||
| *.DotSettings.user | |||
| # TeamCity is a build add-in | |||
| _TeamCity* | |||
| # DotCover is a Code Coverage Tool | |||
| *.dotCover | |||
| # AxoCover is a Code Coverage Tool | |||
| .axoCover/* | |||
| !.axoCover/settings.json | |||
| # Coverlet is a free, cross platform Code Coverage Tool | |||
| coverage*.json | |||
| coverage*.xml | |||
| coverage*.info | |||
| # Visual Studio code coverage results | |||
| *.coverage | |||
| *.coveragexml | |||
| # NCrunch | |||
| _NCrunch_* | |||
| .*crunch*.local.xml | |||
| nCrunchTemp_* | |||
| # MightyMoose | |||
| *.mm.* | |||
| AutoTest.Net/ | |||
| # Web workbench (sass) | |||
| .sass-cache/ | |||
| # Installshield output folder | |||
| [Ee]xpress/ | |||
| # DocProject is a documentation generator add-in | |||
| DocProject/buildhelp/ | |||
| DocProject/Help/*.HxT | |||
| DocProject/Help/*.HxC | |||
| DocProject/Help/*.hhc | |||
| DocProject/Help/*.hhk | |||
| DocProject/Help/*.hhp | |||
| DocProject/Help/Html2 | |||
| DocProject/Help/html | |||
| # Click-Once directory | |||
| publish/ | |||
| # Publish Web Output | |||
| *.[Pp]ublish.xml | |||
| *.azurePubxml | |||
| # Note: Comment the next line if you want to checkin your web deploy settings, | |||
| # but database connection strings (with potential passwords) will be unencrypted | |||
| *.pubxml | |||
| *.publishproj | |||
| # Microsoft Azure Web App publish settings. Comment the next line if you want to | |||
| # checkin your Azure Web App publish settings, but sensitive information contained | |||
| # in these scripts will be unencrypted | |||
| PublishScripts/ | |||
| # NuGet Packages | |||
| *.nupkg | |||
| # NuGet Symbol Packages | |||
| *.snupkg | |||
| # The packages folder can be ignored because of Package Restore | |||
| **/[Pp]ackages/* | |||
| # except build/, which is used as an MSBuild target. | |||
| !**/[Pp]ackages/build/ | |||
| # Uncomment if necessary however generally it will be regenerated when needed | |||
| #!**/[Pp]ackages/repositories.config | |||
| # NuGet v3's project.json files produces more ignorable files | |||
| *.nuget.props | |||
| *.nuget.targets | |||
| # Microsoft Azure Build Output | |||
| csx/ | |||
| *.build.csdef | |||
| # Microsoft Azure Emulator | |||
| ecf/ | |||
| rcf/ | |||
| # Windows Store app package directories and files | |||
| AppPackages/ | |||
| BundleArtifacts/ | |||
| Package.StoreAssociation.xml | |||
| _pkginfo.txt | |||
| *.appx | |||
| *.appxbundle | |||
| *.appxupload | |||
| # Visual Studio cache files | |||
| # files ending in .cache can be ignored | |||
| *.[Cc]ache | |||
| # but keep track of directories ending in .cache | |||
| !?*.[Cc]ache/ | |||
| # Others | |||
| ClientBin/ | |||
| ~$* | |||
| *~ | |||
| *.dbmdl | |||
| *.dbproj.schemaview | |||
| *.jfm | |||
| *.pfx | |||
| *.publishsettings | |||
| orleans.codegen.cs | |||
| # Including strong name files can present a security risk | |||
| # (https://github.com/github/gitignore/pull/2483#issue-259490424) | |||
| #*.snk | |||
| # Since there are multiple workflows, uncomment next line to ignore bower_components | |||
| # (https://github.com/github/gitignore/pull/1529#issuecomment-104372622) | |||
| #bower_components/ | |||
| # RIA/Silverlight projects | |||
| Generated_Code/ | |||
| # Backup & report files from converting an old project file | |||
| # to a newer Visual Studio version. Backup files are not needed, | |||
| # because we have git ;-) | |||
| _UpgradeReport_Files/ | |||
| Backup*/ | |||
| UpgradeLog*.XML | |||
| UpgradeLog*.htm | |||
| ServiceFabricBackup/ | |||
| *.rptproj.bak | |||
| # SQL Server files | |||
| *.mdf | |||
| *.ldf | |||
| *.ndf | |||
| # Business Intelligence projects | |||
| *.rdl.data | |||
| *.bim.layout | |||
| *.bim_*.settings | |||
| *.rptproj.rsuser | |||
| *- [Bb]ackup.rdl | |||
| *- [Bb]ackup ([0-9]).rdl | |||
| *- [Bb]ackup ([0-9][0-9]).rdl | |||
| # Microsoft Fakes | |||
| FakesAssemblies/ | |||
| # GhostDoc plugin setting file | |||
| *.GhostDoc.xml | |||
| # Node.js Tools for Visual Studio | |||
| .ntvs_analysis.dat | |||
| node_modules/ | |||
| # Visual Studio 6 build log | |||
| *.plg | |||
| # Visual Studio 6 workspace options file | |||
| *.opt | |||
| # Visual Studio 6 auto-generated workspace file (contains which files were open etc.) | |||
| *.vbw | |||
| # Visual Studio 6 auto-generated project file (contains which files were open etc.) | |||
| *.vbp | |||
| # Visual Studio 6 workspace and project file (working project files containing files to include in project) | |||
| *.dsw | |||
| *.dsp | |||
| # Visual Studio 6 technical files | |||
| *.ncb | |||
| *.aps | |||
| # Visual Studio LightSwitch build output | |||
| **/*.HTMLClient/GeneratedArtifacts | |||
| **/*.DesktopClient/GeneratedArtifacts | |||
| **/*.DesktopClient/ModelManifest.xml | |||
| **/*.Server/GeneratedArtifacts | |||
| **/*.Server/ModelManifest.xml | |||
| _Pvt_Extensions | |||
| # Paket dependency manager | |||
| .paket/paket.exe | |||
| paket-files/ | |||
| # FAKE - F# Make | |||
| .fake/ | |||
| # CodeRush personal settings | |||
| .cr/personal | |||
| # Python Tools for Visual Studio (PTVS) | |||
| __pycache__/ | |||
| *.pyc | |||
| # Cake - Uncomment if you are using it | |||
| # tools/** | |||
| # !tools/packages.config | |||
| # Tabs Studio | |||
| *.tss | |||
| # Telerik's JustMock configuration file | |||
| *.jmconfig | |||
| # BizTalk build output | |||
| *.btp.cs | |||
| *.btm.cs | |||
| *.odx.cs | |||
| *.xsd.cs | |||
| # OpenCover UI analysis results | |||
| OpenCover/ | |||
| # Azure Stream Analytics local run output | |||
| ASALocalRun/ | |||
| # MSBuild Binary and Structured Log | |||
| *.binlog | |||
| # NVidia Nsight GPU debugger configuration file | |||
| *.nvuser | |||
| # MFractors (Xamarin productivity tool) working folder | |||
| .mfractor/ | |||
| # Local History for Visual Studio | |||
| .localhistory/ | |||
| # Visual Studio History (VSHistory) files | |||
| .vshistory/ | |||
| # BeatPulse healthcheck temp database | |||
| healthchecksdb | |||
| # Backup folder for Package Reference Convert tool in Visual Studio 2017 | |||
| MigrationBackup/ | |||
| # Ionide (cross platform F# VS Code tools) working folder | |||
| .ionide/ | |||
| # Fody - auto-generated XML schema | |||
| FodyWeavers.xsd | |||
| # VS Code files for those working on multiple tools | |||
| .vscode/* | |||
| !.vscode/settings.json | |||
| !.vscode/tasks.json | |||
| !.vscode/launch.json | |||
| !.vscode/extensions.json | |||
| *.code-workspace | |||
| # Local History for Visual Studio Code | |||
| .history/ | |||
| # Windows Installer files from build outputs | |||
| *.cab | |||
| *.msi | |||
| *.msix | |||
| *.msm | |||
| *.msp | |||
| # JetBrains Rider | |||
| *.sln.iml | |||
| #THUAI playback file | |||
| *.thuaipb | |||
| @@ -0,0 +1,9 @@ | |||
| <Application x:Class="Installer.App" | |||
| xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" | |||
| xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" | |||
| xmlns:local="clr-namespace:Installer" | |||
| StartupUri="MainWindow.xaml"> | |||
| <Application.Resources> | |||
| </Application.Resources> | |||
| </Application> | |||
| @@ -0,0 +1,17 @@ | |||
| using System; | |||
| using System.Collections.Generic; | |||
| using System.Configuration; | |||
| using System.Data; | |||
| using System.Linq; | |||
| using System.Threading.Tasks; | |||
| using System.Windows; | |||
| namespace Installer | |||
| { | |||
| /// <summary> | |||
| /// Interaction logic for App.xaml | |||
| /// </summary> | |||
| public partial class App : Application | |||
| { | |||
| } | |||
| } | |||
| @@ -0,0 +1,10 @@ | |||
| using System.Windows; | |||
| [assembly:ThemeInfo( | |||
| ResourceDictionaryLocation.None, // where theme specific resource dictionaries are located | |||
| //(used if a resource is not found in the page, | |||
| // or application resource dictionaries) | |||
| ResourceDictionaryLocation.SourceAssembly // where the generic resource dictionary is located | |||
| //(used if a resource is not found in the page, | |||
| // app, or any theme specific resource dictionaries) | |||
| )] | |||
| @@ -0,0 +1,10 @@ | |||
| <Project Sdk="Microsoft.NET.Sdk"> | |||
| <PropertyGroup> | |||
| <OutputType>WinExe</OutputType> | |||
| <TargetFramework>net6.0-windows</TargetFramework> | |||
| <Nullable>enable</Nullable> | |||
| <UseWPF>true</UseWPF> | |||
| </PropertyGroup> | |||
| </Project> | |||
| @@ -0,0 +1,12 @@ | |||
| <Window x:Class="Installer.MainWindow" | |||
| xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" | |||
| xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" | |||
| xmlns:d="http://schemas.microsoft.com/expression/blend/2008" | |||
| xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" | |||
| xmlns:local="clr-namespace:Installer" | |||
| mc:Ignorable="d" | |||
| Title="MainWindow" Height="450" Width="800"> | |||
| <Grid> | |||
| </Grid> | |||
| </Window> | |||
| @@ -0,0 +1,28 @@ | |||
| using System; | |||
| using System.Collections.Generic; | |||
| using System.Linq; | |||
| using System.Text; | |||
| using System.Threading.Tasks; | |||
| using System.Windows; | |||
| using System.Windows.Controls; | |||
| using System.Windows.Data; | |||
| using System.Windows.Documents; | |||
| using System.Windows.Input; | |||
| using System.Windows.Media; | |||
| using System.Windows.Media.Imaging; | |||
| using System.Windows.Navigation; | |||
| using System.Windows.Shapes; | |||
| namespace Installer | |||
| { | |||
| /// <summary> | |||
| /// Interaction logic for MainWindow.xaml | |||
| /// </summary> | |||
| public partial class MainWindow : Window | |||
| { | |||
| public MainWindow() | |||
| { | |||
| InitializeComponent(); | |||
| } | |||
| } | |||
| } | |||
| @@ -0,0 +1,27 @@ | |||
| # Installer | |||
| ## 简介 | |||
| THUAI6 选手包下载器 | |||
| ## 目标 | |||
| ### 基本目标 | |||
| - 为 Windows 编写桌面应用程序,推荐使用WPF,目标平台 .NET 6,需要实现以下功能: | |||
| - 选手包下载 | |||
| - 检查选手包更新情况 | |||
| ## 重要目标 | |||
| - 设计美观的UI,便于选手操作 | |||
| - 使用 MVVM 或其他设计模式 | |||
| - 为下载器添加 "暂停与断点续传" 的功能 | |||
| ## 提高目标 | |||
| - 与网站组对接,支持账号密码登录 | |||
| ## 开发人员 | |||
| - ......(自己加) | |||
| @@ -0,0 +1,25 @@ | |||
| | |||
| Microsoft Visual Studio Solution File, Format Version 12.00 | |||
| # Visual Studio Version 17 | |||
| VisualStudioVersion = 17.0.32014.148 | |||
| MinimumVisualStudioVersion = 10.0.40219.1 | |||
| Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Installer", "Installer\Installer.csproj", "{C10AF177-0883-4D9D-B2DC-3516BE04DF81}" | |||
| EndProject | |||
| Global | |||
| GlobalSection(SolutionConfigurationPlatforms) = preSolution | |||
| Debug|Any CPU = Debug|Any CPU | |||
| Release|Any CPU = Release|Any CPU | |||
| EndGlobalSection | |||
| GlobalSection(ProjectConfigurationPlatforms) = postSolution | |||
| {C10AF177-0883-4D9D-B2DC-3516BE04DF81}.Debug|Any CPU.ActiveCfg = Debug|Any CPU | |||
| {C10AF177-0883-4D9D-B2DC-3516BE04DF81}.Debug|Any CPU.Build.0 = Debug|Any CPU | |||
| {C10AF177-0883-4D9D-B2DC-3516BE04DF81}.Release|Any CPU.ActiveCfg = Release|Any CPU | |||
| {C10AF177-0883-4D9D-B2DC-3516BE04DF81}.Release|Any CPU.Build.0 = Release|Any CPU | |||
| EndGlobalSection | |||
| GlobalSection(SolutionProperties) = preSolution | |||
| HideSolutionNode = FALSE | |||
| EndGlobalSection | |||
| GlobalSection(ExtensibilityGlobals) = postSolution | |||
| SolutionGuid = {FC5375BC-9F2B-45AA-B0E2-E35A0C26E3C0} | |||
| EndGlobalSection | |||
| EndGlobal | |||
| @@ -0,0 +1,401 @@ | |||
| ## Ignore Visual Studio temporary files, build results, and | |||
| ## files generated by popular Visual Studio add-ons. | |||
| ## | |||
| ## Get latest from https://github.com/github/gitignore/blob/main/VisualStudio.gitignore | |||
| # User-specific files | |||
| *.rsuser | |||
| *.suo | |||
| *.user | |||
| *.userosscache | |||
| *.sln.docstates | |||
| # User-specific files (MonoDevelop/Xamarin Studio) | |||
| *.userprefs | |||
| # Mono auto generated files | |||
| mono_crash.* | |||
| # Build results | |||
| [Dd]ebug/ | |||
| [Dd]ebugPublic/ | |||
| [Rr]elease/ | |||
| [Rr]eleases/ | |||
| x64/ | |||
| x86/ | |||
| [Ww][Ii][Nn]32/ | |||
| [Aa][Rr][Mm]/ | |||
| [Aa][Rr][Mm]64/ | |||
| bld/ | |||
| [Bb]in/ | |||
| [Oo]bj/ | |||
| [Ll]og/ | |||
| [Ll]ogs/ | |||
| # Visual Studio 2015/2017 cache/options directory | |||
| .vs/ | |||
| # Uncomment if you have tasks that create the project's static files in wwwroot | |||
| #wwwroot/ | |||
| # Visual Studio 2017 auto generated files | |||
| Generated\ Files/ | |||
| # MSTest test Results | |||
| [Tt]est[Rr]esult*/ | |||
| [Bb]uild[Ll]og.* | |||
| # NUnit | |||
| *.VisualState.xml | |||
| TestResult.xml | |||
| nunit-*.xml | |||
| # Build Results of an ATL Project | |||
| [Dd]ebugPS/ | |||
| [Rr]eleasePS/ | |||
| dlldata.c | |||
| # Benchmark Results | |||
| BenchmarkDotNet.Artifacts/ | |||
| # .NET Core | |||
| project.lock.json | |||
| project.fragment.lock.json | |||
| artifacts/ | |||
| # ASP.NET Scaffolding | |||
| ScaffoldingReadMe.txt | |||
| # StyleCop | |||
| StyleCopReport.xml | |||
| # Files built by Visual Studio | |||
| *_i.c | |||
| *_p.c | |||
| *_h.h | |||
| *.ilk | |||
| *.meta | |||
| *.obj | |||
| *.iobj | |||
| *.pch | |||
| *.pdb | |||
| *.ipdb | |||
| *.pgc | |||
| *.pgd | |||
| *.rsp | |||
| *.sbr | |||
| *.tlb | |||
| *.tli | |||
| *.tlh | |||
| *.tmp | |||
| *.tmp_proj | |||
| *_wpftmp.csproj | |||
| *.log | |||
| *.tlog | |||
| *.vspscc | |||
| *.vssscc | |||
| .builds | |||
| *.pidb | |||
| *.svclog | |||
| *.scc | |||
| # Chutzpah Test files | |||
| _Chutzpah* | |||
| # Visual C++ cache files | |||
| ipch/ | |||
| *.aps | |||
| *.ncb | |||
| *.opendb | |||
| *.opensdf | |||
| *.sdf | |||
| *.cachefile | |||
| *.VC.db | |||
| *.VC.VC.opendb | |||
| # Visual Studio profiler | |||
| *.psess | |||
| *.vsp | |||
| *.vspx | |||
| *.sap | |||
| # Visual Studio Trace Files | |||
| *.e2e | |||
| # TFS 2012 Local Workspace | |||
| $tf/ | |||
| # Guidance Automation Toolkit | |||
| *.gpState | |||
| # ReSharper is a .NET coding add-in | |||
| _ReSharper*/ | |||
| *.[Rr]e[Ss]harper | |||
| *.DotSettings.user | |||
| # TeamCity is a build add-in | |||
| _TeamCity* | |||
| # DotCover is a Code Coverage Tool | |||
| *.dotCover | |||
| # AxoCover is a Code Coverage Tool | |||
| .axoCover/* | |||
| !.axoCover/settings.json | |||
| # Coverlet is a free, cross platform Code Coverage Tool | |||
| coverage*.json | |||
| coverage*.xml | |||
| coverage*.info | |||
| # Visual Studio code coverage results | |||
| *.coverage | |||
| *.coveragexml | |||
| # NCrunch | |||
| _NCrunch_* | |||
| .*crunch*.local.xml | |||
| nCrunchTemp_* | |||
| # MightyMoose | |||
| *.mm.* | |||
| AutoTest.Net/ | |||
| # Web workbench (sass) | |||
| .sass-cache/ | |||
| # Installshield output folder | |||
| [Ee]xpress/ | |||
| # DocProject is a documentation generator add-in | |||
| DocProject/buildhelp/ | |||
| DocProject/Help/*.HxT | |||
| DocProject/Help/*.HxC | |||
| DocProject/Help/*.hhc | |||
| DocProject/Help/*.hhk | |||
| DocProject/Help/*.hhp | |||
| DocProject/Help/Html2 | |||
| DocProject/Help/html | |||
| # Click-Once directory | |||
| publish/ | |||
| # Publish Web Output | |||
| *.[Pp]ublish.xml | |||
| *.azurePubxml | |||
| # Note: Comment the next line if you want to checkin your web deploy settings, | |||
| # but database connection strings (with potential passwords) will be unencrypted | |||
| *.pubxml | |||
| *.publishproj | |||
| # Microsoft Azure Web App publish settings. Comment the next line if you want to | |||
| # checkin your Azure Web App publish settings, but sensitive information contained | |||
| # in these scripts will be unencrypted | |||
| PublishScripts/ | |||
| # NuGet Packages | |||
| *.nupkg | |||
| # NuGet Symbol Packages | |||
| *.snupkg | |||
| # The packages folder can be ignored because of Package Restore | |||
| **/[Pp]ackages/* | |||
| # except build/, which is used as an MSBuild target. | |||
| !**/[Pp]ackages/build/ | |||
| # Uncomment if necessary however generally it will be regenerated when needed | |||
| #!**/[Pp]ackages/repositories.config | |||
| # NuGet v3's project.json files produces more ignorable files | |||
| *.nuget.props | |||
| *.nuget.targets | |||
| # Microsoft Azure Build Output | |||
| csx/ | |||
| *.build.csdef | |||
| # Microsoft Azure Emulator | |||
| ecf/ | |||
| rcf/ | |||
| # Windows Store app package directories and files | |||
| AppPackages/ | |||
| BundleArtifacts/ | |||
| Package.StoreAssociation.xml | |||
| _pkginfo.txt | |||
| *.appx | |||
| *.appxbundle | |||
| *.appxupload | |||
| # Visual Studio cache files | |||
| # files ending in .cache can be ignored | |||
| *.[Cc]ache | |||
| # but keep track of directories ending in .cache | |||
| !?*.[Cc]ache/ | |||
| # Others | |||
| ClientBin/ | |||
| ~$* | |||
| *~ | |||
| *.dbmdl | |||
| *.dbproj.schemaview | |||
| *.jfm | |||
| *.pfx | |||
| *.publishsettings | |||
| orleans.codegen.cs | |||
| # Including strong name files can present a security risk | |||
| # (https://github.com/github/gitignore/pull/2483#issue-259490424) | |||
| #*.snk | |||
| # Since there are multiple workflows, uncomment next line to ignore bower_components | |||
| # (https://github.com/github/gitignore/pull/1529#issuecomment-104372622) | |||
| #bower_components/ | |||
| # RIA/Silverlight projects | |||
| Generated_Code/ | |||
| # Backup & report files from converting an old project file | |||
| # to a newer Visual Studio version. Backup files are not needed, | |||
| # because we have git ;-) | |||
| _UpgradeReport_Files/ | |||
| Backup*/ | |||
| UpgradeLog*.XML | |||
| UpgradeLog*.htm | |||
| ServiceFabricBackup/ | |||
| *.rptproj.bak | |||
| # SQL Server files | |||
| *.mdf | |||
| *.ldf | |||
| *.ndf | |||
| # Business Intelligence projects | |||
| *.rdl.data | |||
| *.bim.layout | |||
| *.bim_*.settings | |||
| *.rptproj.rsuser | |||
| *- [Bb]ackup.rdl | |||
| *- [Bb]ackup ([0-9]).rdl | |||
| *- [Bb]ackup ([0-9][0-9]).rdl | |||
| # Microsoft Fakes | |||
| FakesAssemblies/ | |||
| # GhostDoc plugin setting file | |||
| *.GhostDoc.xml | |||
| # Node.js Tools for Visual Studio | |||
| .ntvs_analysis.dat | |||
| node_modules/ | |||
| # Visual Studio 6 build log | |||
| *.plg | |||
| # Visual Studio 6 workspace options file | |||
| *.opt | |||
| # Visual Studio 6 auto-generated workspace file (contains which files were open etc.) | |||
| *.vbw | |||
| # Visual Studio 6 auto-generated project file (contains which files were open etc.) | |||
| *.vbp | |||
| # Visual Studio 6 workspace and project file (working project files containing files to include in project) | |||
| *.dsw | |||
| *.dsp | |||
| # Visual Studio 6 technical files | |||
| *.ncb | |||
| *.aps | |||
| # Visual Studio LightSwitch build output | |||
| **/*.HTMLClient/GeneratedArtifacts | |||
| **/*.DesktopClient/GeneratedArtifacts | |||
| **/*.DesktopClient/ModelManifest.xml | |||
| **/*.Server/GeneratedArtifacts | |||
| **/*.Server/ModelManifest.xml | |||
| _Pvt_Extensions | |||
| # Paket dependency manager | |||
| .paket/paket.exe | |||
| paket-files/ | |||
| # FAKE - F# Make | |||
| .fake/ | |||
| # CodeRush personal settings | |||
| .cr/personal | |||
| # Python Tools for Visual Studio (PTVS) | |||
| __pycache__/ | |||
| *.pyc | |||
| # Cake - Uncomment if you are using it | |||
| # tools/** | |||
| # !tools/packages.config | |||
| # Tabs Studio | |||
| *.tss | |||
| # Telerik's JustMock configuration file | |||
| *.jmconfig | |||
| # BizTalk build output | |||
| *.btp.cs | |||
| *.btm.cs | |||
| *.odx.cs | |||
| *.xsd.cs | |||
| # OpenCover UI analysis results | |||
| OpenCover/ | |||
| # Azure Stream Analytics local run output | |||
| ASALocalRun/ | |||
| # MSBuild Binary and Structured Log | |||
| *.binlog | |||
| # NVidia Nsight GPU debugger configuration file | |||
| *.nvuser | |||
| # MFractors (Xamarin productivity tool) working folder | |||
| .mfractor/ | |||
| # Local History for Visual Studio | |||
| .localhistory/ | |||
| # Visual Studio History (VSHistory) files | |||
| .vshistory/ | |||
| # BeatPulse healthcheck temp database | |||
| healthchecksdb | |||
| # Backup folder for Package Reference Convert tool in Visual Studio 2017 | |||
| MigrationBackup/ | |||
| # Ionide (cross platform F# VS Code tools) working folder | |||
| .ionide/ | |||
| # Fody - auto-generated XML schema | |||
| FodyWeavers.xsd | |||
| # VS Code files for those working on multiple tools | |||
| .vscode/* | |||
| !.vscode/settings.json | |||
| !.vscode/tasks.json | |||
| !.vscode/launch.json | |||
| !.vscode/extensions.json | |||
| *.code-workspace | |||
| # Local History for Visual Studio Code | |||
| .history/ | |||
| # Windows Installer files from build outputs | |||
| *.cab | |||
| *.msi | |||
| *.msix | |||
| *.msm | |||
| *.msp | |||
| # JetBrains Rider | |||
| *.sln.iml | |||
| #THUAI playback file | |||
| *.thuaipb | |||
| @@ -0,0 +1,33 @@ | |||
| # Interface | |||
| ## 简介 | |||
| Unity 客户端 | |||
| ## 目标 | |||
| ### 基本目标 | |||
| 生成 Windows 平台的 Unity 客户端,至少实现以下功能: | |||
| - 游戏回放:读取回放文件并回放 | |||
| ### 重要目标 | |||
| - 直播观战:实时播放当前游戏画面 | |||
| - 玩家对战:玩家可以自主操控角色,加入游戏 | |||
| ### 提高目标 | |||
| - 生成适合 Web 的 Unity,在网站上直播赛况(需与网站组配合) | |||
| - 生成手机 APP,支持手机客户端直播观战以及实时进行游戏 | |||
| - 上架 steam | |||
| - ......(未完待画) | |||
| ## 注意事项 | |||
| 编写好适合 Unity 的 .gitignore 文件,将必要的文件上传,既不要上传多余文件,也不要落下必需的文件 | |||
| ## 开发人员 | |||
| - .......(自己加) | |||
| @@ -0,0 +1,401 @@ | |||
| ## Ignore Visual Studio temporary files, build results, and | |||
| ## files generated by popular Visual Studio add-ons. | |||
| ## | |||
| ## Get latest from https://github.com/github/gitignore/blob/main/VisualStudio.gitignore | |||
| # User-specific files | |||
| *.rsuser | |||
| *.suo | |||
| *.user | |||
| *.userosscache | |||
| *.sln.docstates | |||
| # User-specific files (MonoDevelop/Xamarin Studio) | |||
| *.userprefs | |||
| # Mono auto generated files | |||
| mono_crash.* | |||
| # Build results | |||
| [Dd]ebug/ | |||
| [Dd]ebugPublic/ | |||
| [Rr]elease/ | |||
| [Rr]eleases/ | |||
| x64/ | |||
| x86/ | |||
| [Ww][Ii][Nn]32/ | |||
| [Aa][Rr][Mm]/ | |||
| [Aa][Rr][Mm]64/ | |||
| bld/ | |||
| [Bb]in/ | |||
| [Oo]bj/ | |||
| [Ll]og/ | |||
| [Ll]ogs/ | |||
| # Visual Studio 2015/2017 cache/options directory | |||
| .vs/ | |||
| # Uncomment if you have tasks that create the project's static files in wwwroot | |||
| #wwwroot/ | |||
| # Visual Studio 2017 auto generated files | |||
| Generated\ Files/ | |||
| # MSTest test Results | |||
| [Tt]est[Rr]esult*/ | |||
| [Bb]uild[Ll]og.* | |||
| # NUnit | |||
| *.VisualState.xml | |||
| TestResult.xml | |||
| nunit-*.xml | |||
| # Build Results of an ATL Project | |||
| [Dd]ebugPS/ | |||
| [Rr]eleasePS/ | |||
| dlldata.c | |||
| # Benchmark Results | |||
| BenchmarkDotNet.Artifacts/ | |||
| # .NET Core | |||
| project.lock.json | |||
| project.fragment.lock.json | |||
| artifacts/ | |||
| # ASP.NET Scaffolding | |||
| ScaffoldingReadMe.txt | |||
| # StyleCop | |||
| StyleCopReport.xml | |||
| # Files built by Visual Studio | |||
| *_i.c | |||
| *_p.c | |||
| *_h.h | |||
| *.ilk | |||
| *.meta | |||
| *.obj | |||
| *.iobj | |||
| *.pch | |||
| *.pdb | |||
| *.ipdb | |||
| *.pgc | |||
| *.pgd | |||
| *.rsp | |||
| *.sbr | |||
| *.tlb | |||
| *.tli | |||
| *.tlh | |||
| *.tmp | |||
| *.tmp_proj | |||
| *_wpftmp.csproj | |||
| *.log | |||
| *.tlog | |||
| *.vspscc | |||
| *.vssscc | |||
| .builds | |||
| *.pidb | |||
| *.svclog | |||
| *.scc | |||
| # Chutzpah Test files | |||
| _Chutzpah* | |||
| # Visual C++ cache files | |||
| ipch/ | |||
| *.aps | |||
| *.ncb | |||
| *.opendb | |||
| *.opensdf | |||
| *.sdf | |||
| *.cachefile | |||
| *.VC.db | |||
| *.VC.VC.opendb | |||
| # Visual Studio profiler | |||
| *.psess | |||
| *.vsp | |||
| *.vspx | |||
| *.sap | |||
| # Visual Studio Trace Files | |||
| *.e2e | |||
| # TFS 2012 Local Workspace | |||
| $tf/ | |||
| # Guidance Automation Toolkit | |||
| *.gpState | |||
| # ReSharper is a .NET coding add-in | |||
| _ReSharper*/ | |||
| *.[Rr]e[Ss]harper | |||
| *.DotSettings.user | |||
| # TeamCity is a build add-in | |||
| _TeamCity* | |||
| # DotCover is a Code Coverage Tool | |||
| *.dotCover | |||
| # AxoCover is a Code Coverage Tool | |||
| .axoCover/* | |||
| !.axoCover/settings.json | |||
| # Coverlet is a free, cross platform Code Coverage Tool | |||
| coverage*.json | |||
| coverage*.xml | |||
| coverage*.info | |||
| # Visual Studio code coverage results | |||
| *.coverage | |||
| *.coveragexml | |||
| # NCrunch | |||
| _NCrunch_* | |||
| .*crunch*.local.xml | |||
| nCrunchTemp_* | |||
| # MightyMoose | |||
| *.mm.* | |||
| AutoTest.Net/ | |||
| # Web workbench (sass) | |||
| .sass-cache/ | |||
| # Installshield output folder | |||
| [Ee]xpress/ | |||
| # DocProject is a documentation generator add-in | |||
| DocProject/buildhelp/ | |||
| DocProject/Help/*.HxT | |||
| DocProject/Help/*.HxC | |||
| DocProject/Help/*.hhc | |||
| DocProject/Help/*.hhk | |||
| DocProject/Help/*.hhp | |||
| DocProject/Help/Html2 | |||
| DocProject/Help/html | |||
| # Click-Once directory | |||
| publish/ | |||
| # Publish Web Output | |||
| *.[Pp]ublish.xml | |||
| *.azurePubxml | |||
| # Note: Comment the next line if you want to checkin your web deploy settings, | |||
| # but database connection strings (with potential passwords) will be unencrypted | |||
| *.pubxml | |||
| *.publishproj | |||
| # Microsoft Azure Web App publish settings. Comment the next line if you want to | |||
| # checkin your Azure Web App publish settings, but sensitive information contained | |||
| # in these scripts will be unencrypted | |||
| PublishScripts/ | |||
| # NuGet Packages | |||
| *.nupkg | |||
| # NuGet Symbol Packages | |||
| *.snupkg | |||
| # The packages folder can be ignored because of Package Restore | |||
| **/[Pp]ackages/* | |||
| # except build/, which is used as an MSBuild target. | |||
| !**/[Pp]ackages/build/ | |||
| # Uncomment if necessary however generally it will be regenerated when needed | |||
| #!**/[Pp]ackages/repositories.config | |||
| # NuGet v3's project.json files produces more ignorable files | |||
| *.nuget.props | |||
| *.nuget.targets | |||
| # Microsoft Azure Build Output | |||
| csx/ | |||
| *.build.csdef | |||
| # Microsoft Azure Emulator | |||
| ecf/ | |||
| rcf/ | |||
| # Windows Store app package directories and files | |||
| AppPackages/ | |||
| BundleArtifacts/ | |||
| Package.StoreAssociation.xml | |||
| _pkginfo.txt | |||
| *.appx | |||
| *.appxbundle | |||
| *.appxupload | |||
| # Visual Studio cache files | |||
| # files ending in .cache can be ignored | |||
| *.[Cc]ache | |||
| # but keep track of directories ending in .cache | |||
| !?*.[Cc]ache/ | |||
| # Others | |||
| ClientBin/ | |||
| ~$* | |||
| *~ | |||
| *.dbmdl | |||
| *.dbproj.schemaview | |||
| *.jfm | |||
| *.pfx | |||
| *.publishsettings | |||
| orleans.codegen.cs | |||
| # Including strong name files can present a security risk | |||
| # (https://github.com/github/gitignore/pull/2483#issue-259490424) | |||
| #*.snk | |||
| # Since there are multiple workflows, uncomment next line to ignore bower_components | |||
| # (https://github.com/github/gitignore/pull/1529#issuecomment-104372622) | |||
| #bower_components/ | |||
| # RIA/Silverlight projects | |||
| Generated_Code/ | |||
| # Backup & report files from converting an old project file | |||
| # to a newer Visual Studio version. Backup files are not needed, | |||
| # because we have git ;-) | |||
| _UpgradeReport_Files/ | |||
| Backup*/ | |||
| UpgradeLog*.XML | |||
| UpgradeLog*.htm | |||
| ServiceFabricBackup/ | |||
| *.rptproj.bak | |||
| # SQL Server files | |||
| *.mdf | |||
| *.ldf | |||
| *.ndf | |||
| # Business Intelligence projects | |||
| *.rdl.data | |||
| *.bim.layout | |||
| *.bim_*.settings | |||
| *.rptproj.rsuser | |||
| *- [Bb]ackup.rdl | |||
| *- [Bb]ackup ([0-9]).rdl | |||
| *- [Bb]ackup ([0-9][0-9]).rdl | |||
| # Microsoft Fakes | |||
| FakesAssemblies/ | |||
| # GhostDoc plugin setting file | |||
| *.GhostDoc.xml | |||
| # Node.js Tools for Visual Studio | |||
| .ntvs_analysis.dat | |||
| node_modules/ | |||
| # Visual Studio 6 build log | |||
| *.plg | |||
| # Visual Studio 6 workspace options file | |||
| *.opt | |||
| # Visual Studio 6 auto-generated workspace file (contains which files were open etc.) | |||
| *.vbw | |||
| # Visual Studio 6 auto-generated project file (contains which files were open etc.) | |||
| *.vbp | |||
| # Visual Studio 6 workspace and project file (working project files containing files to include in project) | |||
| *.dsw | |||
| *.dsp | |||
| # Visual Studio 6 technical files | |||
| *.ncb | |||
| *.aps | |||
| # Visual Studio LightSwitch build output | |||
| **/*.HTMLClient/GeneratedArtifacts | |||
| **/*.DesktopClient/GeneratedArtifacts | |||
| **/*.DesktopClient/ModelManifest.xml | |||
| **/*.Server/GeneratedArtifacts | |||
| **/*.Server/ModelManifest.xml | |||
| _Pvt_Extensions | |||
| # Paket dependency manager | |||
| .paket/paket.exe | |||
| paket-files/ | |||
| # FAKE - F# Make | |||
| .fake/ | |||
| # CodeRush personal settings | |||
| .cr/personal | |||
| # Python Tools for Visual Studio (PTVS) | |||
| __pycache__/ | |||
| *.pyc | |||
| # Cake - Uncomment if you are using it | |||
| # tools/** | |||
| # !tools/packages.config | |||
| # Tabs Studio | |||
| *.tss | |||
| # Telerik's JustMock configuration file | |||
| *.jmconfig | |||
| # BizTalk build output | |||
| *.btp.cs | |||
| *.btm.cs | |||
| *.odx.cs | |||
| *.xsd.cs | |||
| # OpenCover UI analysis results | |||
| OpenCover/ | |||
| # Azure Stream Analytics local run output | |||
| ASALocalRun/ | |||
| # MSBuild Binary and Structured Log | |||
| *.binlog | |||
| # NVidia Nsight GPU debugger configuration file | |||
| *.nvuser | |||
| # MFractors (Xamarin productivity tool) working folder | |||
| .mfractor/ | |||
| # Local History for Visual Studio | |||
| .localhistory/ | |||
| # Visual Studio History (VSHistory) files | |||
| .vshistory/ | |||
| # BeatPulse healthcheck temp database | |||
| healthchecksdb | |||
| # Backup folder for Package Reference Convert tool in Visual Studio 2017 | |||
| MigrationBackup/ | |||
| # Ionide (cross platform F# VS Code tools) working folder | |||
| .ionide/ | |||
| # Fody - auto-generated XML schema | |||
| FodyWeavers.xsd | |||
| # VS Code files for those working on multiple tools | |||
| .vscode/* | |||
| !.vscode/settings.json | |||
| !.vscode/tasks.json | |||
| !.vscode/launch.json | |||
| !.vscode/extensions.json | |||
| *.code-workspace | |||
| # Local History for Visual Studio Code | |||
| .history/ | |||
| # Windows Installer files from build outputs | |||
| *.cab | |||
| *.msi | |||
| *.msix | |||
| *.msm | |||
| *.msp | |||
| # JetBrains Rider | |||
| *.sln.iml | |||
| #THUAI playback file | |||
| *.thuaipb | |||
| @@ -0,0 +1,9 @@ | |||
| <Application x:Class="Launcher.App" | |||
| xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" | |||
| xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" | |||
| xmlns:local="clr-namespace:Launcher" | |||
| StartupUri="MainWindow.xaml"> | |||
| <Application.Resources> | |||
| </Application.Resources> | |||
| </Application> | |||
| @@ -0,0 +1,17 @@ | |||
| using System; | |||
| using System.Collections.Generic; | |||
| using System.Configuration; | |||
| using System.Data; | |||
| using System.Linq; | |||
| using System.Threading.Tasks; | |||
| using System.Windows; | |||
| namespace Launcher | |||
| { | |||
| /// <summary> | |||
| /// Interaction logic for App.xaml | |||
| /// </summary> | |||
| public partial class App : Application | |||
| { | |||
| } | |||
| } | |||
| @@ -0,0 +1,10 @@ | |||
| using System.Windows; | |||
| [assembly:ThemeInfo( | |||
| ResourceDictionaryLocation.None, // where theme specific resource dictionaries are located | |||
| //(used if a resource is not found in the page, | |||
| // or application resource dictionaries) | |||
| ResourceDictionaryLocation.SourceAssembly // where the generic resource dictionary is located | |||
| //(used if a resource is not found in the page, | |||
| // app, or any theme specific resource dictionaries) | |||
| )] | |||
| @@ -0,0 +1,10 @@ | |||
| <Project Sdk="Microsoft.NET.Sdk"> | |||
| <PropertyGroup> | |||
| <OutputType>WinExe</OutputType> | |||
| <TargetFramework>net6.0-windows</TargetFramework> | |||
| <Nullable>enable</Nullable> | |||
| <UseWPF>true</UseWPF> | |||
| </PropertyGroup> | |||
| </Project> | |||
| @@ -0,0 +1,12 @@ | |||
| <Window x:Class="Launcher.MainWindow" | |||
| xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" | |||
| xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" | |||
| xmlns:d="http://schemas.microsoft.com/expression/blend/2008" | |||
| xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" | |||
| xmlns:local="clr-namespace:Launcher" | |||
| mc:Ignorable="d" | |||
| Title="MainWindow" Height="450" Width="800"> | |||
| <Grid> | |||
| </Grid> | |||
| </Window> | |||
| @@ -0,0 +1,28 @@ | |||
| using System; | |||
| using System.Collections.Generic; | |||
| using System.Linq; | |||
| using System.Text; | |||
| using System.Threading.Tasks; | |||
| using System.Windows; | |||
| using System.Windows.Controls; | |||
| using System.Windows.Data; | |||
| using System.Windows.Documents; | |||
| using System.Windows.Input; | |||
| using System.Windows.Media; | |||
| using System.Windows.Media.Imaging; | |||
| using System.Windows.Navigation; | |||
| using System.Windows.Shapes; | |||
| namespace Launcher | |||
| { | |||
| /// <summary> | |||
| /// Interaction logic for MainWindow.xaml | |||
| /// </summary> | |||
| public partial class MainWindow : Window | |||
| { | |||
| public MainWindow() | |||
| { | |||
| InitializeComponent(); | |||
| } | |||
| } | |||
| } | |||
| @@ -0,0 +1,21 @@ | |||
| # Launcher | |||
| ## 简介 | |||
| THUAI6 游戏启动器 | |||
| ## 目标 | |||
| ### 重要目标 | |||
| - 设计游戏启动器,UI界面推荐使用 WPF 编写,目标平台 .NET 6。 | |||
| - 实现游戏启动的功能:选手可选队伍数、每队人数等游戏设置,可选启动客户端类型(Unity 界面、简易调试界面、选手 C++ 代码等)等启动设置 | |||
| ### 提高目标 | |||
| - 使用 .NET 6,将 WPF 改用 MAUI,适合多种平台, 并能够根据平台自动选择启动的客户端 | |||
| - 与网站组、界面组等配合,编写一个可以实时创建房间,加入房间进行游戏的界面(饼中之大饼) | |||
| ## 开发人员 | |||
| - ......(自己加) | |||
| @@ -0,0 +1,25 @@ | |||
| | |||
| Microsoft Visual Studio Solution File, Format Version 12.00 | |||
| # Visual Studio Version 17 | |||
| VisualStudioVersion = 17.0.32014.148 | |||
| MinimumVisualStudioVersion = 10.0.40219.1 | |||
| Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Launcher", "Launcher\Launcher.csproj", "{7045F91B-EA80-4E4E-A5F2-501227D78E2F}" | |||
| EndProject | |||
| Global | |||
| GlobalSection(SolutionConfigurationPlatforms) = preSolution | |||
| Debug|Any CPU = Debug|Any CPU | |||
| Release|Any CPU = Release|Any CPU | |||
| EndGlobalSection | |||
| GlobalSection(ProjectConfigurationPlatforms) = postSolution | |||
| {7045F91B-EA80-4E4E-A5F2-501227D78E2F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU | |||
| {7045F91B-EA80-4E4E-A5F2-501227D78E2F}.Debug|Any CPU.Build.0 = Debug|Any CPU | |||
| {7045F91B-EA80-4E4E-A5F2-501227D78E2F}.Release|Any CPU.ActiveCfg = Release|Any CPU | |||
| {7045F91B-EA80-4E4E-A5F2-501227D78E2F}.Release|Any CPU.Build.0 = Release|Any CPU | |||
| EndGlobalSection | |||
| GlobalSection(SolutionProperties) = preSolution | |||
| HideSolutionNode = FALSE | |||
| EndGlobalSection | |||
| GlobalSection(ExtensibilityGlobals) = postSolution | |||
| SolutionGuid = {5E15B2BF-F385-4F55-8905-87FBC37854CC} | |||
| EndGlobalSection | |||
| EndGlobal | |||
| @@ -0,0 +1,401 @@ | |||
| ## Ignore Visual Studio temporary files, build results, and | |||
| ## files generated by popular Visual Studio add-ons. | |||
| ## | |||
| ## Get latest from https://github.com/github/gitignore/blob/main/VisualStudio.gitignore | |||
| # User-specific files | |||
| *.rsuser | |||
| *.suo | |||
| *.user | |||
| *.userosscache | |||
| *.sln.docstates | |||
| # User-specific files (MonoDevelop/Xamarin Studio) | |||
| *.userprefs | |||
| # Mono auto generated files | |||
| mono_crash.* | |||
| # Build results | |||
| [Dd]ebug/ | |||
| [Dd]ebugPublic/ | |||
| [Rr]elease/ | |||
| [Rr]eleases/ | |||
| x64/ | |||
| x86/ | |||
| [Ww][Ii][Nn]32/ | |||
| [Aa][Rr][Mm]/ | |||
| [Aa][Rr][Mm]64/ | |||
| bld/ | |||
| [Bb]in/ | |||
| [Oo]bj/ | |||
| [Ll]og/ | |||
| [Ll]ogs/ | |||
| # Visual Studio 2015/2017 cache/options directory | |||
| .vs/ | |||
| # Uncomment if you have tasks that create the project's static files in wwwroot | |||
| #wwwroot/ | |||
| # Visual Studio 2017 auto generated files | |||
| Generated\ Files/ | |||
| # MSTest test Results | |||
| [Tt]est[Rr]esult*/ | |||
| [Bb]uild[Ll]og.* | |||
| # NUnit | |||
| *.VisualState.xml | |||
| TestResult.xml | |||
| nunit-*.xml | |||
| # Build Results of an ATL Project | |||
| [Dd]ebugPS/ | |||
| [Rr]eleasePS/ | |||
| dlldata.c | |||
| # Benchmark Results | |||
| BenchmarkDotNet.Artifacts/ | |||
| # .NET Core | |||
| project.lock.json | |||
| project.fragment.lock.json | |||
| artifacts/ | |||
| # ASP.NET Scaffolding | |||
| ScaffoldingReadMe.txt | |||
| # StyleCop | |||
| StyleCopReport.xml | |||
| # Files built by Visual Studio | |||
| *_i.c | |||
| *_p.c | |||
| *_h.h | |||
| *.ilk | |||
| *.meta | |||
| *.obj | |||
| *.iobj | |||
| *.pch | |||
| *.pdb | |||
| *.ipdb | |||
| *.pgc | |||
| *.pgd | |||
| *.rsp | |||
| *.sbr | |||
| *.tlb | |||
| *.tli | |||
| *.tlh | |||
| *.tmp | |||
| *.tmp_proj | |||
| *_wpftmp.csproj | |||
| *.log | |||
| *.tlog | |||
| *.vspscc | |||
| *.vssscc | |||
| .builds | |||
| *.pidb | |||
| *.svclog | |||
| *.scc | |||
| # Chutzpah Test files | |||
| _Chutzpah* | |||
| # Visual C++ cache files | |||
| ipch/ | |||
| *.aps | |||
| *.ncb | |||
| *.opendb | |||
| *.opensdf | |||
| *.sdf | |||
| *.cachefile | |||
| *.VC.db | |||
| *.VC.VC.opendb | |||
| # Visual Studio profiler | |||
| *.psess | |||
| *.vsp | |||
| *.vspx | |||
| *.sap | |||
| # Visual Studio Trace Files | |||
| *.e2e | |||
| # TFS 2012 Local Workspace | |||
| $tf/ | |||
| # Guidance Automation Toolkit | |||
| *.gpState | |||
| # ReSharper is a .NET coding add-in | |||
| _ReSharper*/ | |||
| *.[Rr]e[Ss]harper | |||
| *.DotSettings.user | |||
| # TeamCity is a build add-in | |||
| _TeamCity* | |||
| # DotCover is a Code Coverage Tool | |||
| *.dotCover | |||
| # AxoCover is a Code Coverage Tool | |||
| .axoCover/* | |||
| !.axoCover/settings.json | |||
| # Coverlet is a free, cross platform Code Coverage Tool | |||
| coverage*.json | |||
| coverage*.xml | |||
| coverage*.info | |||
| # Visual Studio code coverage results | |||
| *.coverage | |||
| *.coveragexml | |||
| # NCrunch | |||
| _NCrunch_* | |||
| .*crunch*.local.xml | |||
| nCrunchTemp_* | |||
| # MightyMoose | |||
| *.mm.* | |||
| AutoTest.Net/ | |||
| # Web workbench (sass) | |||
| .sass-cache/ | |||
| # Installshield output folder | |||
| [Ee]xpress/ | |||
| # DocProject is a documentation generator add-in | |||
| DocProject/buildhelp/ | |||
| DocProject/Help/*.HxT | |||
| DocProject/Help/*.HxC | |||
| DocProject/Help/*.hhc | |||
| DocProject/Help/*.hhk | |||
| DocProject/Help/*.hhp | |||
| DocProject/Help/Html2 | |||
| DocProject/Help/html | |||
| # Click-Once directory | |||
| publish/ | |||
| # Publish Web Output | |||
| *.[Pp]ublish.xml | |||
| *.azurePubxml | |||
| # Note: Comment the next line if you want to checkin your web deploy settings, | |||
| # but database connection strings (with potential passwords) will be unencrypted | |||
| *.pubxml | |||
| *.publishproj | |||
| # Microsoft Azure Web App publish settings. Comment the next line if you want to | |||
| # checkin your Azure Web App publish settings, but sensitive information contained | |||
| # in these scripts will be unencrypted | |||
| PublishScripts/ | |||
| # NuGet Packages | |||
| *.nupkg | |||
| # NuGet Symbol Packages | |||
| *.snupkg | |||
| # The packages folder can be ignored because of Package Restore | |||
| **/[Pp]ackages/* | |||
| # except build/, which is used as an MSBuild target. | |||
| !**/[Pp]ackages/build/ | |||
| # Uncomment if necessary however generally it will be regenerated when needed | |||
| #!**/[Pp]ackages/repositories.config | |||
| # NuGet v3's project.json files produces more ignorable files | |||
| *.nuget.props | |||
| *.nuget.targets | |||
| # Microsoft Azure Build Output | |||
| csx/ | |||
| *.build.csdef | |||
| # Microsoft Azure Emulator | |||
| ecf/ | |||
| rcf/ | |||
| # Windows Store app package directories and files | |||
| AppPackages/ | |||
| BundleArtifacts/ | |||
| Package.StoreAssociation.xml | |||
| _pkginfo.txt | |||
| *.appx | |||
| *.appxbundle | |||
| *.appxupload | |||
| # Visual Studio cache files | |||
| # files ending in .cache can be ignored | |||
| *.[Cc]ache | |||
| # but keep track of directories ending in .cache | |||
| !?*.[Cc]ache/ | |||
| # Others | |||
| ClientBin/ | |||
| ~$* | |||
| *~ | |||
| *.dbmdl | |||
| *.dbproj.schemaview | |||
| *.jfm | |||
| *.pfx | |||
| *.publishsettings | |||
| orleans.codegen.cs | |||
| # Including strong name files can present a security risk | |||
| # (https://github.com/github/gitignore/pull/2483#issue-259490424) | |||
| #*.snk | |||
| # Since there are multiple workflows, uncomment next line to ignore bower_components | |||
| # (https://github.com/github/gitignore/pull/1529#issuecomment-104372622) | |||
| #bower_components/ | |||
| # RIA/Silverlight projects | |||
| Generated_Code/ | |||
| # Backup & report files from converting an old project file | |||
| # to a newer Visual Studio version. Backup files are not needed, | |||
| # because we have git ;-) | |||
| _UpgradeReport_Files/ | |||
| Backup*/ | |||
| UpgradeLog*.XML | |||
| UpgradeLog*.htm | |||
| ServiceFabricBackup/ | |||
| *.rptproj.bak | |||
| # SQL Server files | |||
| *.mdf | |||
| *.ldf | |||
| *.ndf | |||
| # Business Intelligence projects | |||
| *.rdl.data | |||
| *.bim.layout | |||
| *.bim_*.settings | |||
| *.rptproj.rsuser | |||
| *- [Bb]ackup.rdl | |||
| *- [Bb]ackup ([0-9]).rdl | |||
| *- [Bb]ackup ([0-9][0-9]).rdl | |||
| # Microsoft Fakes | |||
| FakesAssemblies/ | |||
| # GhostDoc plugin setting file | |||
| *.GhostDoc.xml | |||
| # Node.js Tools for Visual Studio | |||
| .ntvs_analysis.dat | |||
| node_modules/ | |||
| # Visual Studio 6 build log | |||
| *.plg | |||
| # Visual Studio 6 workspace options file | |||
| *.opt | |||
| # Visual Studio 6 auto-generated workspace file (contains which files were open etc.) | |||
| *.vbw | |||
| # Visual Studio 6 auto-generated project file (contains which files were open etc.) | |||
| *.vbp | |||
| # Visual Studio 6 workspace and project file (working project files containing files to include in project) | |||
| *.dsw | |||
| *.dsp | |||
| # Visual Studio 6 technical files | |||
| *.ncb | |||
| *.aps | |||
| # Visual Studio LightSwitch build output | |||
| **/*.HTMLClient/GeneratedArtifacts | |||
| **/*.DesktopClient/GeneratedArtifacts | |||
| **/*.DesktopClient/ModelManifest.xml | |||
| **/*.Server/GeneratedArtifacts | |||
| **/*.Server/ModelManifest.xml | |||
| _Pvt_Extensions | |||
| # Paket dependency manager | |||
| .paket/paket.exe | |||
| paket-files/ | |||
| # FAKE - F# Make | |||
| .fake/ | |||
| # CodeRush personal settings | |||
| .cr/personal | |||
| # Python Tools for Visual Studio (PTVS) | |||
| __pycache__/ | |||
| *.pyc | |||
| # Cake - Uncomment if you are using it | |||
| # tools/** | |||
| # !tools/packages.config | |||
| # Tabs Studio | |||
| *.tss | |||
| # Telerik's JustMock configuration file | |||
| *.jmconfig | |||
| # BizTalk build output | |||
| *.btp.cs | |||
| *.btm.cs | |||
| *.odx.cs | |||
| *.xsd.cs | |||
| # OpenCover UI analysis results | |||
| OpenCover/ | |||
| # Azure Stream Analytics local run output | |||
| ASALocalRun/ | |||
| # MSBuild Binary and Structured Log | |||
| *.binlog | |||
| # NVidia Nsight GPU debugger configuration file | |||
| *.nvuser | |||
| # MFractors (Xamarin productivity tool) working folder | |||
| .mfractor/ | |||
| # Local History for Visual Studio | |||
| .localhistory/ | |||
| # Visual Studio History (VSHistory) files | |||
| .vshistory/ | |||
| # BeatPulse healthcheck temp database | |||
| healthchecksdb | |||
| # Backup folder for Package Reference Convert tool in Visual Studio 2017 | |||
| MigrationBackup/ | |||
| # Ionide (cross platform F# VS Code tools) working folder | |||
| .ionide/ | |||
| # Fody - auto-generated XML schema | |||
| FodyWeavers.xsd | |||
| # VS Code files for those working on multiple tools | |||
| .vscode/* | |||
| !.vscode/settings.json | |||
| !.vscode/tasks.json | |||
| !.vscode/launch.json | |||
| !.vscode/extensions.json | |||
| *.code-workspace | |||
| # Local History for Visual Studio Code | |||
| .history/ | |||
| # Windows Installer files from build outputs | |||
| *.cab | |||
| *.msi | |||
| *.msix | |||
| *.msm | |||
| *.msp | |||
| # JetBrains Rider | |||
| *.sln.iml | |||
| #THUAI playback file | |||
| *.thuaipb | |||
| @@ -0,0 +1,50 @@ | |||
| # Logic | |||
| ## 简介 | |||
| 游戏逻辑与选手简易调试GUI客户端 | |||
| ## 目标 | |||
| ### 基本目标 | |||
| - 实现底层游戏逻辑,生成 .NET 类库 | |||
| - 使用`gRPC`实现`Server`,使`Server`能够持续收发信息、处理信息,并生成 .NET 控制台应用程序`Server`。`Server`至少应实现: | |||
| - 游戏的组队与正常运行 | |||
| - 生成回放文件,保存游戏结果 | |||
| - 制作用于简易调试的`Client`,并实现基本GUI功能。可使用`WPF`、`WinForm`或其他技术。用于简易调试的客户端应至少实现: | |||
| - 游戏直播与观战 | |||
| - 播放回放文件 | |||
| ### 重要目标 | |||
| - 完全分离游戏引擎、游戏逻辑与通信逻辑,使得游戏引擎和通信逻辑可以供日后复用 | |||
| - 简易调试客户端支持玩家手动对战 | |||
| - 简易调试客户端应尽量清晰整洁,运行流畅 | |||
| - 编写`MSTest`测试程序,设计测试样例,测试游戏逻辑 | |||
| ### 提高目标 | |||
| - 使用`MAUI`制作简易调试客户端,实现跨平台的功能 | |||
| - 使用`MVVM`或其他模式开发简易调试客户端 | |||
| ## 统一约定 | |||
| - 目标平台规定使用 .NET 6,建议使用 VS 2022 进行开发。 | |||
| ## 注意事项 | |||
| - 注意程序的鲁棒性与异常安全性,保证程序在任何极端情况下都不会崩溃。因此要求开发者对各种极端操作进检查,避免因异常导致`Server`崩溃、游戏中断。常见的错误包括:浮点数的`NaN`与`Inf`、枚举类型值非法、运算溢出、死锁、`foreach`中修改被迭代对象等。 | |||
| - 注意游戏引擎、游戏逻辑、通信逻辑的相互分离,便于代码维护与复用 | |||
| - 提前规划好代码架构与分工,分工应尽量均匀合理 | |||
| - 设计良好的调试接口,在开发中做好测试工作,避免BUG的积累 | |||
| - 考虑程序的通用性与可拓展性,降低各模块的耦合性 | |||
| - 小组成员间应多多交流,了解各自的工作进度,协调好各自的开发工作 | |||
| ## 特别说明 | |||
| - 历年的经验表明,并发问题是最容易被忽略的问题。今年在编写多线程的程序时,必须非常关注并发问题,尽量保证程序在高并发下安全运行 | |||
| ## 开发人员 | |||
| - ......(自己加) | |||
| @@ -0,0 +1,2 @@ | |||
| // See https://aka.ms/new-console-template for more information | |||
| Console.WriteLine("Hello, World!"); | |||
| @@ -0,0 +1,10 @@ | |||
| <Project Sdk="Microsoft.NET.Sdk"> | |||
| <PropertyGroup> | |||
| <OutputType>Exe</OutputType> | |||
| <TargetFramework>net6.0</TargetFramework> | |||
| <ImplicitUsings>enable</ImplicitUsings> | |||
| <Nullable>enable</Nullable> | |||
| </PropertyGroup> | |||
| </Project> | |||
| @@ -0,0 +1,25 @@ | |||
| | |||
| Microsoft Visual Studio Solution File, Format Version 12.00 | |||
| # Visual Studio Version 17 | |||
| VisualStudioVersion = 17.0.32014.148 | |||
| MinimumVisualStudioVersion = 10.0.40219.1 | |||
| Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Server", "Server\Server.csproj", "{D033B809-2FB7-4340-B8B4-DDA30D6CA6FF}" | |||
| EndProject | |||
| Global | |||
| GlobalSection(SolutionConfigurationPlatforms) = preSolution | |||
| Debug|Any CPU = Debug|Any CPU | |||
| Release|Any CPU = Release|Any CPU | |||
| EndGlobalSection | |||
| GlobalSection(ProjectConfigurationPlatforms) = postSolution | |||
| {D033B809-2FB7-4340-B8B4-DDA30D6CA6FF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU | |||
| {D033B809-2FB7-4340-B8B4-DDA30D6CA6FF}.Debug|Any CPU.Build.0 = Debug|Any CPU | |||
| {D033B809-2FB7-4340-B8B4-DDA30D6CA6FF}.Release|Any CPU.ActiveCfg = Release|Any CPU | |||
| {D033B809-2FB7-4340-B8B4-DDA30D6CA6FF}.Release|Any CPU.Build.0 = Release|Any CPU | |||
| EndGlobalSection | |||
| GlobalSection(SolutionProperties) = preSolution | |||
| HideSolutionNode = FALSE | |||
| EndGlobalSection | |||
| GlobalSection(ExtensibilityGlobals) = postSolution | |||
| SolutionGuid = {F8195A94-4DCA-4F27-BCB8-9E6310A1127E} | |||
| EndGlobalSection | |||
| EndGlobal | |||
| @@ -0,0 +1,401 @@ | |||
| ## Ignore Visual Studio temporary files, build results, and | |||
| ## files generated by popular Visual Studio add-ons. | |||
| ## | |||
| ## Get latest from https://github.com/github/gitignore/blob/main/VisualStudio.gitignore | |||
| # User-specific files | |||
| *.rsuser | |||
| *.suo | |||
| *.user | |||
| *.userosscache | |||
| *.sln.docstates | |||
| # User-specific files (MonoDevelop/Xamarin Studio) | |||
| *.userprefs | |||
| # Mono auto generated files | |||
| mono_crash.* | |||
| # Build results | |||
| [Dd]ebug/ | |||
| [Dd]ebugPublic/ | |||
| [Rr]elease/ | |||
| [Rr]eleases/ | |||
| x64/ | |||
| x86/ | |||
| [Ww][Ii][Nn]32/ | |||
| [Aa][Rr][Mm]/ | |||
| [Aa][Rr][Mm]64/ | |||
| bld/ | |||
| [Bb]in/ | |||
| [Oo]bj/ | |||
| [Ll]og/ | |||
| [Ll]ogs/ | |||
| # Visual Studio 2015/2017 cache/options directory | |||
| .vs/ | |||
| # Uncomment if you have tasks that create the project's static files in wwwroot | |||
| #wwwroot/ | |||
| # Visual Studio 2017 auto generated files | |||
| Generated\ Files/ | |||
| # MSTest test Results | |||
| [Tt]est[Rr]esult*/ | |||
| [Bb]uild[Ll]og.* | |||
| # NUnit | |||
| *.VisualState.xml | |||
| TestResult.xml | |||
| nunit-*.xml | |||
| # Build Results of an ATL Project | |||
| [Dd]ebugPS/ | |||
| [Rr]eleasePS/ | |||
| dlldata.c | |||
| # Benchmark Results | |||
| BenchmarkDotNet.Artifacts/ | |||
| # .NET Core | |||
| project.lock.json | |||
| project.fragment.lock.json | |||
| artifacts/ | |||
| # ASP.NET Scaffolding | |||
| ScaffoldingReadMe.txt | |||
| # StyleCop | |||
| StyleCopReport.xml | |||
| # Files built by Visual Studio | |||
| *_i.c | |||
| *_p.c | |||
| *_h.h | |||
| *.ilk | |||
| *.meta | |||
| *.obj | |||
| *.iobj | |||
| *.pch | |||
| *.pdb | |||
| *.ipdb | |||
| *.pgc | |||
| *.pgd | |||
| *.rsp | |||
| *.sbr | |||
| *.tlb | |||
| *.tli | |||
| *.tlh | |||
| *.tmp | |||
| *.tmp_proj | |||
| *_wpftmp.csproj | |||
| *.log | |||
| *.tlog | |||
| *.vspscc | |||
| *.vssscc | |||
| .builds | |||
| *.pidb | |||
| *.svclog | |||
| *.scc | |||
| # Chutzpah Test files | |||
| _Chutzpah* | |||
| # Visual C++ cache files | |||
| ipch/ | |||
| *.aps | |||
| *.ncb | |||
| *.opendb | |||
| *.opensdf | |||
| *.sdf | |||
| *.cachefile | |||
| *.VC.db | |||
| *.VC.VC.opendb | |||
| # Visual Studio profiler | |||
| *.psess | |||
| *.vsp | |||
| *.vspx | |||
| *.sap | |||
| # Visual Studio Trace Files | |||
| *.e2e | |||
| # TFS 2012 Local Workspace | |||
| $tf/ | |||
| # Guidance Automation Toolkit | |||
| *.gpState | |||
| # ReSharper is a .NET coding add-in | |||
| _ReSharper*/ | |||
| *.[Rr]e[Ss]harper | |||
| *.DotSettings.user | |||
| # TeamCity is a build add-in | |||
| _TeamCity* | |||
| # DotCover is a Code Coverage Tool | |||
| *.dotCover | |||
| # AxoCover is a Code Coverage Tool | |||
| .axoCover/* | |||
| !.axoCover/settings.json | |||
| # Coverlet is a free, cross platform Code Coverage Tool | |||
| coverage*.json | |||
| coverage*.xml | |||
| coverage*.info | |||
| # Visual Studio code coverage results | |||
| *.coverage | |||
| *.coveragexml | |||
| # NCrunch | |||
| _NCrunch_* | |||
| .*crunch*.local.xml | |||
| nCrunchTemp_* | |||
| # MightyMoose | |||
| *.mm.* | |||
| AutoTest.Net/ | |||
| # Web workbench (sass) | |||
| .sass-cache/ | |||
| # Installshield output folder | |||
| [Ee]xpress/ | |||
| # DocProject is a documentation generator add-in | |||
| DocProject/buildhelp/ | |||
| DocProject/Help/*.HxT | |||
| DocProject/Help/*.HxC | |||
| DocProject/Help/*.hhc | |||
| DocProject/Help/*.hhk | |||
| DocProject/Help/*.hhp | |||
| DocProject/Help/Html2 | |||
| DocProject/Help/html | |||
| # Click-Once directory | |||
| publish/ | |||
| # Publish Web Output | |||
| *.[Pp]ublish.xml | |||
| *.azurePubxml | |||
| # Note: Comment the next line if you want to checkin your web deploy settings, | |||
| # but database connection strings (with potential passwords) will be unencrypted | |||
| *.pubxml | |||
| *.publishproj | |||
| # Microsoft Azure Web App publish settings. Comment the next line if you want to | |||
| # checkin your Azure Web App publish settings, but sensitive information contained | |||
| # in these scripts will be unencrypted | |||
| PublishScripts/ | |||
| # NuGet Packages | |||
| *.nupkg | |||
| # NuGet Symbol Packages | |||
| *.snupkg | |||
| # The packages folder can be ignored because of Package Restore | |||
| **/[Pp]ackages/* | |||
| # except build/, which is used as an MSBuild target. | |||
| !**/[Pp]ackages/build/ | |||
| # Uncomment if necessary however generally it will be regenerated when needed | |||
| #!**/[Pp]ackages/repositories.config | |||
| # NuGet v3's project.json files produces more ignorable files | |||
| *.nuget.props | |||
| *.nuget.targets | |||
| # Microsoft Azure Build Output | |||
| csx/ | |||
| *.build.csdef | |||
| # Microsoft Azure Emulator | |||
| ecf/ | |||
| rcf/ | |||
| # Windows Store app package directories and files | |||
| AppPackages/ | |||
| BundleArtifacts/ | |||
| Package.StoreAssociation.xml | |||
| _pkginfo.txt | |||
| *.appx | |||
| *.appxbundle | |||
| *.appxupload | |||
| # Visual Studio cache files | |||
| # files ending in .cache can be ignored | |||
| *.[Cc]ache | |||
| # but keep track of directories ending in .cache | |||
| !?*.[Cc]ache/ | |||
| # Others | |||
| ClientBin/ | |||
| ~$* | |||
| *~ | |||
| *.dbmdl | |||
| *.dbproj.schemaview | |||
| *.jfm | |||
| *.pfx | |||
| *.publishsettings | |||
| orleans.codegen.cs | |||
| # Including strong name files can present a security risk | |||
| # (https://github.com/github/gitignore/pull/2483#issue-259490424) | |||
| #*.snk | |||
| # Since there are multiple workflows, uncomment next line to ignore bower_components | |||
| # (https://github.com/github/gitignore/pull/1529#issuecomment-104372622) | |||
| #bower_components/ | |||
| # RIA/Silverlight projects | |||
| Generated_Code/ | |||
| # Backup & report files from converting an old project file | |||
| # to a newer Visual Studio version. Backup files are not needed, | |||
| # because we have git ;-) | |||
| _UpgradeReport_Files/ | |||
| Backup*/ | |||
| UpgradeLog*.XML | |||
| UpgradeLog*.htm | |||
| ServiceFabricBackup/ | |||
| *.rptproj.bak | |||
| # SQL Server files | |||
| *.mdf | |||
| *.ldf | |||
| *.ndf | |||
| # Business Intelligence projects | |||
| *.rdl.data | |||
| *.bim.layout | |||
| *.bim_*.settings | |||
| *.rptproj.rsuser | |||
| *- [Bb]ackup.rdl | |||
| *- [Bb]ackup ([0-9]).rdl | |||
| *- [Bb]ackup ([0-9][0-9]).rdl | |||
| # Microsoft Fakes | |||
| FakesAssemblies/ | |||
| # GhostDoc plugin setting file | |||
| *.GhostDoc.xml | |||
| # Node.js Tools for Visual Studio | |||
| .ntvs_analysis.dat | |||
| node_modules/ | |||
| # Visual Studio 6 build log | |||
| *.plg | |||
| # Visual Studio 6 workspace options file | |||
| *.opt | |||
| # Visual Studio 6 auto-generated workspace file (contains which files were open etc.) | |||
| *.vbw | |||
| # Visual Studio 6 auto-generated project file (contains which files were open etc.) | |||
| *.vbp | |||
| # Visual Studio 6 workspace and project file (working project files containing files to include in project) | |||
| *.dsw | |||
| *.dsp | |||
| # Visual Studio 6 technical files | |||
| *.ncb | |||
| *.aps | |||
| # Visual Studio LightSwitch build output | |||
| **/*.HTMLClient/GeneratedArtifacts | |||
| **/*.DesktopClient/GeneratedArtifacts | |||
| **/*.DesktopClient/ModelManifest.xml | |||
| **/*.Server/GeneratedArtifacts | |||
| **/*.Server/ModelManifest.xml | |||
| _Pvt_Extensions | |||
| # Paket dependency manager | |||
| .paket/paket.exe | |||
| paket-files/ | |||
| # FAKE - F# Make | |||
| .fake/ | |||
| # CodeRush personal settings | |||
| .cr/personal | |||
| # Python Tools for Visual Studio (PTVS) | |||
| __pycache__/ | |||
| *.pyc | |||
| # Cake - Uncomment if you are using it | |||
| # tools/** | |||
| # !tools/packages.config | |||
| # Tabs Studio | |||
| *.tss | |||
| # Telerik's JustMock configuration file | |||
| *.jmconfig | |||
| # BizTalk build output | |||
| *.btp.cs | |||
| *.btm.cs | |||
| *.odx.cs | |||
| *.xsd.cs | |||
| # OpenCover UI analysis results | |||
| OpenCover/ | |||
| # Azure Stream Analytics local run output | |||
| ASALocalRun/ | |||
| # MSBuild Binary and Structured Log | |||
| *.binlog | |||
| # NVidia Nsight GPU debugger configuration file | |||
| *.nvuser | |||
| # MFractors (Xamarin productivity tool) working folder | |||
| .mfractor/ | |||
| # Local History for Visual Studio | |||
| .localhistory/ | |||
| # Visual Studio History (VSHistory) files | |||
| .vshistory/ | |||
| # BeatPulse healthcheck temp database | |||
| healthchecksdb | |||
| # Backup folder for Package Reference Convert tool in Visual Studio 2017 | |||
| MigrationBackup/ | |||
| # Ionide (cross platform F# VS Code tools) working folder | |||
| .ionide/ | |||
| # Fody - auto-generated XML schema | |||
| FodyWeavers.xsd | |||
| # VS Code files for those working on multiple tools | |||
| .vscode/* | |||
| !.vscode/settings.json | |||
| !.vscode/tasks.json | |||
| !.vscode/launch.json | |||
| !.vscode/extensions.json | |||
| *.code-workspace | |||
| # Local History for Visual Studio Code | |||
| .history/ | |||
| # Windows Installer files from build outputs | |||
| *.cab | |||
| *.msi | |||
| *.msix | |||
| *.msm | |||
| *.msp | |||
| # JetBrains Rider | |||
| *.sln.iml | |||
| #THUAI playback file | |||
| *.thuaipb | |||
| @@ -0,0 +1,6 @@ | |||
| namespace Playback | |||
| { | |||
| public class Playback | |||
| { | |||
| } | |||
| } | |||
| @@ -0,0 +1,9 @@ | |||
| <Project Sdk="Microsoft.NET.Sdk"> | |||
| <PropertyGroup> | |||
| <TargetFramework>net6.0</TargetFramework> | |||
| <ImplicitUsings>enable</ImplicitUsings> | |||
| <Nullable>enable</Nullable> | |||
| </PropertyGroup> | |||
| </Project> | |||
| @@ -0,0 +1,22 @@ | |||
| # Playback | |||
| ## 简介 | |||
| 回放组件 | |||
| ## 目标 | |||
| 用于生成回放文件、读取回放文件的基本组件,生成为 .NET 类库。 | |||
| ## 统一约定 | |||
| - 生成两份回放组件,目标平台分别为 .NET 6 与 .NET Standard。具体 .NET Standard 版本需与 Unity 版本对应 | |||
| - .NET 6 版本供服务器与一般客户端使用,.NET Standard 版本供Unity使用 | |||
| ## 特别说明 | |||
| - 本项目可直接复用 THUAI5 版本,注意更改版本号 | |||
| ## 开发人员 | |||
| - .......(自己加) | |||
| @@ -0,0 +1,25 @@ | |||
| | |||
| Microsoft Visual Studio Solution File, Format Version 12.00 | |||
| # Visual Studio Version 17 | |||
| VisualStudioVersion = 17.0.32014.148 | |||
| MinimumVisualStudioVersion = 10.0.40219.1 | |||
| Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Playback", "Playback\Playback.csproj", "{A5D4F29B-1D67-45D5-BDD8-5BF9839EC374}" | |||
| EndProject | |||
| Global | |||
| GlobalSection(SolutionConfigurationPlatforms) = preSolution | |||
| Debug|Any CPU = Debug|Any CPU | |||
| Release|Any CPU = Release|Any CPU | |||
| EndGlobalSection | |||
| GlobalSection(ProjectConfigurationPlatforms) = postSolution | |||
| {A5D4F29B-1D67-45D5-BDD8-5BF9839EC374}.Debug|Any CPU.ActiveCfg = Debug|Any CPU | |||
| {A5D4F29B-1D67-45D5-BDD8-5BF9839EC374}.Debug|Any CPU.Build.0 = Debug|Any CPU | |||
| {A5D4F29B-1D67-45D5-BDD8-5BF9839EC374}.Release|Any CPU.ActiveCfg = Release|Any CPU | |||
| {A5D4F29B-1D67-45D5-BDD8-5BF9839EC374}.Release|Any CPU.Build.0 = Release|Any CPU | |||
| EndGlobalSection | |||
| GlobalSection(SolutionProperties) = preSolution | |||
| HideSolutionNode = FALSE | |||
| EndGlobalSection | |||
| GlobalSection(ExtensibilityGlobals) = postSolution | |||
| SolutionGuid = {FBBF6C99-33A2-4B07-8759-BBDBA39A29C7} | |||
| EndGlobalSection | |||
| EndGlobal | |||
| @@ -0,0 +1,3 @@ | |||
| # Resource | |||
| 本目录用于存放主目录 README 的所有资源,**目录名称及目录内文件禁止更改**。 | |||