Răsfoiți Sursa

To honor the Fallen

Dorian Snowball 2 ani în urmă
părinte
comite
4f22e11284
1 a modificat fișierele cu 27 adăugiri și 3 ștergeri
  1. 27 3
      lib/tron.rb

+ 27 - 3
lib/tron.rb

@@ -14,7 +14,6 @@ def connect(host, port)
   $sock = TCPSocket.new(host, port)
   # join($name,$password)
   while line = $sock.gets
-    puts line
     parse(line)
   end
 end
@@ -30,6 +29,7 @@ def parse(message)
     puts "error occured " + parts[1]
 
   when "game"
+    puts message
     $gameW = parts[1].to_i
     $gameH = parts[2].to_i
     $id = parts[3].to_i
@@ -43,14 +43,18 @@ def parse(message)
       $myY = parts[3].to_i
     end
   when "tick"
+    puts message
     decide()
   when "die"
+    puts message
     parts.drop(1).each { |player| cleanup(player) }
   when "message"
-
+    puts message
   when "win", "lose"
+    puts message
     reset()
   when "motd"
+    puts message
     join($name, $password)
   end
 
@@ -173,17 +177,31 @@ end
 
 def decide()
 
+  lastdirection = $direction
   # check area left
   left = check_area("left")
   # check area right
   right = check_area("right")
 
   if check_front > -1 && !$dead.include?(check_front) || check_area("front") < 10
+
     if left > right
       $direction = turn_direction("left")
     else
-      $direction = turn_direction("right")
+      if left == right
+        case $lastturn
+        when "left"
+          $direction = turn_direction("right")
+          $lastturn = "right"
+        when "right"
+          $direction = turn_direction("left")
+          $lastturn = "left"
+        end
+      else
+        $direction = turn_direction("right")
+      end
     end
+
     puts "#{left} > #{right}: turned #{$direction}"
   end
   #   $direction = new_direction()
@@ -192,6 +210,11 @@ def decide()
   #   end
   # end
 
+  if check_front > -1 && !$dead.include?(check_front)
+    chat("To honor the Fallen")
+    $direction = lastdirection
+  end
+
   send("move", $direction)
 end
 
@@ -218,6 +241,7 @@ end
 def initmap()
   $map = Array.new($gameH) { Array.new($gameW) { -1 } }
   $direction = "up"
+  $lastturn = "left"
   $dead = Array.new(0)
 
   chat("Rock and Stone!")