{"id":13410056,"url":"https://github.com/QPong/QPong","last_synced_at":"2025-03-14T15:31:44.630Z","repository":{"id":35486349,"uuid":"172957229","full_name":"QPong/QPong","owner":"QPong","description":"A quantum version of the classic Pong","archived":false,"fork":false,"pushed_at":"2024-06-15T20:19:28.000Z","size":132969,"stargazers_count":118,"open_issues_count":23,"forks_count":40,"subscribers_count":6,"default_branch":"main","last_synced_at":"2024-08-29T06:01:34.934Z","etag":null,"topics":["game","pong","python","quantum","quantum-computing"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/QPong.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":"2019-02-27T17:13:08.000Z","updated_at":"2024-08-12T19:46:12.000Z","dependencies_parsed_at":"2024-05-09T22:23:58.150Z","dependency_job_id":"d74506f2-5cba-495c-84dc-70d6d1e565c2","html_url":"https://github.com/QPong/QPong","commit_stats":null,"previous_names":["huangjunye/qpong"],"tags_count":6,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/QPong%2FQPong","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/QPong%2FQPong/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/QPong%2FQPong/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/QPong%2FQPong/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/QPong","download_url":"https://codeload.github.com/QPong/QPong/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243600652,"owners_count":20317311,"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":["game","pong","python","quantum","quantum-computing"],"created_at":"2024-07-30T20:01:04.735Z","updated_at":"2025-03-14T15:31:44.197Z","avatar_url":"https://github.com/QPong.png","language":"Python","funding_links":[],"categories":["2019"],"sub_categories":["Qiskit Camp 2019"],"readme":"# QPong\nThis is a quantum version of classic game Pong using IBM Qiskit and PyGame. This game was initiated in IBM Qiskit Camp 2019 by Huang Junye, Jarrod Reilly, Anastasia Jeffery and James Weaver based on James Weaver's quantum-circuit-pygame package: https://github.com/JavaFXpert/quantum-circuit-pygame\n\n**NEW!** Unity version is being actively developed over here: https://github.com/HuangJunye/QPong-Unity\n\n## Story\nIn the dawn of the Quantum Era, a primitive 3-qubit Quantum Computer is trying to challenge the Classical Computer, the long-time ruler of the Computer Empire. Your mission is to use your Human Intelligence to help the Quantum Computer defeat the Classical Computer and demonstrate \"quantum supremacy\" for the first time in human history. The battle field of the Quantum-Classic war is none other than the classic Pong game.\n\n## Installation\nTo play the game, you will need to install Python and three required packages. To do that, you need to use command line tool (Command Prompt for Windows or Terminal for macOS).\n\n### Open command line tool\n\nOn Windows, open Command Prompt by typing \"Command Prompt\" on the search box of Start menu. Check this link if you are not sure about how to do that: https://www.wikihow.com/Open-the-Command-Prompt-in-Windows\n\nOn macOS, press Command + Space to open Spotlight. Type \"Terminal\" on Spotlight to open Terminal. Check this link if you are not sure about how to do that: https://www.wikihow.com/Open-a-Terminal-Window-in-Mac\n\n### Install Python\nYou can install Python from https://www.python.org/ or install Anaconda from https://www.anaconda.com\n\n### Install required packages\nThere are three Python packages required to run the game: PyGame, Qiskit and matplotlib.\n\nRun `pip install [package name]` on command line tool (same for Windows and macOS) to install the packages. For example:\n```console\npip install pygame\n```\n### Install QPong\n\nClone or download the master branch by clicking the green button on the top right corner on this page (above the files and below \"contributors\"). Unzip the files to the \"Downloads\" folder on your computer.\n\nChange the directory to the downloaded files. (Downloads/QPong-master)\n\nOn Windows, run the following code to change your directory to the QPong folder:\n```console\ncd C:\\users\\[your username]\\downloads\\QPong-main\\\n```\nOn macOS, run the following code to change your directory to the QPong folder:\n```console\ncd Downloads/QPong-main/\n```\n\nOn both Windows and macOS, run the following command to start the game: \n```console\npython main.py\n```\n\n## How to play\n\n### Keyboard\nW, A, S, D: Up, Left, Down, Right to move cursor\n\nSPACE: delete gate\n\nX, Y, Z, H: add Pauli-X, Pauli-Y, Pauli-Z, Hadamard gate\n\nC: add CNOT gate\n\nUP, DOWN: move control qubit up or down\n\nLeft, Right: add rotation to a gate, at pi/8 step\n\nTAB: update visulization\n\n\n### Joystick\nJoystick button correspondence depends on the model of joystick. Details will be added later\n\n## Credits\nSound effects are made by NoiseCollector from Freesound.org: https://freesound.org/people/NoiseCollector/packs/254/\nFont used in the game is Bit5x3 made by Matt LaGrandeur: http://www.mattlag.com/bitfonts/\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FQPong%2FQPong","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FQPong%2FQPong","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FQPong%2FQPong/lists"}