GithubHelp home page GithubHelp logo

mfikes / qttt Goto Github PK

View Code? Open in Web Editor NEW

This project forked from levand/qttt

24.0 2.0 2.0 822 KB

Quantum Tic Tac Toe

License: Eclipse Public License 1.0

Clojure 65.88% HTML 0.99% CSS 4.18% Ruby 0.29% Objective-C 26.05% JavaScript 1.75% Shell 0.86%

qttt's Introduction

Quantum Tic Tac Toe

For rules on the game itself, see the Wikipedia article or the original paper published in the American Journal of Physics.

This implementation is written in ClojureScript and ReactJS, and has three front-ends written using different UI libraries:

And, additionally in this fork, a port to React Native, based on the Om binding. (See the section at the bottom.)

Running the Program

Note: QTTT depends on a library, com.cognitect/contextual that may not yet be in public repositories. If not, you can install the dependency locally by cloning https://github.com/levand/contextual.git and running lein install in that repository.

First, compile the ClojureScript:

lein cljsbuild

Then, visit the HTML page at resources/public/dev.html.

You will need to select which UI library to view by passing a lib URL parameter. For example:

  • dev.html?lib=om
  • dev.html?lib=reagent
  • dev.html?lib=quiescent

Play proceeds in turns. There is no win condition detection, yet, but all the other rules of the game are in place.

Future Ideas

Ideas for future expansion include:

  • Win condition detection
  • Network multiplayer
  • AI

React Native Port

  1. From the top level run lein cljsbuild once ios.
  2. cd iOS/QTTT
  3. npm install
  4. pod install
  5. open QTTT.xcworkspace
  6. Run on a simulator (iPhone 6 works great)

REPL

If you'd like to connect to the iOS app using a REPL, run script/ambly-repl.

Demo

Watch a quick demo of it running on iOS:

QTTT

qttt's People

Contributors

funkotron avatar levand avatar mfikes avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  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.