| @@ -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 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. --> | <!-- 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.”并加上你的描述。 --> | <!-- 如果你对这次的 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 贡献代码 | ## 向 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 的建设有新思路的开发者、发现了 THUAI6 的 BUG 的人员,均可以在本仓库提出 issue。推荐使用本仓库设置的 issue 模板。 | |||||
| 任何对 THUAI6 的建设有新思路的开发者、发现了 THUAI6 的 BUG 的人员,均可以向本仓库提出 issue。推荐使用本仓库设置的 issue 模板。 | |||||
| ### 不要发布 “+1” 评论 | |||||
| ### 关于评论 | |||||
| 类似于“+1”、“👍”、“\xxgg/”这类简短的无意义的评论不要出现在本仓库的评论中,推荐发表有意义的评论。 | |||||
| 欢迎发表有建设意义的评论;请不要发表类似于 “+1”、“👍”、“\xxgg/” 无意义的评论。 | |||||
| ## 开发者交流 | ## 开发者交流 | ||||
| @@ -1,2 +1,179 @@ | |||||
| # THUAI6 | # THUAI6 | ||||
| 清华大学第六届人工智能挑战赛电子系赛道(原电子系第 24 届队式程序设计大赛 teamstyle24) | 清华大学第六届人工智能挑战赛电子系赛道(原电子系第 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 的所有资源,**目录名称及目录内文件禁止更改**。 | |||||