CECALA

 view release on metacpan or  search on metacpan

spaceinvaders/spaceInvaders.pl  view on Meta::CPAN

          $mw->bind('<Key>', undef);
      } elsif (!@badguys) {
          mkbadguys();
          $c->after(100, \&maint);
      } else {
          $c->after(100, \&maint);
      }
  }
  my $downrow;
  sub march {
      my($collisions,$alive)=(0,0);
      for (@badguys) {
          delete $_->{oldloc};
          if ($_->{dead} && $_->{dead}<0 ) {
              if ($_->{dead} == $deathdelay) {
                  $_->{sprite}->names("");
                  $_->{sprite}->image($img{"splat.gif"},1);
                  $_->{dead}++;
                  $c->itemconfigure('score', -text => $score);
              }
              unless (++$_->{dead}) {
                  $_->{sprite}->remove;
                  $_->{dead}++;
              }
          }
          $alive++ unless $_->{dead};
      }
      @badguys=() unless $alive;
      for (@badguys) {
          next if $_->{dead};
          $_->{oldloc}=[ $_->{sprite}->place ];
          ($t::x, $t::y)=@{ $_->{oldloc} };
          $t::x+=$alienmove*$direction;
          $t::y+=$alienmove*4 if ($downrow);
          $_->{sprite}->place($t::x,$t::y);
          $a=$_->{sprite}->collide;
          if ($a=~/right|left/) {
              $collisions=1; last;



( run in 0.449 second using v1.01-cache-2.11-cpan-df04353d9ac )