AI Cowboy has asked for the wisdom of the Perl Monks concerning the following question:
I am making a Star Trek game for Linux in Perl, however the server telling the client it got shot seems to lag. It carries out the info, like decreasing hull integrity, but it does not tell the user all it should. please help!
This is the thread used for recieving battle commands from the server. I don't want an overhaul of the programming idea, such as a different way to do it instead of a server, I just want to figure out why it is doing this. Thanks in advance, guys!$Server_connection10=new IO::Socket::INET->new(LocalPort=>2010,Proto=> +"udp"); $battle_accept = threads->new( sub{ while($Server_connection10->recv($text2,10000)){ ($attacked,$attacker,$damage,$nothing) = split("----", $text2); if($attacked =~ m/phasers/i){ if($shields eq "on"){ print"\nWe have been attacked by the $attacker!!"; $shield -= ($damage / 10); $shield10 = $shield * 10; print"Shields are at $shield10!"; if($shield <= 0){ print"\nShields are down!!"; $shields = "off"; } }else{ print"\nWe have been attacked by the $attacker!!"; $hull -= $damage; print"Hull integrity is at $hull!"; if($hull <= 0){ print"YOU HAVE BEEN DESTROYED BY THE $attacker."; $again = 1; $dead = 1; } } }else{ if($shields eq "on"){ print"\nWe have been attacked by the $attacker!!"; $shield -= ($damage / 50); $shield10 = $shield * 10; print"Shields are at $shield10!"; if($shield <= 0){ print"\nShields are down!!"; $shields = "off"; } }else{ print"\nWe have been attacked by the $attacker!!"; $hull -= int($damage * 1.5); print"Hull integrity is at $hull!"; if($hull <= 0){ print"YOU HAVE BEEN DESTROYED BY THE $attacker."; $again = 1; $dead = 1; } } } } } );
|
---|
Replies are listed 'Best First'. | |
---|---|
Re: My game has problems
by james2vegas (Chaplain) on Sep 06, 2009 at 07:44 UTC | |
Re: My game has problems
by roboticus (Chancellor) on Sep 06, 2009 at 21:49 UTC |
Back to
Seekers of Perl Wisdom