3v4l.org

run code in 300+ PHP versions simultaneously
<?php // // File Game.php // class Game { /** @var Player[] */ private $players; private $rounds; private $winner; private $weapons = ["stone", "scissors", "paper"]; public function __construct(array $players) { $this->players = $players; } public function setRounds(int $rounds) { $this->rounds = $rounds; } public function getRounds(): int { return $this->rounds; } public function playRounds(int $rounds): void { $this->rounds = $rounds; } public function getWinner(): Player { return $this->winner; } public function setWinner(Player $winner): void { $this->winner = $winner; } public function play() { while ($this->getRounds() !== 0) { $this->players[0]->setWeapon($this->weapons[rand(0, 2)]); $this->players[1]->setWeapon($this->weapons[rand(0, 2)]); if ($this->players[0]->getWeapon() === $this->players[1]->getWeapon()) { continue; } $this->fight()->addScore(); $this->setRounds($this->getRounds() - 1); } if ($this->players[0]->getScore() > $this->players[1]->getScore()) { $this->setWinner($this->players[0]); } else { $this->setWinner($this->players[1]); } } public function fight(): Player { if ($this->players[0]->getWeapon() === $this->weapons[0]) { if ($this->players[1]->getWeapon() === $this->weapons[1]) { return $this->players[0]; } if ($this->players[1]->getWeapon() === $this->weapons[2]) { return $this->players[1]; } } if ($this->players[0]->getWeapon() === $this->weapons[1]) { if ($this->players[1]->getWeapon() === $this->weapons[0]) { return $this->players[1]; } if ($this->players[1]->getWeapon() === $this->weapons[2]) { return $this->players[0]; } } if ($this->players[0]->getWeapon() === $this->weapons[2]) { if ($this->players[1]->getWeapon() === $this->weapons[0]) { return $this->players[0]; } } return $this->players[1]; } } // // File Player.php // class Player { private $name; private $score = 0; private $weapon; public function __construct(string $name) { $this->name = $name; } public function getWeapon(): string { return $this->weapon; } public function setWeapon(string $weapon): void { $this->weapon = $weapon; } public function getName(): string { return $this->name; } public function setName(string $name): void { $this->name = $name; } public function getScore(): int { return $this->score; } public function addScore(int $score = 1): void { $this->score += $score; } } // // File app.php // $pavel = new Player("Pavel"); $gosho = new Player("Gosho"); $game = new Game([$pavel, $gosho]); $game->playRounds(3); $game->play(); echo $game->getWinner()->getName(); $anotherGame = new Game([$pavel, $gosho]); $pavel->setWeapon("paper"); $gosho->setWeapon("stone"); echo PHP_EOL . $anotherGame->fight()->getName();
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/Tvb6h
function name:  (null)
number of ops:  43
compiled vars:  !0 = $pavel, !1 = $gosho, !2 = $game, !3 = $anotherGame
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
  147     0  E >   NEW                                              $4      'Player'
          1        SEND_VAL_EX                                              'Pavel'
          2        DO_FCALL                                      0          
          3        ASSIGN                                                   !0, $4
  148     4        NEW                                              $7      'Player'
          5        SEND_VAL_EX                                              'Gosho'
          6        DO_FCALL                                      0          
          7        ASSIGN                                                   !1, $7
  150     8        NEW                                              $10     'Game'
          9        INIT_ARRAY                                       ~11     !0
         10        ADD_ARRAY_ELEMENT                                ~11     !1
         11        SEND_VAL_EX                                              ~11
         12        DO_FCALL                                      0          
         13        ASSIGN                                                   !2, $10
  151    14        INIT_METHOD_CALL                                         !2, 'playRounds'
         15        SEND_VAL_EX                                              3
         16        DO_FCALL                                      0          
  152    17        INIT_METHOD_CALL                                         !2, 'play'
         18        DO_FCALL                                      0          
  154    19        INIT_METHOD_CALL                                         !2, 'getWinner'
         20        DO_FCALL                                      0  $16     
         21        INIT_METHOD_CALL                                         $16, 'getName'
         22        DO_FCALL                                      0  $17     
         23        ECHO                                                     $17
  156    24        NEW                                              $18     'Game'
         25        INIT_ARRAY                                       ~19     !0
         26        ADD_ARRAY_ELEMENT                                ~19     !1
         27        SEND_VAL_EX                                              ~19
         28        DO_FCALL                                      0          
         29        ASSIGN                                                   !3, $18
  157    30        INIT_METHOD_CALL                                         !0, 'setWeapon'
         31        SEND_VAL_EX                                              'paper'
         32        DO_FCALL                                      0          
  158    33        INIT_METHOD_CALL                                         !1, 'setWeapon'
         34        SEND_VAL_EX                                              'stone'
         35        DO_FCALL                                      0          
  159    36        INIT_METHOD_CALL                                         !3, 'fight'
         37        DO_FCALL                                      0  $24     
         38        INIT_METHOD_CALL                                         $24, 'getName'
         39        DO_FCALL                                      0  $25     
         40        CONCAT                                           ~26     '%0A', $25
         41        ECHO                                                     ~26
         42      > RETURN                                                   1

