{"id":27240991,"url":"https://github.com/adammcodes/rockpaperscissors99","last_synced_at":"2025-07-23T19:03:26.496Z","repository":{"id":76415067,"uuid":"368608751","full_name":"adammcodes/RockPaperScissors99","owner":"adammcodes","description":"A \"more intense\" version of a RPS game. Select 3 moves at a time and assign strength values to each move.","archived":false,"fork":false,"pushed_at":"2021-05-19T13:50:56.000Z","size":450,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-10T20:18:39.536Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","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/adammcodes.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}},"created_at":"2021-05-18T17:08:01.000Z","updated_at":"2021-05-19T13:50:59.000Z","dependencies_parsed_at":null,"dependency_job_id":"0cbd2241-3120-4719-919d-573ea5a2887a","html_url":"https://github.com/adammcodes/RockPaperScissors99","commit_stats":null,"previous_names":["adammcodes/rockpaperscissors99"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/adammcodes/RockPaperScissors99","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adammcodes%2FRockPaperScissors99","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adammcodes%2FRockPaperScissors99/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adammcodes%2FRockPaperScissors99/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adammcodes%2FRockPaperScissors99/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/adammcodes","download_url":"https://codeload.github.com/adammcodes/RockPaperScissors99/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adammcodes%2FRockPaperScissors99/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266737566,"owners_count":23976388,"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","status":"online","status_checked_at":"2025-07-23T02:00:09.312Z","response_time":66,"last_error":null,"robots_txt_status":null,"robots_txt_updated_at":null,"robots_txt_url":"https://github.com/robots.txt","online":true,"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":[],"created_at":"2025-04-10T19:56:21.568Z","updated_at":"2025-07-23T19:03:26.454Z","avatar_url":"https://github.com/adammcodes.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Rock Paper Scissors x99\n\n## Project Overview\n\nA more intense version of Rock Paper Scissors (RPS).\nRather than selecting just one of Rock, Paper, or Scissors - each player\nwill select three moves. Each move will consist of a type (Rock, Paper, or Scissors) as well\nas a strength value. Each player will have 99 total points to use as strength between all\nthree of their moves. For example, an example set of moves might be:\n\n- Move 1: Rock - 30 Strength Points\n- Move 2: Rock - 60 Strength Points\n- Move 3: Paper - 9 Strength Points\n\nThe strength for each move must be at least 1.\n\nAfter each player's moves are chosen, they will compare moves in the order they were selected. If two moves have different types (for example, Rock vs Scissors), then normal RPS rules will apply (in this case, Rock beats Scissors).\nHowever, if two types are the same, then the move with more strength will win. If both strength values are\nequal, then a tie is declared.\n\nThe player that wins the majority of the three rounds will be the winner of the game.\n\nTo demo all of this functionality, try out a final version of this project, located \u003ca href=\"https://s3.amazonaws.com/codecademy-content/programs/build-apis/projects/build-apis-project-1-rock-paper-scissors-x99/project/index.html\" target=\"_blank\"\u003ehere\u003c/a\u003e.\n\n## How To Begin\n\nAfter downloading the project folder, open **index.html** in the browser and play/test!\n\n## Implementation Details\n\n (Disclaimer: This is a project from the codecademy PRO back-end skill path,\n all implementation can be found in js/game-logic.js)\n\n* Twelve global variables representing each player's move types and values (3 move types and 3 move values for each player). These variable names should be in the form of `playerOneMoveOneType`, `playerOneMoveOneValue`, etc.\n\n* A function called `setPlayerMoves`, which will take a string representing a player (in the form of `'Player One'` or `'Player Two'`), three move types, and three move values, and set the correct global move variables. The method signature for this function should be as follows: `setPlayerMoves(player, moveOneType, moveOneValue, moveTwoType, moveTwoValue, moveThreeType, moveThreeValue)`.\n\n* A function called `getRoundWinner`, which takes a round number (`1`, `2`, or `3`), compares both player's move types and values for that round, and returns the appropriate winner (`'Player One'`, `'Player Two'`, or `'Tie'`)\n\n* A function called `getGameWinner`, which compares both player's move\ntypes and values for the whole game and returns the appropriate winner (`'Player One'`, `'Player Two'`, or `'Tie'`)\n\n* Bonus: A function called `setComputerMoves`, which chooses three random moves for player two. The move type for each move will be completely random, and the move values will be random but add up to 99.\n\n\n## Testing\n\nA testing suite checks for all essential functionality and edge cases.\n\nTo run these tests, first open the root project directory in your terminal. Then run `npm install` to install all necessary testing dependencies (you only need to do this once).\nFinally, run `npm run test`. You will see a list of tests that ran with information\nabout whether or not each test passed. After this list, you will see more specific output\nabout why each failing test failed.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fadammcodes%2Frockpaperscissors99","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fadammcodes%2Frockpaperscissors99","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fadammcodes%2Frockpaperscissors99/lists"}