Module: SRSGame

Includes:
Helpers
Defined in:
lib/srs_game.rb

Overview

class Hash

Defined Under Namespace

Modules: Helpers, Tamera Classes: Commands, Item, Location, Settings

Constant Summary

I =
Item
L =
Location
S =
Settings

Class Method Summary (collapse)

Methods included from Helpers

#base64_zlib_deflate, #base64_zlib_inflate, #rainbow_say

Class Method Details

+ (Object) play(middleware, env = {})

Main loop



378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
# File 'lib/srs_game.rb', line 378

def self.play(middleware, env = {})
  raise "No middleware for SRSGame.play" unless middleware
  extend middleware

  Settings.seed(env).apply!

  rainbow_say(greeting + "\n")

  $room = main_room
  command = middleware.const_get(:Commands)

  @last_room = nil

  loop do
    $room.enter unless $room.eql? @last_room
    @last_room = $room

    input = Readline.readline("$ ", true)

    command.parse(input) unless input.blank?
  end # loop
end