Class Game:
Function __construct:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/Tvb6h
function name:  __construct
number of ops:  4
compiled vars:  !0 = $players
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   14     0  E >   RECV                                             !0      
   16     1        ASSIGN_OBJ                                               'players'
          2        OP_DATA                                                  !0
   17     3      > RETURN                                                   null

End of function __construct

Function setrounds:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/Tvb6h
function name:  setRounds
number of ops:  4
compiled vars:  !0 = $rounds
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   19     0  E >   RECV                                             !0      
   21     1        ASSIGN_OBJ                                               'rounds'
          2        OP_DATA                                                  !0
   22     3      > RETURN                                                   null

End of function setrounds

Function getrounds:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/Tvb6h
function name:  getRounds
number of ops:  5
compiled vars:  none
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   26     0  E >   FETCH_OBJ_R                                      ~0      'rounds'
          1        VERIFY_RETURN_TYPE                                       ~0
          2      > RETURN                                                   ~0
   27     3*       VERIFY_RETURN_TYPE                                       
          4*     > RETURN                                                   null

End of function getrounds

Function playrounds:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/Tvb6h
function name:  playRounds
number of ops:  4
compiled vars:  !0 = $rounds
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   29     0  E >   RECV                                             !0      
   31     1        ASSIGN_OBJ                                               'rounds'
          2        OP_DATA                                                  !0
   32     3      > RETURN                                                   null

End of function playrounds

Function getwinner:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/Tvb6h
function name:  getWinner
number of ops:  5
compiled vars:  none
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   36     0  E >   FETCH_OBJ_R                                      ~0      'winner'
          1        VERIFY_RETURN_TYPE                                       ~0
          2      > RETURN                                                   ~0
   37     3*       VERIFY_RETURN_TYPE                                       
          4*     > RETURN                                                   null

End of function getwinner

Function setwinner:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/Tvb6h
function name:  setWinner
number of ops:  4
compiled vars:  !0 = $winner
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   39     0  E >   RECV                                             !0      
   41     1        ASSIGN_OBJ                                               'winner'
          2        OP_DATA                                                  !0
   42     3      > RETURN                                                   null

End of function setwinner

