tron.rb 969 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. require 'socket'
  2. require 'yaml/store'
  3. config = YAML::Store.new "../config.store"
  4. config.transaction do
  5. $name = config["name"]
  6. $password = config["password"]
  7. $host = config["host"]
  8. $port = config["port"]
  9. end
  10. def connect(host,port)
  11. $sock = TCPSocket.new(host,port)
  12. #join($name,$password)
  13. while line = $sock.gets
  14. puts line
  15. parse(line)
  16. end
  17. end
  18. def join(name,password)
  19. send("join",name,password)
  20. end
  21. def parse(message)
  22. parts = message.split('|')
  23. case parts[0]
  24. when "error"
  25. puts "error occured " + parts[1]
  26. when "game"
  27. $gameW = parts[1]
  28. $gameH = parts[2]
  29. $id = parts[3]
  30. when "pos"
  31. when "tick"
  32. decide()
  33. when "die"
  34. when "message"
  35. when "win", "lose"
  36. reset()
  37. when "motd"
  38. join($name,$password)
  39. end
  40. end
  41. def decide()
  42. send("up")
  43. end
  44. def chat(message)
  45. end
  46. def reset()
  47. end
  48. def send(msg,*param)
  49. snd = "#{msg}|#{param.join("|")}"
  50. $sock.puts(snd)
  51. puts(snd)
  52. end
  53. connect($host,$port)