{"id":13617486,"url":"https://github.com/ehulinsky/AnalogChess","last_synced_at":"2025-04-14T06:34:01.466Z","repository":{"id":65230485,"uuid":"575658300","full_name":"ehulinsky/AnalogChess","owner":"ehulinsky","description":"Chess but no grid","archived":false,"fork":false,"pushed_at":"2023-10-27T00:22:04.000Z","size":775,"stargazers_count":451,"open_issues_count":4,"forks_count":23,"subscribers_count":8,"default_branch":"main","last_synced_at":"2024-08-01T20:47:39.049Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ehulinsky.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2022-12-08T02:21:53.000Z","updated_at":"2024-07-23T22:01:24.000Z","dependencies_parsed_at":"2023-02-16T01:30:49.114Z","dependency_job_id":"e92694a5-c929-4797-a558-1448cc24a308","html_url":"https://github.com/ehulinsky/AnalogChess","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/ehulinsky%2FAnalogChess","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ehulinsky%2FAnalogChess/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ehulinsky%2FAnalogChess/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ehulinsky%2FAnalogChess/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ehulinsky","download_url":"https://codeload.github.com/ehulinsky/AnalogChess/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":223621805,"owners_count":17174757,"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":[],"created_at":"2024-08-01T20:01:42.532Z","updated_at":"2024-11-08T02:30:29.785Z","avatar_url":"https://github.com/ehulinsky.png","language":"Python","funding_links":[],"categories":["Python"],"sub_categories":[],"readme":" # Analog Chess\n\n \n This is a version of chess where the pieces are not constrained to an 8x8 grid, and instead can move to any position on the board.\n After clicking on a piece, the areas it may move to are highlighted in green, and areas the enemy can move to are highlighted in red. Drag the piece to move it, and to confirm a move, either click on the piece again or press enter. To cancel a move, press escape or click anywhere off the piece.\n \n\u003cimg src=\"https://raw.githubusercontent.com/ehulinsky/AnalogChess/main/images/Screenshot%20(152).png\" width=\"400\"/\u003e\n \n There is no check or checkmate in this game. __To win, you simply need to capture the opponent's king__. This is mainly because stalemate is basically impossible, as the king can always move an infintesimal amount, and also because implementing check/checkmate would destroy the last ounce of sanity I have left.\n \n ## Pieces\n \n Each piece's moves are based on it's moves in regular chess, but in Analog Chess, pieces may move to any position along their trajectory.\n\n__Pawn:__ May move 0-2 squares on it's first move, 0-1 otherwise. Can only attack diagonally. Sadly en passant (the funny move) is not implemented yet because I have no idea how it would work.\n\n  \u003cimg src=\"https://raw.githubusercontent.com/ehulinsky/AnalogChess/main/images/Screenshot%20(143).png\" width=\"200\"/\u003e\n  \n__Bishop:__ Moves any distance diagonally\n\n  \u003cimg src=\"https://raw.githubusercontent.com/ehulinsky/AnalogChess/main/images/Screenshot%20(154).png\" width=\"200\"/\u003e\n  \n__Knight:__ Moves in a circle of radius sqrt(5), which is the distance it travels in it's usual L move.\n\n  \u003cimg src=\"https://raw.githubusercontent.com/ehulinsky/AnalogChess/main/images/Screenshot%20(145).png\" width=\"200\"/\u003e\n  \n__Rook:__ Moves any distance orthogonally\n\n \u003cimg src=\"https://raw.githubusercontent.com/ehulinsky/AnalogChess/main/images/Screenshot%20(146).png\" width=\"200\"/\u003e\n \n__Queen:__ Moves any distance orthogonally or diagonally.\n\n \u003cimg src=\"https://raw.githubusercontent.com/ehulinsky/AnalogChess/main/images/Screenshot%20(147).png\" width=\"200\"/\u003e\n \n__King:__ Moves 0-1 squares orthogonally or 0-sqrt(2) squares diagonally. It is allowed to move into check because this game was way too complicated to code already. You lose if your king dies.\n\n \u003cimg src=\"https://raw.githubusercontent.com/ehulinsky/AnalogChess/main/images/Screenshot%20(148).png\" width=\"200\"/\u003e\n \n  The king may castle with the rooks, and it is allowed to castle out of, into, or through check.\n  \n  \u003cimg src=\"https://raw.githubusercontent.com/ehulinsky/AnalogChess/main/images/Screenshot%20(153).png\" width=\"400\"/\u003e\n \n \n ## Capturing\n Capturing in this game is more powerful than in normal chess. Basically, if your piece overlaps the opponent's piece it is captured, but you cannot move past the first piece you overlap. \n \n __Example__\n \n   \u003cimg src=\"https://raw.githubusercontent.com/ehulinsky/AnalogChess/main/images/Screenshot%20(155).png\" width=\"400\"/\u003e      \u003cimg src=\"https://raw.githubusercontent.com/ehulinsky/AnalogChess/main/images/Screenshot%20(156).png\" width=\"400\"/\u003e\n\n\n One interesting side effect of this is that you can capture multiple pieces at once. :)\n \n \u003cimg src=\"https://raw.githubusercontent.com/ehulinsky/AnalogChess/main/images/Screenshot%20(157).png\" width=\"400\"/\u003e\n\n\n \n \n ## Code\n To run the code you will need to install Python and the PyGame library, and then run the latest .py file.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fehulinsky%2FAnalogChess","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fehulinsky%2FAnalogChess","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fehulinsky%2FAnalogChess/lists"}