NAME
Games::Risk::Tk::Main - main prisk window
VERSION
version 4.000
DESCRIPTION
This class implements the whole Tk graphical interface. It is a POE session driving events, reacting to user interaction & updating the display as game changes status.
EVENTS
attack
attack()
Request user to start attacking at will.
attack_info
attack_info( $src, $dst, \@attack, \@defence )
Give the result of $dst
attack from $src
: @attack
and @defence
dices.
attack_move
attack_move()
Prevent user to re-attack till he moved the armies.
chnum
chown
chnum( $country )
chown( $country )
Force $country
to be redrawn: owner and number of armies.
flash_country
flash_country( $country , [ $state, $left ] )
Request $country
to be flashed on the map. This is done by extracting the country from the greyscale image, and paint it in white on the canvas.
Once the image is created, the event yields itself back after $FLASHDELAY
, and shows/hides the image depending on $state
. When $left
hits 0 (decremented each state change), the image is discarded.
game_over
game_over( $player )
Sent when $player
has won the game.
move_armies
move_armies()
Request user to move armies if she wants to.
move_armies_move
move_armies_move($src, $dst, $nb)
Request gui to move $nb
armies from $src
to $dst
.
new_game
new_game()
Received when the controller started a new game. Display the new map, action & statusbar.
place_armies
place_armies( $nb [, $continent] )
Request user to place $nb
armies on her countries (maybe within $continent
if supplied).
place_armies_initial
place_armies_initial()
Request user to place 1 armies on her countries. this is initial reinforcement, so there's no limit on where to put the army, and armies are put one by one.
place_armies_initial_count
place_armies_initial_count( $nb )
request user to place $nb armies on her countries. this is initial armies placement: - no restriction on where - armies get placed one by one
this event just allows the gui to inform user how many armies will be placed initially.
player_active
player_active( $player )
Change player labels so that previous player is inactive, and new active one is $player
.
player_add
player_add( $player )
Create a label for $player
, with tooltip information.
player_lost
player_lost($player)
Mark $player
as lost.
AUTHOR
Jerome Quelin
COPYRIGHT AND LICENSE
This software is Copyright (c) 2008 by Jerome Quelin.
This is free software, licensed under:
The GNU General Public License, Version 3, June 2007