Nomyx-Language-0.7.4: Language to express rules for Nomic

Safe HaskellSafe-Inferred
LanguageHaskell98

Language.Nomyx.Examples

Description

This file gives a list of example rules that the players can submit. You can copy-paste them in the field Code of the web GUI. You can copy either the name of the function (i.e. "helloWorld") or its body (i.e. "outputAll_ "hello, world!""), but NOT both. Don't hesitate to get inspiration from there and create your own rules!

Synopsis

Documentation

nothing :: Rule Source

A rule that does nothing

helloWorld :: Rule Source

A rule that says hello to all players

accounts :: MsgVar [(PlayerNumber, Int)] Source

account variable name and type

createBankAccounts :: Rule Source

Create a bank account for each players

displayBankAccounts :: Rule Source

Permanently display the bank accounts

winXEcuPerDay :: Int -> Rule Source

each player wins X Ecu each day you can also try with "minutly" or "monthly" instead of "daily" and everything in the "time-recurrence" package

winXEcuOnRuleAccepted :: Int -> Rule Source

a player wins X Ecu if a rule proposed is accepted

moneyTransfer :: Rule Source

a player can transfer money to another player

delRule :: RuleNumber -> Rule Source

delete a rule

voteWithMajority :: Rule Source

a majority vote, with the folowing parameters: a quorum of 2 voters is necessary for the validity of the vote the vote is assessed after every vote in case the winner is already known the vote will finish anyway after one day

makeKing :: PlayerNumber -> Rule Source

player pn is the king: we create a variable King to identify him, and we prefix his name with King

monarchy :: PlayerNumber -> Rule Source

Monarchy: only the king decides which rules to accept or reject

revolution :: PlayerNumber -> Rule Source

Revolution! Hail to the king! This rule suppresses the democracy (usually rules 1 and 2), installs the king and activates monarchy.

displayCurrentTime :: Rule Source

will display the current time (when refreshing the screen)

displayActivateTime :: Nomex () Source

will display the time at which the rule as been activated

iWin :: Rule Source

Rule that state that you win. Good luck on having this accepted by other players ;)

returnToDemocracy :: [RuleNumber] -> Rule Source

Change current system (the rules passed in parameter) to absolute majority (half participants plus one)

victoryXRules :: Int -> Rule Source

set the victory for players having more than X accepted rules

noGroupVictory :: Rule Source

Only one player can achieve victory: No group victory. Forbidding group victory usually becomes necessary when lowering the voting quorum: a coalition of players could simply force a "victory" rule and win the game.

banPlayer :: PlayerNumber -> Rule Source

kick a player and prevent him from returning

bravoButton :: Rule Source

display a button and greets you when pressed (for player 1)

helloButton :: Rule Source

display a button to greet other players