Code Monkey home page Code Monkey logo

nunofernandes-plight / qiskitblocks Goto Github PK

View Code? Open in Web Editor NEW

This project forked from javafxpert/qiskitblocks

0.0 1.0 0.0 158.43 MB

Game that teaches quantum computing using Qiskit (http://qiskit.org) in a Minetest (http://minetest.net) block world. Works on Windows, macOS, GNU/Linux, FreeBSD, OpenBSD, DragonFly BSD, and Android. QiskitBlocks are leveraged in the Quantum Computing Workshop with QiskitBlocks (web-based slides https://slides.com/javafxpert/qiskitblocks)

Mathematica 0.04% Lua 99.96%

qiskitblocks's Introduction

QiskitBlocks

Teaches quantum computing and Qiskit in a Minetest block world.

Please choose one of the Installing and running options below and follow the instructions.

Installing and running (the quick and easy way using the Minetest Content Database)

  • Download, install and run Minetest 5.1. Note: This site has a preferred alternative to MacOS Homebrew installation: https://www.techspot.com/downloads/5585-minetest.html

  • Click the Content tab shown here, then click the Browse online content button. Minetest Content Tab

  • When on the page shown shown here, type QiskitBlocks, click the Search button, and click the Install button beside the QiskitBlocks row. Click the Back to Main Menu button when installation has completed. Minetest Search QiskitBlocks

  • Although Minetest typically uses your computer's default language, you must select a language in Minetest for QiskitBlocks messages to be displayed in your desired language. Currently, QiskitBlocks messages have been translated to Japanese, so please refer to the Selecting a language section below for instructions.

  • Click the Start Game tab shown here, select the round QiskitBlocks game from the lower left, deselect the three checkboxes, and click the New button. Minetest Start Game QiskitBlocks

  • From the new world dialog shown here, make up a world name with characters and underscores, enter 0 in the Seed field, select singlenode or flat in the Mapgen field, and click the Create button. Minetest New World Dialog

  • Click the Play Game button, waiting a few seconds while the new world is generated and lighted.

  • Jump to the Explore and learn section below.

Installing and running (clone this repo instead of using the Minetest Content Database)

  • Download and install Minetest 5.0.1. Note: This site has a preferred alternative to MacOS Homebrew installation: https://www.techspot.com/downloads/5585-minetest.html

  • Clone this QiskitBlocks project, and copy the qiskitblocks_games folder of this QiskitBlocks project into the games folder of your Minetest installation.

  • Add a worlds folder (if it doesn't already exist) to your Minetest installation at the same level as the games folder.

  • Copy the quantum_circuits_world folder from from the worlds folder of this distribution into the worlds folder of your Minetest installation.

  • QiskitBlocks makes requests to a service named QiskitBlocksService which accesses Qiskit quantum simulators that power the QiskitBlocks quantum circuits. By default, QiskitBlocks uses a cloud-based QiskitBlocksService, so public internet access is required at runtime. Optionally, you can checkout and run the QiskitBlocksService locally. If you choose to do that, then uncomment (remove the leading # character) the following lines in qiskitblocks_game/minetest.conf :

    #qiskit_service_host = http://localhost:5000
    
    #qiskit_service_timeout = 5 
    
  • Open the Minetest application, select the round QiskitBlocks game from the lower left, and uncheck the Creative Mode, Enable Damage, and Host Server checkboxes. Then select the world quantum_circuits_world [qiskitblocks] from the menu, and click Play Game. QiskitBlocks in Minetest menu

Selecting a language

Due to the great translation work of Kifumi Numata , you may choose for QiskitBlocks messages to be displayed in Japanese (ja). To accomplish this, take the following steps:

  • From the Settings tab, click the All Settings button: Minetest All Settings

  • Click Client and Server to expand it, then click language. Click the edit button, select ja from the dropdown list, and click the Save button. After clicking the < Back to Settings page button, exit Minetest and run it again so that your language selection takes effect in QiskitBlocks messages:
    Minetest select language

Explore and learn!

  • When you're in the starting room with all of the quantum operation blocks on the wall, use the W, A, S, D keys to walk up to the sign on the right side of the door. Right-click the sign and follow the instructions. Have fun exploring and solving quantum circuit puzzles!

Please reach out to James Weaver on Qiskit Slack (located at qiskit.org) with questions or feedback.

QiskitBlocks escape rooms

Portal Room in QiskitBlocks

Quantum Blocks Academy in QiskitBlocks

Quantum Circuits Garden in QiskitBlocks

Quantum Cats Sandbox in QiskitBlocks

Final Level II escape room in Japanese

Creating escape rooms in QiskitBlocks

If you'd like to teach a quantum computing concept in the QiskitBlocks game, here are some instructions for creating escape rooms in QiskitBlocks.

qiskitblocks's People

Contributors

andreagines avatar javafxpert avatar joejhan avatar maddy-tod avatar quantumjim avatar rahps97 avatar rubenwardy avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.