rock-paper-scissors

Creating a Rock, Paper, Scissors game in all the programming languages!

Stars
2

Rock, Paper, Scissors

Creating a rock, paper, scissors game in a different programming language... everyday... for all of eternity.

Resources

Before we get started, special thanks to the following:

Dear God, Why?

Because learning. S'why.

But... Why Rock, Paper, Scissors?

Hello world is boring.

Fizz buzz is played out.

Rock, Paper, Scissors, on the other hand, has a little bit of everything, making it a perfect learning opportunity for developers at any level. Typical features include:

  • Loops
  • Input
  • Validation
  • Output
  • Randomization
  • Conditionals

Contributing

Want to contribute to our little project? Take a look at some of our existing examples, take a crack at any language, and submit a pull request.

We are by no means experts, so if you see something that can be improved upon, please let us know (or submit a pull request with the changes yourself)!

Functionality

We haven't exactly established many rules, but here are some guidelines that we are trying to adhere pretty strictly to with each implementation:

  • The game should continue until either the player or the computer wins. That
    means an infinite loop.
  • In command line applications, unless explicitly impossible due to language
    constraints, the user input dialog should be inline with input prompt.
  • Unless it is absolutely, 100% necessary, do not use third party libraries or
    packages. Try to use standard libraries whenever possible.

README

Every language should have a README file explaining (or at least pointing to a resource explaining) how to install, compile, and run the source.

List of Potential Languages

  • ACL2
  • Acurity Architect
  • Ada
  • Aikido
  • ALGOL
  • AmigaE
  • Assembly
  • AppleScript
  • Arbre
  • Argile
  • ATS
  • AutoHotkey
  • AutoIt
  • Axiom
  • AWK
  • Bash
  • Batch
  • bc
  • Befunge
  • BlitzMax
  • Bracmat
  • Burlesque
  • C
  • C++
  • C#
  • C1R
  • Cach ObjectScript
  • Ceylon
  • Clarion
  • CLIPS
  • Clojure
  • COBOL
  • Coco
  • CoffeeScript
  • ColdFusion
  • Commodore BASIC
  • Common Lisp
  • Component Pascal
  • Coq
  • Crystal
  • D
  • Dart
  • DCL
  • Delphi
  • Dj Vu
  • DWScript
  • Dylan
  • EchoLisp
  • ECL
  • Eero
  • EGL
  • Eiffel
  • Ela
  • Elena
  • Elixir
  • ERRE
  • Euphoria
  • F#
  • Factor
  • Falcon
  • Fantom
  • FBSL
  • Fortran
  • Forth
  • Frink
  • FunL
  • GAP
  • GML
  • Go
  • Golfscript
  • Gosu
  • Groovy
  • Harbour
  • Haskell
  • Haxe
  • HicEst
  • Hy
  • Icon
  • Inform 7
  • Informix 4GL
  • Io
  • Ioke
  • J
  • Java
  • JavaScript
  • jq
  • Julia
  • K
  • Kotlin
  • Lasso
  • Lhogho
  • Lily
  • Lisp
  • LiveCode
  • Logo
  • LOLCODE
  • Lua
  • M4
  • Maple
  • Mathematica
  • MATLAB
  • Maxima
  • MAXScript
  • Mercury
  • Metafont
  • Mirah
  • mIRC Scripting Language
  • ML/I
  • MMIX
  • Modula-2
  • Modula-3
  • MOO
  • MoonScript
  • MUMPS
  • NetRexx
  • Nim
  • Node.js
  • Objeck
  • Objective-C
  • OCaml
  • Octave
  • Oforth
  • ooRexx
  • OpenEdge
  • OxygenBasic
  • Oz
  • PARI/GP
  • Pascal
  • Perl
  • Phix
  • PHL
  • PHP
  • Pike
  • PL/I
  • PL/SQL
  • Pop11
  • PostScript
  • Potion
  • PowerShell
  • ProDOS
  • Prolog
  • Python
  • Q
  • R
  • Racket
  • RapidQ
  • REBOL
  • Retro
  • REXX
  • Ruby
  • Rust
  • S-lang
  • Salmon
  • SAS
  • Scala
  • Sather
  • Scheme
  • Seed7
  • SETL
  • Sidef
  • Slate
  • Smalltalk
  • SNOBOL4
  • Sparkling
  • SQL
  • Swift
  • Tcl
  • TI-83 BASIC
  • TI-89 BASIC
  • TorqueScript
  • TSE SAL
  • TUSCRIPT
  • TXR
  • Uniface
  • Ursala
  • Vala
  • VBA
  • VBScript
  • VHDL
  • Visual Basic .NET
  • Visual C++
  • Wart
  • Wortel
  • Wrapl
  • XPL0
  • XSLT 1.0
  • XSLT 2.0
  • Yorick
  • zkl