{"id":27024271,"url":"https://github.com/jonathanperis/hisllaylla-bird-ionic","last_synced_at":"2025-07-25T09:37:56.019Z","repository":{"id":281570713,"uuid":"945680931","full_name":"jonathanperis/hisllaylla-bird-ionic","owner":"jonathanperis","description":null,"archived":false,"fork":false,"pushed_at":"2025-03-17T20:53:59.000Z","size":1398,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-17T21:36:18.851Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","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/jonathanperis.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":"2025-03-10T00:30:16.000Z","updated_at":"2025-03-17T20:54:03.000Z","dependencies_parsed_at":"2025-03-17T21:50:07.315Z","dependency_job_id":null,"html_url":"https://github.com/jonathanperis/hisllaylla-bird-ionic","commit_stats":null,"previous_names":["jonathanperis/hisllayllabird","jonathanperis/hisllaylla-bird","jonathanperis/hisllaylla-bird-ionic"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jonathanperis%2Fhisllaylla-bird-ionic","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jonathanperis%2Fhisllaylla-bird-ionic/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jonathanperis%2Fhisllaylla-bird-ionic/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jonathanperis%2Fhisllaylla-bird-ionic/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jonathanperis","download_url":"https://codeload.github.com/jonathanperis/hisllaylla-bird-ionic/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247249528,"owners_count":20908213,"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":"2025-04-04T21:18:57.498Z","updated_at":"2025-04-04T21:18:58.189Z","avatar_url":"https://github.com/jonathanperis.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# FLAPPY BIRD\nFlappy bird flew into an endless pipe zone (or is it?) and needs help flying through to get out.  \n\n# ABOUT THE GAME\nA simple side-scrolling game where the player controls a bird to fly between pipes without hitting them.  Flying between each set of pipes scores 1 point and hitting them or the ground ends the game.  See how long you can last and set records.  \n\nProject based on [noanonoa work](https://github.com/noanonoa/flappy-bird):\n\n## GETTING STARTED\n\nFirst, install the Ionic CLI tool:\n\n```bash\nnpm i -g @ionic/cli\n```\n\nInstall the dependencies:\n\n```bash\nnpm install\n```\n\nThen, run the development server:\n\n```bash\nionic serve\n```\n\n# WIREFRAME  \n![wireframe for game screen](/public/assets/img/001-wireframe.png \"Game Screen\")  \n![wireframe for collision mechanics](/public/assets/img/002-wireframe.png \"Collision Mechanics\")\n\n# TECHNOLOGY\n * HTML/CSS on canvas\n * JavaScript for game logic\n\n# ASSETS\n### IMAGES\n![flappy bird theme](/public/assets/img/og-theme.png)  \n(src: google images)  \n![flappy bird theme v2](/public/assets/img/og-theme-2.png)  \n(src: https://www.spriters-resource.com/fullview/59894/)  \n### AUDIO\n(src: https://www.sounds-resource.com/mobile/flappybird/sound/5309/)\n### SCREENSHOT\n![flappy bird screenshot](/public/assets/img/001-screenshot.png)\n\n# MVP\n * start the game with a 'press button'\n * bird falls default to gravity\n * bird flies to 'click' (might be better for mobile capabilities)\n * pipes spawn top and bottom and scroll to the left \n * track score\n * end game on collision\n\n# STRETCH GOALS\n * animate bird\n * add sounds for scoring, flying, and collision\n * a customized theme\n * game is animated while waiting for player to start game\n * night time / day time\n * add a running time to display\n * make the game web responsive\n\n---\n\n# GAMEPLAN\n\n## HTML\n - [X] container for gaming screen\n - [X] game title\n - [X] game screen `\u003ccanvas\u003e`\n\n## CSS\n - [X] *centered* game title\n - [X] *centered* game screen\n\n## JavaScript\n### Pieces I need\n - [X] specify canvas size\n - [X] draw bird image\n - [X] top pipe image\n - [X] constant gap between pipes\n - [X] bottom pipe image\n - [X] score tracker\n - [X] ready screen: game state 0\n - [X] game over screen: game state 2\n - [X] background image\n - [X] ground image\n - [X] sounds on flying, collision, scoring, falling, and game over screen\n### Functions I need\n - [X] start game: game state 1\n    - [X] start on 'click' (mobile compatible)\n    - [X] spawn set of pipes with constant gap\n      - [X] if statement triggering at x-coordinate\n - [X] bird's movement\n    - [X] gravity: bird's y-coordinate increases to fall  \n     * velocity's value is incremented by gravity constant\n     * bird's position function updates velocity's value\n    - [X] flying: bird's y-coordinate decreases to fly on 'click'\n        - [X] eventListener 'click' (also enabled 'spacebar')\n    - [X] rotate bird upward each time it flies (smells like a challenge)\n        - [X] animation object / array of images to flip through\n - [X] a drawing function to animate game\n   - [X] place images and loop\n    - [X] pipes' x-coordinates decrease to scroll left\n        - [X] increment score by 1 upon passing pipe\n    - [X] pipes' y-coordinates are generated randomly\n    - [X] draw background\n    - [X] draw bird\n - [X] Game Over: game state 2\n    - [X] collision with pipes\n    - [X] collision with floor and canvas ceiling\n    - [X] cut screen\n    - [X] restart game on 'click' start button\n        - [X] display best score\n        - [X] display current score\n        - [X] reset score on start game\n        - [X] reset pipes","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjonathanperis%2Fhisllaylla-bird-ionic","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjonathanperis%2Fhisllaylla-bird-ionic","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjonathanperis%2Fhisllaylla-bird-ionic/lists"}