Function play:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 42) Position 1 = 46
Branch analysis from position: 46
2 jumps found. (Code = 44) Position 1 = 50, Position 2 = 1
Branch analysis from position: 50
2 jumps found. (Code = 43) Position 1 = 60, Position 2 = 67
Branch analysis from position: 60
1 jumps found. (Code = 42) Position 1 = 73
Branch analysis from position: 73
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 67
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 1
2 jumps found. (Code = 43) Position 1 = 35, Position 2 = 36
Branch analysis from position: 35
1 jumps found. (Code = 42) Position 1 = 46
Branch analysis from position: 46
Branch analysis from position: 36
2 jumps found. (Code = 44) Position 1 = 50, Position 2 = 1
Branch analysis from position: 50
Branch analysis from position: 1
filename:       /in/Tvb6h
function name:  play
number of ops:  74
compiled vars:  none
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   46     0  E > > JMP                                                      ->46
   47     1    >   FETCH_OBJ_R                                      ~0      'players'
          2        FETCH_DIM_R                                      ~1      ~0, 0
          3        INIT_METHOD_CALL                                         ~1, 'setWeapon'
          4        CHECK_FUNC_ARG                                           
          5        INIT_FCALL                                               'rand'
          6        SEND_VAL                                                 0
          7        SEND_VAL                                                 2
          8        DO_ICALL                                         $3      
          9        FETCH_OBJ_FUNC_ARG                               $2      'weapons'
         10        FETCH_DIM_FUNC_ARG                               $4      $2, $3
         11        SEND_FUNC_ARG                                            $4
         12        DO_FCALL                                      0          
   48    13        FETCH_OBJ_R                                      ~6      'players'
         14        FETCH_DIM_R                                      ~7      ~6, 1
         15        INIT_METHOD_CALL                                         ~7, 'setWeapon'
         16        CHECK_FUNC_ARG                                           
         17        INIT_FCALL                                               'rand'
         18        SEND_VAL                                                 0
         19        SEND_VAL                                                 2
         20        DO_ICALL                                         $9      
         21        FETCH_OBJ_FUNC_ARG                               $8      'weapons'
         22        FETCH_DIM_FUNC_ARG                               $10     $8, $9
         23        SEND_FUNC_ARG                                            $10
         24        DO_FCALL                                      0          
   50    25        FETCH_OBJ_R                                      ~12     'players'
         26        FETCH_DIM_R                                      ~13     ~12, 0
         27        INIT_METHOD_CALL                                         ~13, 'getWeapon'
         28        DO_FCALL                                      0  $14     
         29        FETCH_OBJ_R                                      ~15     'players'
         30        FETCH_DIM_R                                      ~16     ~15, 1
         31        INIT_METHOD_CALL                                         ~16, 'getWeapon'
         32        DO_FCALL                                      0  $17     
         33        IS_IDENTICAL                                             $14, $17
         34      > JMPZ                                                     ~18, ->36
   51    35    > > JMP                                                      ->46
   54    36    >   INIT_METHOD_CALL                                         'fight'
         37        DO_FCALL                                      0  $19     
         38        INIT_METHOD_CALL                                         $19, 'addScore'
         39        DO_FCALL                                      0          
   55    40        INIT_METHOD_CALL                                         'setRounds'
         41        INIT_METHOD_CALL                                         'getRounds'
         42        DO_FCALL                                      0  $21     
         43        SUB                                              ~22     $21, 1
         44        SEND_VAL_EX                                              ~22
         45        DO_FCALL                                      0          
   46    46    >   INIT_METHOD_CALL                                         'getRounds'
         47        DO_FCALL                                      0  $24     
         48        IS_NOT_IDENTICAL                                         $24, 0
         49      > JMPNZ                                                    ~25, ->1
   58    50    >   FETCH_OBJ_R                                      ~26     'players'
         51        FETCH_DIM_R                                      ~27     ~26, 0
         52        INIT_METHOD_CALL                                         ~27, 'getScore'
         53        DO_FCALL                                      0  $28     
         54        FETCH_OBJ_R                                      ~29     'players'
         55        FETCH_DIM_R                                      ~30     ~29, 1
         56        INIT_METHOD_CALL                                         ~30, 'getScore'
         57        DO_FCALL                                      0  $31     
         58        IS_SMALLER                                               $31, $28
         59      > JMPZ                                                     ~32, ->67
   59    60    >   INIT_METHOD_CALL                                         'setWinner'
         61        CHECK_FUNC_ARG                                           
         62        FETCH_OBJ_FUNC_ARG                               $33     'players'
         63        FETCH_DIM_FUNC_ARG                               $34     $33, 0
         64        SEND_FUNC_ARG                                            $34
         65        DO_FCALL                                      0          
         66      > JMP                                                      ->73
   61    67    >   INIT_METHOD_CALL                                         'setWinner'
         68        CHECK_FUNC_ARG                                           
         69        FETCH_OBJ_FUNC_ARG                               $36     'players'
         70        FETCH_DIM_FUNC_ARG                               $37     $36, 1
         71        SEND_FUNC_ARG                                            $37
         72        DO_FCALL                                      0          
   63    73    > > RETURN                                                   null

End of function play

Function fight:
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 43) Position 1 = 8, Position 2 = 32
Branch analysis from position: 8
2 jumps found. (Code = 43) Position 1 = 16, Position 2 = 20
Branch analysis from position: 16
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 20
2 jumps found. (Code = 43) Position 1 = 28, Position 2 = 32
Branch analysis from position: 28
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 32
2 jumps found. (Code = 43) Position 1 = 40, Position 2 = 64
Branch analysis from position: 40
2 jumps found. (Code = 43) Position 1 = 48, Position 2 = 52
Branch analysis from position: 48
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 52
2 jumps found. (Code = 43) Position 1 = 60, Position 2 = 64
Branch analysis from position: 60
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 64
2 jumps found. (Code = 43) Position 1 = 72, Position 2 = 84
Branch analysis from position: 72
2 jumps found. (Code = 43) Position 1 = 80, Position 2 = 84
Branch analysis from position: 80
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 84
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 84
Branch analysis from position: 64
Branch analysis from position: 32
filename:       /in/Tvb6h
function name:  fight
number of ops:  90
compiled vars:  none
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   68     0  E >   FETCH_OBJ_R                                      ~0      'players'
          1        FETCH_DIM_R                                      ~1      ~0, 0
          2        INIT_METHOD_CALL                                         ~1, 'getWeapon'
          3        DO_FCALL                                      0  $2      
          4        FETCH_OBJ_R                                      ~3      'weapons'
          5        FETCH_DIM_R                                      ~4      ~3, 0
          6        IS_IDENTICAL                                             $2, ~4
          7      > JMPZ                                                     ~5, ->32
   69     8    >   FETCH_OBJ_R                                      ~6      'players'
          9        FETCH_DIM_R                                      ~7      ~6, 1
         10        INIT_METHOD_CALL                                         ~7, 'getWeapon'
         11        DO_FCALL                                      0  $8      
         12        FETCH_OBJ_R                                      ~9      'weapons'
         13        FETCH_DIM_R                                      ~10     ~9, 1
         14        IS_IDENTICAL                                             $8, ~10
         15      > JMPZ                                                     ~11, ->20
   70    16    >   FETCH_OBJ_R                                      ~12     'players'
         17        FETCH_DIM_R                                      ~13     ~12, 0
         18        VERIFY_RETURN_TYPE                                       ~13
         19      > RETURN                                                   ~13
   73    20    >   FETCH_OBJ_R                                      ~14     'players'
         21        FETCH_DIM_R                                      ~15     ~14, 1
         22        INIT_METHOD_CALL                                         ~15, 'getWeapon'
         23        DO_FCALL                                      0  $16     
         24        FETCH_OBJ_R                                      ~17     'weapons'
         25        FETCH_DIM_R                                      ~18     ~17, 2
         26        IS_IDENTICAL                                             $16, ~18
         27      > JMPZ                                                     ~19, ->32
   74    28    >   FETCH_OBJ_R                                      ~20     'players'
         29        FETCH_DIM_R                                      ~21     ~20, 1
         30        VERIFY_RETURN_TYPE                                       ~21
         31      > RETURN                                                   ~21
   78    32    >   FETCH_OBJ_R                                      ~22     'players'
         33        FETCH_DIM_R                                      ~23     ~22, 0
         34        INIT_METHOD_CALL                                         ~23, 'getWeapon'
         35        DO_FCALL                                      0  $24     
         36        FETCH_OBJ_R                                      ~25     'weapons'
         37        FETCH_DIM_R                                      ~26     ~25, 1
         38        IS_IDENTICAL                                             $24, ~26
         39      > JMPZ                                                     ~27, ->64
   79    40    >   FETCH_OBJ_R                                      ~28     'players'
         41        FETCH_DIM_R                                      ~29     ~28, 1
         42        INIT_METHOD_CALL                                         ~29, 'getWeapon'
         43        DO_FCALL                                      0  $30     
         44        FETCH_OBJ_R                                      ~31     'weapons'
         45        FETCH_DIM_R                                      ~32     ~31, 0
         46        IS_IDENTICAL                                             $30, ~32
         47      > JMPZ                                                     ~33, ->52
   80    48    >   FETCH_OBJ_R                                      ~34     'players'
         49        FETCH_DIM_R                                      ~35     ~34, 1
         50        VERIFY_RETURN_TYPE                                       ~35
         51      > RETURN                                                   ~35
   83    52    >   FETCH_OBJ_R                                      ~36     'players'
         53        FETCH_DIM_R                                      ~37     ~36, 1
         54        INIT_METHOD_CALL                                         ~37, 'getWeapon'
         55        DO_FCALL                                      0  $38     
         56        FETCH_OBJ_R                                      ~39     'weapons'
         57        FETCH_DIM_R                                      ~40     ~39, 2
         58        IS_IDENTICAL                                             $38, ~40
         59      > JMPZ                                                     ~41, ->64
   84    60    >   FETCH_OBJ_R                                      ~42     'players'
         61        FETCH_DIM_R                                      ~43     ~42, 0
         62        VERIFY_RETURN_TYPE                                       ~43
         63      > RETURN                                                   ~43
   88    64    >   FETCH_OBJ_R                                      ~44     'players'
         65        FETCH_DIM_R                                      ~45     ~44, 0
         66        INIT_METHOD_CALL                                         ~45, 'getWeapon'
         67        DO_FCALL                                      0  $46     
         68        FETCH_OBJ_R                                      ~47     'weapons'
         69        FETCH_DIM_R                                      ~48     ~47, 2
         70        IS_IDENTICAL                                             $46, ~48
         71      > JMPZ                                                     ~49, ->84
   89    72    >   FETCH_OBJ_R                                      ~50     'players'
         73        FETCH_DIM_R                                      ~51     ~50, 1
         74        INIT_METHOD_CALL                                         ~51, 'getWeapon'
         75        DO_FCALL                                      0  $52     
         76        FETCH_OBJ_R                                      ~53     'weapons'
         77        FETCH_DIM_R                                      ~54     ~53, 0
         78        IS_IDENTICAL                                             $52, ~54
         79      > JMPZ                                                     ~55, ->84
   90    80    >   FETCH_OBJ_R                                      ~56     'players'
         81        FETCH_DIM_R                                      ~57     ~56, 0
         82        VERIFY_RETURN_TYPE                                       ~57
         83      > RETURN                                                   ~57
   94    84    >   FETCH_OBJ_R                                      ~58     'players'
         85        FETCH_DIM_R                                      ~59     ~58, 1
         86        VERIFY_RETURN_TYPE                                       ~59
         87      > RETURN                                                   ~59
   95    88*       VERIFY_RETURN_TYPE                                       
         89*     > RETURN                                                   null

End of function fight

End of class Game.

Class Player:
Function __construct:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/Tvb6h
function name:  __construct
number of ops:  4
compiled vars:  !0 = $name
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
  108     0  E >   RECV                                             !0      
  110     1        ASSIGN_OBJ                                               'name'
          2        OP_DATA                                                  !0
  111     3      > RETURN                                                   null

End of function __construct

Function getweapon:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/Tvb6h
function name:  getWeapon
number of ops:  5
compiled vars:  none
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
  115     0  E >   FETCH_OBJ_R                                      ~0      'weapon'
          1        VERIFY_RETURN_TYPE                                       ~0
          2      > RETURN                                                   ~0
  116     3*       VERIFY_RETURN_TYPE                                       
          4*     > RETURN                                                   null

End of function getweapon

Function setweapon:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/Tvb6h
function name:  setWeapon
number of ops:  4
compiled vars:  !0 = $weapon
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
  118     0  E >   RECV                                             !0      
  120     1        ASSIGN_OBJ                                               'weapon'
          2        OP_DATA                                                  !0
  121     3      > RETURN                                                   null

End of function setweapon

Function getname:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/Tvb6h
function name:  getName
number of ops:  5
compiled vars:  none
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
  125     0  E >   FETCH_OBJ_R                                      ~0      'name'
          1        VERIFY_RETURN_TYPE                                       ~0
          2      > RETURN                                                   ~0
  126     3*       VERIFY_RETURN_TYPE                                       
          4*     > RETURN                                                   null

End of function getname

Function setname:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/Tvb6h
function name:  setName
number of ops:  4
compiled vars:  !0 = $name
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
  128     0  E >   RECV                                             !0      
  130     1        ASSIGN_OBJ                                               'name'
          2        OP_DATA                                                  !0
  131     3      > RETURN                                                   null

End of function setname

Function getscore:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/Tvb6h
function name:  getScore
number of ops:  5
compiled vars:  none
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
  135     0  E >   FETCH_OBJ_R                                      ~0      'score'
          1        VERIFY_RETURN_TYPE                                       ~0
          2      > RETURN                                                   ~0
  136     3*       VERIFY_RETURN_TYPE                                       
          4*     > RETURN                                                   null

End of function getscore

Function addscore:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/Tvb6h
function name:  addScore
number of ops:  4
compiled vars:  !0 = $score
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
  138     0  E >   RECV_INIT                                        !0      1
  140     1        ASSIGN_OBJ_OP                                 1          'score'
          2        OP_DATA                                                  !0
  141     3      > RETURN                                                   null

End of function addscore

End of class Player.

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
157.73 ms | 1424 KiB | 15 Q