Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import akka.actor._
- case class SetPartner(partner: ActorRef)
- case class Ball(volley: Int)
- class Player extends Actor {
- var partner = context.self
- def receive = {
- case SetPartner(p: ActorRef) =>
- partner = p
- case Ball(volley) =>
- Thread.sleep(500)
- if (volley <= 0) {
- println("Game over")
- partner ! Ball(0)
- context.stop(self)
- } else {
- println (self.path.name + ": " + volley)
- partner ! Ball(volley-1)
- }
- }
- }
- object hello extends App{
- val system = ActorSystem("PingPongDemo")
- val ping = system.actorOf(Props[Player], "Ping")
- val pong = system.actorOf(Props[Player], "Pong")
- ping ! SetPartner(pong)
- pong ! SetPartner(ping)
- pong ! Ball(10)
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement