{"id":20779944,"url":"https://github.com/devklick/snek","last_synced_at":"2026-02-12T23:05:27.681Z","repository":{"id":106781329,"uuid":"408397419","full_name":"devklick/Snek","owner":"devklick","description":"Classic Snake game written in C#","archived":false,"fork":false,"pushed_at":"2023-06-25T16:09:01.000Z","size":10259,"stargazers_count":0,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-12-26T10:49:11.551Z","etag":null,"topics":["blazor-webassembly","console-application","console-game","cross-platform","game","help-wanted"],"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/devklick.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-09-20T10:21:16.000Z","updated_at":"2023-06-25T15:42:14.000Z","dependencies_parsed_at":null,"dependency_job_id":"fa085a43-6203-4b35-9d1d-b6f7011397a1","html_url":"https://github.com/devklick/Snek","commit_stats":null,"previous_names":[],"tags_count":25,"template":false,"template_full_name":null,"purl":"pkg:github/devklick/Snek","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/devklick%2FSnek","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/devklick%2FSnek/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/devklick%2FSnek/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/devklick%2FSnek/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/devklick","download_url":"https://codeload.github.com/devklick/Snek/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/devklick%2FSnek/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29385253,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-12T22:07:52.078Z","status":"ssl_error","status_checked_at":"2026-02-12T22:07:49.026Z","response_time":55,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["blazor-webassembly","console-application","console-game","cross-platform","game","help-wanted"],"created_at":"2024-11-17T13:30:52.952Z","updated_at":"2026-02-12T23:05:27.643Z","avatar_url":"https://github.com/devklick.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003ch1 align=\"center\"\u003e\n    Snek\n\u003c/h1\u003e\n\n\u003cp align=\"center\"\u003e\n    A terminal version of the classic arcade/mobile game, Snake.\n\u003c/p\u003e\n\u003cbr/\u003e\n\u003cbr/\u003e\n\u003cbr/\u003e\n\u003cbr/\u003e\n\n# Description\nA cross-platform version of Snake written in C#. \n\nFeatures:\n\n  - [x] Configurable window size\n  - [x] Configurable speed\n  - [x] Toggle whether or not the game should gradually speed up\n  - [x] Toggle sound effects\n  - [x] Different behavior when colliding with a wall\n  - [x] Runs in console (Windows, MacOS, Linux)\n  - [ ] Runs in Browser (Blazor)\n# Gameplay\n\n\u003cdetails\u003e\n  \u003csummary\u003eClick to see short gifs of some gameplay.\u003c/summary\u003e\n  \n  ### Default\n  If you run the game without specifying any arguments, this is what you get.\n\n  ![Default](/Images/Snek_Default.gif)\n\n  ### Portal\n  If you run the game and specify the Wall Collision Behavior (`-c`, `--collision`) as `Portal`, this is what you get.\n  \n  ![Portal](/Images/Snek_Portal.gif)\n\n  ### Rebound\n  If you run the game and specify the Wall Collision Behavior (`-c`, `--collision`) as `Rebound`, this is what you get.\n  \n  ![Rebound](/Images/Snek_Rebound.gif)\n\u003c/details\u003e\n\n# Installation\n\nDownload the [latest release](https://github.com/devklick/Snek/releases) zip file for your operating system and extract it to a folder of your choice.\n\n## Invoking the executable\n\n### Windows\n\nYou can either-double click the `Snek.exe` file, or open a command prompt, `cd` folder you extracted the zip file to (e.g. `cd %HOMEPATH%\\\\Downloads\\\\Snek`) and invoke the executable by calling `Snek.exe`).\n\n### Linux\n\nOpen a terminal, navigate to the folder you extracted the zip file to (e.g. `cd ~/Downloads/Snek`) and invoke the executable by calling `./Snek`.\n\n### OSX\n\nOpen a terminal, navigate to the folder you extracted the zip file to (e.g. `cd ~/Downloads/Snek`) and invoke the executable by calling `./Snek`.\n\n# Key Bindings\n\n| Keys           | Description             |\n| -------------- | ----------------------- |\n| Up Arrow, W    | Face up/north           |\n| Left Arrow, A  | Face left/west          |\n| Right Arrow, D | Face right/east         |\n| Down Arrow, S  | Face down/south         |\n| Escape         | Toggle pause            |\n| R              | Replay (when game over) |\n| Escape         | Quit (when game over)   |\n\n# Audio\n\nThe sound effects are annoying. Love 'em or hate 'em. If they're too much for you, you can disable them. See the [Supported arguments](#supported-arguments) for more info on this.\n\n# Game options\n\nThere are a number of options that can can be configured when starting a game. The only way to specify these options at present is via command line arguments, so the game would have to be launched from the command line rather than by double-clicking the executable.\n\n## Supported arguments\n\n### Display Help\n\n- Arguments: `--help`, `-h`\n- Description: Shows this help information\n\n### Game Width\n\n- Arguments: `--width`, `-x`\n- Description: The number of cells along the horizontal axis\n- Type: Number (min 13, max 80)\n- Default: 15\n\n### Game Height\n\n- Arguments: `--height`, `-y`\n- Description: The number of cells along the vertical axis\n- Type: Number (min 6, max 80)\n- Default: 15\n\n### Initial Game Speed\n\n- Arguments: `--speed`, `-s`\n- Description: The starting number of times per second the snake will move\n- Type: Number (min 1, max 50)\n- Default: 8\n\n### Increase Speed on Enemy Destroyed\n\n- Arguments: `--increase-speed`, `-i`\n- Description: Whether or not the snake should get faster every time it destroys an enemy\n- Type: Boolean (True, False)\n- Default: False\n\n### Wall Collision Behavior\n\n- Arguments: `--collision`, `-c`\n- Description: How the game should behave when the snake collides with a wall\n- Type: Enum (GameOver, Rebound, Portal)\n  - GameOver: The game is over\n  - Rebound: The players snake is reversed and continues traveling in the opposite direction\n  - Portal: The player travels through walls. They will continue moving in the same direction but will emerge from the wall opposite the one they collided with\n- Default: GameOver\n\n### Audio Enabled\n\n- Arguments: `--audio`, `-a`\n- Description: Whether or not sound effects should play\n- Type: Boolean (True, False)\n- Default: True\n\n### Debug Logs\n\n- Arguments: `--debug`, `-d`\n- Description: Whether or not to log events to file\n- Type: Boolean (True, False)\n- Default: False\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdevklick%2Fsnek","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdevklick%2Fsnek","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdevklick%2Fsnek/lists"}