Advertisement
Guest User

Untitled

a guest
Jan 21st, 2017
77
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Scala 0.78 KB | None | 0 0
  1. import akka.actor._
  2.  
  3.  
  4.  
  5. case class SetPartner(partner: ActorRef)
  6. case class Ball(counter: Int)
  7.  
  8. class Player extends Actor {
  9.  
  10.   var partner = context.self
  11.  
  12.   def receive = {
  13.  
  14.     case SetPartner(p: ActorRef, m: Int) =>
  15.       partner = p
  16.  
  17.  
  18.     case Ball(counter) =>
  19.  
  20.       if(counter<=0)
  21.         system.shutdown
  22.       else if (counter%2==0) {
  23.         println("Pong")
  24.         partner ! Ball(counter-1)
  25.       } else {
  26.         println ("Ping")
  27.         partner ! Ball(counter-1)
  28.       }
  29.   }
  30. }
  31.  
  32. object Main {
  33.   def main(args: Array[String]) {
  34.     val system = ActorSystem("PingPong")
  35.     val player1 = system.actorOf(Props[Player])
  36.     val player2 = system.actorOf(Props[Player])
  37.  
  38.     player1 ! Set(player2)
  39.     player2 ! Set(player1)
  40.  
  41.     player1 ! Ball(0)
  42.   }
  43.  
  44. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement