projects
/
svn42.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
1e468ca
)
bugfixes dart spiellogik
author
Othmar Gsenger
<otti@realraum.at>
Tue, 12 Jul 2011 21:48:10 +0000
(21:48 +0000)
committer
Othmar Gsenger
<otti@realraum.at>
Tue, 12 Jul 2011 21:48:10 +0000
(21:48 +0000)
dart/Dart.pm
patch
|
blob
|
history
diff --git
a/dart/Dart.pm
b/dart/Dart.pm
index
ebb36bb
..
cb654bd
100644
(file)
--- a/
dart/Dart.pm
+++ b/
dart/Dart.pm
@@
-81,6
+81,7
@@
sub run
if ($mult =~/^\d$/)
{
die "Unexpected input" if not $number=~/^\d+$/;
if ($mult =~/^\d$/)
{
die "Unexpected input" if not $number=~/^\d+$/;
+ next if not $self->{current_shoot_count} < $self->{max_shoots_per_player};
$self->shoot($mult,$number);
} elsif ($mult eq 'btn') {
$self->next_player();
$self->shoot($mult,$number);
} elsif ($mult eq 'btn') {
$self->next_player();
@@
-92,6
+93,9
@@
sub run
$self->reset_game();
} elsif ($mult eq 'quit') {
return;
$self->reset_game();
} elsif ($mult eq 'quit') {
return;
+ } else {
+ # shitty input
+ next;
}
push @history, Clone::clone($self);
$self->callback('before_shoot');
}
push @history, Clone::clone($self);
$self->callback('before_shoot');
@@
-209,7
+213,8
@@
sub win
if ($self->{active_player_count}==1)
{
$self->next_player();
if ($self->{active_player_count}==1)
{
$self->next_player();
- $self->lose();
+ $self->shout('lose');
+ $self->deactivate_current_player($self->{player_count}-$self->{active_player_count}+1);
}
}
}
}
@@
-221,7
+226,8
@@
sub lose
if ($self->{active_player_count}==1)
{
$self->next_player();
if ($self->{active_player_count}==1)
{
$self->next_player();
- $self->win();
+ $self->shout('win');
+ $self->deactivate_current_player($self->{active_player_count});
}
}
}
}