{"id":18736476,"url":"https://github.com/aggie-coding-club/selection-chess","last_synced_at":"2025-11-16T16:30:19.406Z","repository":{"id":37806322,"uuid":"295788875","full_name":"aggie-coding-club/Selection-Chess","owner":"aggie-coding-club","description":null,"archived":false,"fork":false,"pushed_at":"2022-08-30T17:51:15.000Z","size":104485,"stargazers_count":1,"open_issues_count":0,"forks_count":1,"subscribers_count":6,"default_branch":"master","last_synced_at":"2024-12-28T16:45:06.037Z","etag":null,"topics":["cpp","learning-oriented"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/aggie-coding-club.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-09-15T16:37:05.000Z","updated_at":"2022-01-18T00:29:40.000Z","dependencies_parsed_at":"2023-01-17T00:01:25.028Z","dependency_job_id":null,"html_url":"https://github.com/aggie-coding-club/Selection-Chess","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aggie-coding-club%2FSelection-Chess","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aggie-coding-club%2FSelection-Chess/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aggie-coding-club%2FSelection-Chess/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aggie-coding-club%2FSelection-Chess/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/aggie-coding-club","download_url":"https://codeload.github.com/aggie-coding-club/Selection-Chess/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239611993,"owners_count":19668274,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cpp","learning-oriented"],"created_at":"2024-11-07T15:21:02.320Z","updated_at":"2025-11-16T16:30:19.341Z","avatar_url":"https://github.com/aggie-coding-club.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Selection Chess GUI and the Hippocrene Engine\n\nSelection chess is a variant of chess where players can dynamically rearrange selections of tiles during their turn. The Hippocrene Engine is an engine that shares source code with the GUI, and is an engine which can generate moves. The GUI allows engines to play eachother or humans, and uses established conventions so other engines can be plugged in if compatible.\n\n## Contribution\n\nThis is currently a learners project for the Aggie Coding Club, so we are not looking for outside help at this time. This is more intended to be something we can work on to build cool algorithms in our spare time. This is subject to change in the future, whether it be anything from abandonment to fully open-sourcing.\n\n### Getting Started\n\nWe have a [document on how to get started](\nhttps://docs.google.com/document/d/1t32vdaahksmd2ImCNaXNv0qEbKwnHjy0MOYP9bsr5Sg/edit?usp=sharing). It will be updated as the project progresses.\n\n### How to Compile\n\nWe use [SCons](https://www.scons.org/). Once you have SCons properly installed on your machine, you can compile both the GUI and engine by running `scons` inside of the project folder.\nRunning `scons -c` will cleanup.\n\nTo compile with debug outputs enabled, run `scons debug=1`\n\nIf you have multiple compilers you want to use, compile with `scons compiler=\"[compiler]\"`. Otherwise, the default in scons.config will be used.\n\nIf you want to compile without the Boost library, use the `noboost=1` flag. Note that this will disable dependent features of the code.\n\n## Standards\n\nTwo space indentation. [The One True Brace Style](https://en.wikipedia.org/wiki/Indentation_style#Variant:_1TBS_(OTBS)) is used for bracing, as shown below:\n\n```cpp\nvoid foo(std::string bar, int baz) {\n  if (m_qux) {\n    std::cout \u003c\u003c \"hello world \" \u003c\u003c baz \u003c\u003c std::endl;\n  } else {\n    std::cout \u003c\u003c bar \u003c\u003c std::endl;\n  }\n}\n```\n\nNotice that braces are required even for one line `if` or other control statements. One exception to this is control blocks with no implementation, such as:\n\n```cpp\nsize_t i;\nwhile (i = 0; foo(i); i++); // get lowest value for which foo returns false\nreturn i;\n```\n\n### Naming Conventions\n\nWe use `.cpp`, `.hpp`, and `.h` in this project. Specifically, `.hpp` implies that it is a header file with implementation, whereas every `.h` corresponds to a matching `.cpp`. Source code files are named in lower_snake_case.\n\nParameters of a function start with an underscore `_`, and members of a class start with `m_`. Constants use UPPER_SNAKE_CASE. Classes, structs, enums, functions, and methods use UpperCamelCase. Variables use lowerCamelCase.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faggie-coding-club%2Fselection-chess","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faggie-coding-club%2Fselection-chess","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faggie-coding-club%2Fselection-chess/lists"}