a small chat client which uses erlv8 javascript

This commit is contained in:
Jeena Paradies 2011-04-30 18:55:34 +02:00
parent 2daf20c039
commit 7732bb9742
4 changed files with 184 additions and 0 deletions

63
games/JS-chat/chat.rb Normal file
View file

@ -0,0 +1,63 @@
#!/usr/bin/env ruby -wKU
$: << "."
require 'ggs-network.rb'
require 'ggs-delegate.rb'
class Chat
include GGSDelegate
def initialize
@ggs_network = GGSNetwork.new(self)
@ggs_network.connect("localhost")
end
def ggsNetworkReady(ggs_network, ready)
source_code = File.open("chat_server.js", "rb").read
@ggs_network.define(source_code)
end
def ggsNetworkDefined(ggs_network, defined)
if defined
print "Your nickname: "
nick = gets.chomp
@ggs_network.sendCommand("/nick", nick)
Thread.new {
loop do
input
end
}
else
source_code = File.open("chat_server.js", "rb").read
@ggs_network.define(source_code)
end
end
def ggsNetworkReceivedCommandWithArgs(ggs_network, command, args)
case command
when "message" then message(args)
when "notice" then notice(args)
end
end
protected
def message(message)
puts message
end
def notice(notice)
puts "<#{notice}>"
end
def input
message = gets.chomp
@ggs_network.sendCommand("message", message)
end
end
if __FILE__ == $0
Chat.new
end