{"id":22525786,"url":"https://github.com/mr-ema/shnake","last_synced_at":"2025-03-28T03:47:05.504Z","repository":{"id":183782511,"uuid":"670689272","full_name":"mr-ema/shnake","owner":"mr-ema","description":"Classic snake game for your terminal","archived":false,"fork":false,"pushed_at":"2023-11-12T02:29:45.000Z","size":291,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-02T05:16:33.653Z","etag":null,"topics":["posix-shell","shell-game","snake-game","terminal-game"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mr-ema.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,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-07-25T15:54:48.000Z","updated_at":"2023-07-28T21:25:46.000Z","dependencies_parsed_at":null,"dependency_job_id":"4f64b510-6b32-4fb0-962c-33f9aebb88be","html_url":"https://github.com/mr-ema/shnake","commit_stats":null,"previous_names":["mr-ema/shnake"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mr-ema%2Fshnake","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mr-ema%2Fshnake/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mr-ema%2Fshnake/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mr-ema%2Fshnake/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mr-ema","download_url":"https://codeload.github.com/mr-ema/shnake/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245966933,"owners_count":20701759,"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":["posix-shell","shell-game","snake-game","terminal-game"],"created_at":"2024-12-07T06:11:39.661Z","updated_at":"2025-03-28T03:47:05.483Z","avatar_url":"https://github.com/mr-ema.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# SHNAKE\nSimple for-fun project of the classic snake game implemented in POSIX shell script.\n\n\u003c/br\u003e\n\n## Resources\n- [Shell Check](https://www.shellcheck.net/)\n- [POSIX Standards](https://pubs.opengroup.org/onlinepubs/9699919799/)\n\n\u003c/br\u003e\n\u003c/br\u003e\n\n## Why POSIX Shell?\nWhy not, my friend! Sometimes, you just gotta shell-ebrate simplicity.\n\n\u003c/br\u003e\n\u003c/br\u003e\n\n## Features\n- [x] Random fruit generation\n- [x] Snake grow longer when eat the fruit\n- [x] Full Collition detection\n- [x] Simple interface with score counting\n- [x] Configurable target FPS\n\n\u003c/br\u003e\n\u003c/br\u003e\n\n## Demo\n![Demo](https://github.com/mr-ema/shnake/blob/main/docs/demo.gif)\n\n\u003c/br\u003e\n\u003c/br\u003e\n\n## Tested Shells \n- [x] Zsh\n- [x] Bash\n- [x] Dash\n- [x] Termux\n\n\u003c/br\u003e\n\u003c/br\u003e\n\n## Compatibility and Dependencies\nThis shell script is designed to be POSIX\ncompatible, following the standards set by the [POSIX\nspecification](https://pubs.opengroup.org/onlinepubs/9699919799/). This\nmeans that it should run on any POSIX-compliant shell, which includes\nmost Unix-like systems.\n\n### Dependencies\nHowever, while the script adheres to POSIX standards, there are a few\ncommands used that are not guaranteed to be available on all operating\nsystems and you may need to install:\n\n- **bc:** The script uses `bc` (basic calculator) for performing precise\nfloating-point arithmetic calculations. While `bc` is POSIX-defined\nand commonly available, it might not be installed on some minimal or\nspecialized environments.\n\n- **tput:** The script uses `tput` to control terminal colors and cursor\nmovement, enhancing the visual aspect of the game. Like `bc`, `tput`\nis POSIX-defined but might be missing on certain systems, especially\nheadless or minimal installations.\n\n\u003c/br\u003e\n\u003c/br\u003e\n\n## How To Play\n1. Clone the repository.\n2. Open your terminal and navigate to the directory where the script is located.\n3. Make sure you have execute permissions for the script: `chmod +x main.sh`.\n4. Run the game: `./main.sh`.\n\n\u003c/br\u003e\n\u003c/br\u003e\n\n## License\nThis game is released under the Zero-Clause BSD license. Feel free\nto use, modify, and distribute this software for any purpose with or\nwithout fee. The software comes \"as is,\" and the author disclaims all\nwarranties regarding its use. The author shall not be liable for any\ndamages resulting from the use or performance of this software.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmr-ema%2Fshnake","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmr-ema%2Fshnake","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmr-ema%2Fshnake/lists"}