You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

139 lines
5.5 KiB
Go

package main
import (
"strings"
"time"
)
type DeadState struct {
CommandSuite
start int64
}
func NewDeadState(died int64) ConnectionState {
return &DeadState{
start: died,
CommandSuite: CommandSet{},
}
}
func (d *DeadState) Enter(c *Connection) {
msg := `
Y88b d88P d8888
Y88b d88P d88888
Y88o88P d88P888
Y888P .d88b. 888 888 d88P 888 888d888 .d88b.
888 d88""88b 888 888 d88P 888 888P" d8P Y8b
888 888 888 888 888 d88P 888 888 88888888
888 Y88..88P Y88b 888 d8888888888 888 Y8b.
888 "Y88P" "Y88888 d88P 888 888 "Y8888
____
__,---' '--.__
,-' ; '.
,' '--.'--.
,' '._ '-.
; ; '-- ;
,-'-_ _,-~~-. ,-- '.
;; '-,; ,'~'.__ ,;;; ; ;
;; ;,' ,;; ', ;;; '. ;
': ,' ':; __/ '.; ; ;
;~~^. '. '---'~~ ;; ; ;
',' '. '. .;;; ;'
,',^. '. '._ __ ':; ,'
'-' '--' ~'--'~~'--. ~ ,'
/;'-;_ ; ;. /. / ; ~~'-. ;
-._ ; ; ; ',;'-;__;---; '----'
'--.__ ''-'-;__;: ; ;__;
... '--.__ '-- '-'
'--.:::... '--.__ ____
'--:::::--. '--.__ __,--' '.
'--:::';.... '--' ___ '.
'--'-:::... __ ) ;
~'-:::... '---. ( ,'
~'-:::::::::'--. '-.
~'-::::::::'. ;
~'--:::,' ,'
~~'--'~
8888888b. 8888888888 d8888 8888888b.
888 "Y88b 888 d88888 888 "Y88b
888 888 888 d88P888 888 888
888 888 8888888 d88P 888 888 888
888 888 888 d88P 888 888 888
888 888 888 d88P 888 888 888
888 .d88P 888 d8888888888 888 .d88P
8888888P" 8888888888 d88P 888 8888888P"
`
lines := strings.Split(msg, "\n")
for _, line := range lines {
c.Write([]byte(line + "\n"))
time.Sleep(20 * time.Millisecond)
}
}
func (d *DeadState) Tick(c *Connection, frame int64) ConnectionState {
if frame-d.start > options.respawnFrames {
return c.game.SpawnPlayer()
}
return d
}
func (d *DeadState) Exit(c *Connection) {
c.Printf("You're alive again.\n")
}
func (d *DeadState) String() string { return "dead" }
func (d *DeadState) FillStatus(c *Connection, s *status) {
s.Description = `
Y88b d88P d8888
Y88b d88P d88888
Y88o88P d88P888
Y888P .d88b. 888 888 d88P 888 888d888 .d88b.
888 d88""88b 888 888 d88P 888 888P" d8P Y8b
888 888 888 888 888 d88P 888 888 88888888
888 Y88..88P Y88b 888 d8888888888 888 Y8b.
888 "Y88P" "Y88888 d88P 888 888 "Y8888
____
__,---' '--.__
,-' ; '.
,' '--.'--.
,' '._ '-.
; ; '-- ;
,-'-_ _,-~~-. ,-- '.
;; '-,; ,'~'.__ ,;;; ; ;
;; ;,' ,;; ', ;;; '. ;
': ,' ':; __/ '.; ; ;
;~~^. '. '---'~~ ;; ; ;
',' '. '. .;;; ;'
,',^. '. '._ __ ':; ,'
'-' '--' ~'--'~~'--. ~ ,'
/;'-;_ ; ;. /. / ; ~~'-. ;
-._ ; ; ; ',;'-;__;---; '----'
'--.__ ''-'-;__;: ; ;__;
... '--.__ '-- '-'
'--.:::... '--.__ ____
'--:::::--. '--.__ __,--' '.
'--:::';.... '--' ___ '.
'--'-:::... __ ) ;
~'-:::... '---. ( ,'
~'-:::::::::'--. '-.
~'-::::::::'. ;
~'--:::,' ,'
~~'--'~
8888888b. 8888888888 d8888 8888888b.
888 "Y88b 888 d88888 888 "Y88b
888 888 888 d88P888 888 888
888 888 8888888 d88P 888 888 888
888 888 888 d88P 888 888 888
888 888 888 d88P 888 888 888
888 .d88P 888 d8888888888 888 .d88P
8888888P" 8888888888 d88P 888 8888888P"
`
}