summaryrefslogtreecommitdiff
path: root/roulette.go
diff options
context:
space:
mode:
Diffstat (limited to 'roulette.go')
-rw-r--r--roulette.go61
1 files changed, 0 insertions, 61 deletions
diff --git a/roulette.go b/roulette.go
deleted file mode 100644
index a09828e..0000000
--- a/roulette.go
+++ /dev/null
@@ -1,61 +0,0 @@
-package main
-
-import (
- "log"
- "math/rand"
- "time"
-
- irc "github.com/fluffle/goirc/client"
-)
-
-type RR struct{ Command }
-
-const barrel = 6
-
-var (
- bullet int
- loaded int
- played string
-)
-
-func reload() {
- bullet = 0
- loaded = rand.Intn(barrel)
- played = ""
-}
-
-func trigger() bool {
- defer func() {
- bullet++
- bullet %= barrel
- }()
- return bullet == loaded
-}
-
-func (_ RR) Timeout(_ string) bool { return false }
-func (_ RR) Handle(conn *irc.Conn, line *irc.Line) {
- if !line.Public() {
- return
- }
- log.Println(line.Nick, bullet, loaded)
- if played == line.Nick {
- conn.Notice(*room, line.Nick+", not your turn")
- return
- }
- played = line.Nick
- if trigger() {
- conn.Kick(*room, line.Nick, "bang!")
- conn.Notice(*room, "reload")
- reload()
- }
-}
-
-func (_ RR) Help() string {
- return "Russian roulette"
-}
-
-func init() {
- rand.Seed(time.Now().UnixNano())
- reload()
- Register("ку", &RR{})
-}