Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import akka.actor._
- case object PingM
- case object PongM
- case object StartM
- case object StopM
- class PlayerOne(secPlayer: ActorRef, limitTheGame:Int) extends Actor {
- var gameCounter = 0
- def receive = {
- case StartM =>
- { gameCounter += 2; println("ping") }
- secPlayer ! PingM
- case PongM =>
- { gameCounter += 2; println("ping") }
- if (gameCounter > limitTheGame) {
- sender ! StopM
- println("Game ENDED - player one")
- context.stop(self)
- }
- else {
- sender ! PingM
- }
- }
- }
- class PlayerTwo extends Actor {
- def receive = {
- case PingM =>
- println("pong")
- sender ! PongM
- case StopM =>
- println("Game ENDED - player two")
- context.stop(self)
- }
- }
- object GameTest extends App {
- val system = ActorSystem("TenisEmulator")
- val p2 = system.actorOf(Props[PlayerTwo], name = "pongPlayer")
- val p1 = system.actorOf(Props(new PlayerOne(p2,3)), name = "pingPlayer")
- p1 ! StartM
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement