рднрд╛рдЧ 1: рд╡рд╛рд╕реНрддреБрдХрд▓рд╛рднрд╛рдЧ 2: рдкреНрд░реЛрдЯреЛрдХреЙрд▓рднрд╛рдЧ 4: 3 рдбреА рдореЗрдВ рдЬрд╛ рд░рд╣рд╛ рд╣реИрддреАрд╕рд░реЗ рднрд╛рдЧ рдХреЗ рд╕рд╛рде, рдореБрдЭреЗ рдереЛрдбрд╝реА рджреЗрд░ рд╣реЛ рдЧрдИред рд▓реЗрдХрд┐рди рдЬреИрд╕рд╛ рдХрд┐ рд╡реЗ рдХрднреА рдирд╣реАрдВ рд╕реЗ рдмреЗрд╣рддрд░ рджреЗрд░ рд╕реЗ рдХрд╣рддреЗ рд╣реИрдВ ...
рдЗрд╕рд▓рд┐рдП, рд╣рдо рдмрд╛рддрдЪреАрдд рдЬрд╛рд░реА рд░рдЦрддреЗ рд╣реИрдВред
рд╣рдорд╛рд░реЗ рдмрдпрд╛рди рдХреЗ рддреАрд╕рд░реЗ рднрд╛рдЧ рдореЗрдВ, рд╣рдо рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддреЗ рд╣реИрдВ, рдПрдХ рд╕рд░реНрд╡рд░ рдФрд░ рдПрдХ рдХреНрд▓рд╛рдЗрдВрдЯ рд▓рд┐рдЦрддреЗ рд╣реИрдВ рдЬреЛ рдиреЗрдЯрд╡рд░реНрдХ рдкрд░ рдмрд╛рддрдЪреАрдд рдХрд░реЗрдВрдЧреЗред рдФрд░ (OMG!) рдЯреИрдВрдХ рдХреА рд╕рд╡рд╛рд░реА рдХрд░реЗрдВрдЧреЗ!
рдХрдЯреМрддреА рдХреЗ рддрд╣рдд, рдЬреЛ рдЖрдк рд▓рдВрдмреЗ рд╕рдордп рд╕реЗ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдкреВрдЫрдиреЗ рд╕реЗ рдбрд░рддреЗ рдереЗ ...
рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рд╡рд┐рдЪрд┐рддреНрд░ рдХреЗ рд▓рд┐рдП, рдореИрдВ рдЖрдкрдХреЛ рдпрд╛рдж рджрд┐рд▓рд╛рддрд╛ рд╣реВрдВ рдХрд┐ рд▓реЗрдЦ рдХрд╛ рдкреВрд░рд╛ рдХреЛрдб "SuperPuperMegaFiguishingFasteningIntelligent рд╕рдорд╛рдзрд╛рди рд╕рднреА рд╕рдорд╕реНрдпрд╛рдУрдВ рдХрд╛ рд╕рдорд╛рдзрд╛рди" рд╢реАрд░реНрд╖рдХ рд╣реЛрдиреЗ рдХрд╛ рджрд┐рдЦрд╛рд╡рд╛ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдХреЛрдб рдореБрдЦреНрдп рдмрд┐рдВрджреБрдУрдВ рдФрд░ рдЕрдзрд┐рдХ рдХреЛ рджрд┐рдЦрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдпрд╣ рдХреБрдЫ рдЬрдЧрд╣реЛрдВ рдкрд░ рдмрджрд╕реВрд░рдд рд╣реИ, рдЗрд╖реНрдЯрддрдо рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рд╕рд╛рд░ рдХрд╛ рд╕рд╛рд░ рдмрддрд╛рддрд╛ рд╣реИредрдкрд┐рдЫрд▓реЗ рд▓реЗрдЦ рдХреЗ рдмрд╛рдж рд╕реЗ, рдХрдИ рдШрдЯрдирд╛рдПрдВ рд╣реБрдИ рд╣реИрдВред рдЙрдирдореЗрдВ рд╕реЗ рдПрдХ рдпрд╣ рд╣реИ рдХрд┐ рдореИрдВрдиреЗ рдЖрдИрдбреАрдИрдП рдХреЗ рддрд╣рдд рд╕реНрдХрд╛рд▓рд╛ рдХреЗ рд╡рд┐рдХрд╛рд╕ рдХреЗ рд▓рд┐рдП рд╕реНрд╡рд┐рдЪ рдХрд┐рдпрд╛ред рдХрд╛рд░рдг рд╕рд░рд▓ рд╣реИ - рдиреЗрдЯрдмреАрдиреНрд╕ рдХреЗ рд▓рд┐рдП рдкреНрд▓рдЧ-рдЗрди рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдмрдХрд╡рд╛рд╕ рд╣реИ ... рдЗрд╕рд▓рд┐рдП, рдмрд┐рдЯрдмрдХреЗрдЯ рдореЗрдВ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЛ рдиреЗрдЯрдмреАрдиреНрд╕ рд╕реЗ рдЖрдИрдбреАрдИрдП рдореЗрдВ рдмрджрд▓ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдбрд░реЗрдВ рдирд╣реАрдВред рдФрд░ рдпрджреНрдпрдкрд┐ IDEA рдХреЗ рдкрд╣рд▓реЗ рдЗрдВрдкреНрд░реЗрд╢рди рдмрд╣реБрдд рд╕рдХрд╛рд░рд╛рддреНрдордХ рдирд╣реАрдВ рд╣реИрдВ, рдореИрдВ рдЗрд╕ рдХреИрдХреНрдЯрд╕ рдХреЛ рдЪрдмрд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реВрдВрдЧрд╛ред
рднрд╛рдЧ рддреАрди рдХрд╛рд░реНрд░рд╡рд╛рдИ рдПрдХ: рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ рдХреЗ рд╕рд╛рде рдХреНрдпрд╛ рдорд╛рдорд▓рд╛ рд╣реИ?
рдпрд╛рдж рд╣реИ рдХрд┐ рд╡рд╣рд╛рдБ рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ рдХреЗ рд╕рд╛рде ...

рд╡рд╣ рд░реЙрдХ рдореЗрдВ рдЕрднрд┐рдиреЗрддрд╛рдУрдВ рдкрд░ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдЦрд░рд╛ рдЙрддрд░рддрд╛ рд╣реИред рдпрд╣ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ рдХрд┐ рдХрдиреЗрдХреНрд╢рдиреЛрдВ рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рдиреЗ рд╡рд╛рд▓реА рдПрдХ (GameServer) рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╣реЛрдЧреА рдФрд░ рдХрдиреЗрдХреНрд╢рди рд╕реНрдерд╛рдкрд┐рдд рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж, рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд▓рд┐рдП рдЪреИрдирд▓ рдХреЛ рдЕрднрд┐рдиреЗрддрд╛ (ClientHandler) рдХреЛ рдкрд╛рд╕ рдХрд░рддрд╛ рд╣реИред рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдкреНрд░рддреНрдпреЗрдХ рдЧреНрд░рд╛рд╣рдХ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрднрд┐рдиреЗрддрд╛ рдмрдирд╛рдпрд╛ рдЬрд╛рдПрдЧрд╛ рдФрд░ рд╡рд╣ рдЧреНрд░рд╛рд╣рдХ рдХреЗ рд╕рд╛рде рд╕рдВрдЪрд╛рд░ рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реЛрдЧрд╛ред рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЛ рдПрдХ рд╕рдВрджреЗрд╢ рднреЗрдЬрдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо рдмрд╕ рдЗрд╕реЗ рдЕрднрд┐рдиреЗрддрд╛ рдХреЛ рднреЗрдЬрддреЗ рд╣реИрдВ рдФрд░ рднреВрд▓ рдЬрд╛рддреЗ рд╣реИрдВ, рдЕрднрд┐рдиреЗрддрд╛ рдЗрд╕реЗ рдЧреНрд░рд╛рд╣рдХ рдХреЛ рднреЗрдЬ рджреЗрдЧрд╛ рдФрд░ рдЬрд╡рд╛рдм рд╕реНрд╡реАрдХрд╛рд░ рдХрд░реЗрдЧрд╛ред рджрд░рдЕрд╕рд▓, рд░реЙрдХ рдореЗрдВ рдХрд▓рд╛рдХрд╛рд░ рдПрдХ рдмрд╣реБрдд рд╣реА рджрд┐рд▓рдЪрд╕реНрдк рдЪреАрдЬ рд╣реИрдВред рд╡реЗ рд▓рдЧрднрдЧ рд╣рд░ рдЫреАрдВрдХ рдХреЗ рд▓рд┐рдП рд╣рдЬрд╛рд░реЛрдВ рдХреЗ рджрд╕рд┐рдпреЛрдВ рджреНрд╡рд╛рд░рд╛ рдмрдирд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рд░реЙрдХ, рдЕрдХреНрдХрд╛ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдкрд░ рдЕрднрд┐рдиреЗрддрд╛рдУрдВ рдХрд╛ рдПрдХ рдФрд░ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╣реИред рд╡рд╣ рдмрд╣реБрдд рдЕрдзрд┐рдХ рдкрд░рд┐рд╖реНрдХреГрдд рд╣реИред рдФрд░ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЗ рд▓рд┐рдП, рдЙрд╕реЗ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИред
рднрд╛рдЧ рддреАрди рдЪрд░рдг рджреЛ: рдбреЗрдЯрд╛ рдЯреНрд░рд╛рдВрд╕рдлрд░ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ред
рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдкреНрд▓реЗрдпрд░ рдкреНрд▓реЗрдпрд░ рдХреНрд▓рд╛рд╕ рдмрдирд╛рдПрдВред рдпрд╣ рдЦрд┐рд▓рд╛рдбрд╝реА рдЖрдИрдбреА рдФрд░ рдЙрд╕рдХреЗ рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░реЗрдЧрд╛ред
class Player(idd: Int, xx: Int, yy: Int) { var id = idd var x = xx var y = yy }
рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд╕рдмрд╕реЗ рд╕рд░рд▓ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рд╣реИред рдЗрд╕реЗ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ 2 рдХрдХреНрд╖рд╛рдПрдВ рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рд╡рд╣ рдкреИрдХреЗрдЯ рд╢реНрд░реЗрдгреА рдЬрд┐рд╕рдореЗрдВ рд╕рдВрджреЗрд╢ рд╕рдВрдЧреНрд░рд╣реАрдд рд╣реИред
class Packet ( comm:Int, player: Player ) { val com = comm
рдФрд░ рд╡рд░реНрдЧ рдПрдиреНрдХреЛрдбрд┐рдВрдЧ рдФрд░ рдбрд┐рдХреЛрдбрд┐рдВрдЧ рд╕рдВрджреЗрд╢
object Protocol {
рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рддреИрдпрд╛рд░ рд╣реИред рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рд╕рд░рд▓рддрдо рдорд╛рдорд▓реЛрдВ рдореЗрдВ, рдпрд╣ рдареАрдХ рд╣реИред рд▓реЗрдХрд┐рди рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдореЗрдВ, рдЕрдкрдиреА рдмрд╛рдЗрдХ рдХрд╛ рдЖрд╡рд┐рд╖реНрдХрд╛рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рдЬрдирджрд╛рд░ рдХрд╛рд░рдг рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рддреИрдпрд╛рд░-рдХрд┐рдП рдЧрдП, рд╕рдордп-рдкрд░реАрдХреНрд╖рдг рдХрд┐рдП рдЧрдП рд╕рдорд╛рдзрд╛рдиреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдмреЗрд╣рддрд░ рд╣реИред
рднрд╛рдЧ рддреАрди рдЪрд░рдг рддреАрди: рд╕рд░реНрд╡рд░, рдЗрд╕ рд╢рдмреНрдж рдХрд╛ рдХрд┐рддрдирд╛ ...
рдЬрдмрдХрд┐ рд╣рдо рдЧреЗрдо рдХрд╛ рдлреНрд░реЗрдо рдмрдирд╛ рд░рд╣реЗ рд╣реИрдВред рдЗрд╕рд▓рд┐рдП, рд╕рд░реНрд╡рд░ рд╡рд┐рд╢реБрджреНрдз рд░реВрдк рд╕реЗ рдирд╛рдордорд╛рддреНрд░ рдХрд╛ рдХрд╛рдо рдХрд░реЗрдЧрд╛ред рдХреНрд▓рд╛рдЗрдВрдЯ рдХрдиреЗрдХреНрдЯрд┐рд╡рд┐рдЯреА рдХреЛ рд╣реИрдВрдбрд▓ рдХрд░реЗрдВ рдФрд░ рдЧреНрд░рд╛рд╣рдХреЛрдВ рдХреЗ рдмреАрдЪ рд╕рдВрдЪрд╛рд░ рдкреНрд░рджрд╛рди рдХрд░реЗрдВред рднрд╡рд┐рд╖реНрдп рдореЗрдВ, рд╣рдо рдЗрд╕реЗ рдкрд░рд┐рд╖реНрдХреГрдд рдХрд░реЗрдВрдЧреЗред
рдПрдХ GameServer рд╡рд░реНрдЧ рдмрдирд╛рдПрдБ
object GameServer extends Runnable { var isActive = true var selector: Selector = null var numClients = 0 var port = 7778
рд╕рд░реНрд╡рд░ рд▓рдВрдмрд╡рдд рдХреЗ рд░реВрдк рдореЗрдВ рд╕рд░рд▓ рдирд┐рдХрд▓рд╛ред рдЗрд╕реЗ рдПрдХ рдЕрд▓рдЧ рдзрд╛рдЧреЗ рдореЗрдВ рд▓реЙрдиреНрдЪ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рд╡рд╣ рд░реЛрдЯреА рдирд╣реАрдВ рдорд╛рдБрдЧрддрд╛ред рдпрд╣рд╛рдВ рдХреЗрд╡рд▓ рдЧреНрд░рд╛рд╣рдХ рд╕реЗрд╡рд╛ рджрд┐рдЦрд╛рдИ рдЬрд╛рддреА рд╣реИред рдЧреНрд░рд╛рд╣рдХреЛрдВ рдХреЗ рд╕рд╣реА рдХрдиреЗрдХреНрд╢рди / рд╡рд┐рдпреЛрдЧ рдХреЛ рд╕рдВрднрд╛рд▓рдиреЗ рд╡рд╛рд▓реЗ рдХреЛрдИ рд╣рд┐рд╕реНрд╕реЗ рдирд╣реАрдВ рд╣реИрдВред рдХреЛрдИ рд╕рддреНрд░ рдкреНрд░рдмрдВрдзрди рдирд╣реАрдВред рд▓реЗрдХрд┐рди рд╣рд░ рдХреЛрдИ рдЗрд╕реЗ рдкрд╕рдВрдж рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рднрд╛рдЧ рддреАрди рдЕрдзрд┐рдирд┐рдпрдо рдЪрд╛рд░: рдЕрднрд┐рдиреЗрддрд╛ рдЕрднреА рднреА рдЕрднрд┐рдиреЗрддрд╛ рд╣реИред
рдЕрдм рдПрдХ рдПрдХреНрдЯрд░ рдмрдирд╛рдПрдВ рдЬреЛ рдХреНрд▓рд╛рдЗрдВрдЯ рдХрдиреЗрдХреНрд╢рди рдХреЛ рд╣реИрдВрдбрд▓ рдХрд░реЗрдЧрд╛ред
class ClientHandler(player: Player, chanel:SocketChannel) extends Actor { val player_id = player.id val channel = chanel val remoteAddress = channel.socket().getRemoteSocketAddress.toString var packets = new HashSet[ Packet ] def act() { loop { receive {
рдЕрднрд┐рдиреЗрддрд╛ рдЫрдбрд╝реА рдХреА рддрд░рд╣ рд╕рд░рд▓ рдирд┐рдХрд▓рд╛ред рд╡рд╣ рдХреЗрд╡рд▓ рд╕рдВрджреЗрд╢реЛрдВ рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЙрдиреНрд╣реЗрдВ рднреЗрдЬрддрд╛ рд╣реИред
рд▓реЛрдб рдЯреЗрд╕реНрдЯрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ рдЕрдкрдиреЗ рдХрдордЬрд╝реЛрд░ рд▓реИрдкрдЯреЙрдк (1.3 GHz, AMD, WiFi 56Mbit) рдкрд░ рд╕рд░реНрд╡рд░ рд▓реЙрдиреНрдЪ рдХрд┐рдпрд╛ред рдФрд░ рдПрдХ рдЧреНрд░рд╛рд╣рдХ рдХреЗ рд░реВрдк рдореЗрдВ, рдореИрдВрдиреЗ рдПрдХ рдХрдВрд╕реЛрд▓ рдЬрд╛рд╡рд╛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдмрдирд╛рдпрд╛ рдЬреЛ рдереНрд░реЗрдбреНрд╕ рдХреА рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд╕рдВрдЦреНрдпрд╛ рдХреЛ рд▓реЙрдиреНрдЪ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдкреНрд░рддреНрдпреЗрдХ рдореЗрдВ, рдмрд┐рдирд╛ рд░реБрдХреЗ, рд╕рд░реНрд╡рд░ рдХреЛ рдкреИрдХреЗрдЯ рднреЗрдЬрддрд╛ рд╣реИред рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЛ 100 рдереНрд░реЗрдбреНрд╕ рдореЗрдВ рдбреЗрд╕реНрдХрдЯреЙрдк (3.6 GHz, 4 рдХреЛрд░) рдкрд░ рд▓реЙрдиреНрдЪ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
рдирддреАрдЬрддрди, рд╕рд░реНрд╡рд░ рдиреЗ рдкреНрд░рддрд┐ рд╕реЗрдХрдВрдб рд▓рдЧрднрдЧ 6000 рд╕рдВрджреЗрд╢реЛрдВ рдХреЛ рдкрдЪрд╛ рд▓рд┐рдпрд╛ред рдЬреЛ рдЖрдорддреМрд░ рдкрд░ рдмреБрд░рд╛ рдирд╣реАрдВ рд╣реЛрддрд╛ред рдПрдХ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рд░реНрд╡рд░ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдкрд░ рдХрдВрдкреНрдпреВрдЯрд┐рдВрдЧ рд▓реЛрдб рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рдпрд╣ рдХрдИ рд╣рдЬрд╛рд░ рдЧреНрд░рд╛рд╣рдХреЛрдВ рдХреЛ рд░рдЦрдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдЧрд╛ред
рднрд╛рдЧ рддреАрди рдкрд╛рдВрдЪрд╡реАрдВ рдХрд╛рд░реНрд░рд╡рд╛рдИ: рдЧреНрд░рд╛рд╣рдХ ... рдФрд░ рдХреМрди?
рдкрд┐рдЫрд▓реЗ рднрд╛рдЧ рдХреЗ рдЧреНрд░рд╛рд╣рдХ рдирд╣реАрдВ рдмрджрд▓реЗ рд╣реИрдВред рдПрдХ рдЯреИрдВрдХ рдФрд░ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рд░реВрдк рдореЗрдВ рдЦрд┐рд▓рд╛рдбрд╝реА рдХрд╛ рдХреЗрд╡рд▓ рдПрдХ рдЪрд┐рддреНрд░рдордп рдкреНрд░рджрд░реНрд╢рди рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ред
рдЦрд┐рд▓рд╛рдбрд╝реА рдХрд╛ рд╡рд░реНрдгрди рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рдПрдХ рд╡рд░реНрдЧ рдЬреЛрдбрд╝реЗрдВ
public class Player extends MovieClip { public var Name:String = "Player"; public var id:int = 0; [Embed(source = '../../../../lib/tank.png')] public var _tank: Class; public var tank:Bitmap; public function Player() { width = 30; height = 30; tank = new _tank(); tank.width = 30; tank.height = 30; addChild(tank); } }
рдФрд░ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рддрд░реАрдХреЗ рднреА рдЬреЛрдбрд╝реЗрдВред
рдЕрдм рдХреНрд▓рд╛рдЗрдВрдЯ рдФрд░ рд╕рд░реНрд╡рд░ рдХреЗ рдмреАрдЪ рдмреБрдирд┐рдпрд╛рджреА рдмрд╛рддрдЪреАрдд рддреИрдпрд╛рд░ рд╣реИред
рдЧреНрд░рд╛рд╣рдХреЛрдВ рдХреЗ рд╕рд╣реА рдХрдиреЗрдХреНрд╢рди / рд╡рд┐рдпреЛрдЧ рдХреЗ рдореБрджреНрджреЗ, рдЧреНрд░рд╛рд╣рдХреЛрдВ рдХрд╛ рд╕рд┐рдВрдХреНрд░рдирд╛рдЗрдЬрд╝реЗрд╢рди (рдЬрд┐рд╕рдХреЗ рдХрд╛рд░рдг рдЖрдВрджреЛрд▓рди рдХреЗ рджреМрд░рд╛рди рдЯреИрдВрдХ рдЪрд┐рдХреЛрдЯреА) рд╣рд▓ рдирд╣реАрдВ рд╣реЛрддреЗ рд╣реИрдВред рдпрд╣ рд╕рднреА рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рднрд╛рдЧреЛрдВ рдореЗрдВ рд╣рдорд╛рд░реА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░ рд░рд╣рд╛ рд╣реИ ...
PS рдмрд╣реБрдд рд╕рд╛рд░реЗ рдХреЛрдб ... рднрд╛рдЧ рдХреЛ рд╣рдЯрд╛ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдХреЗрд╡рд▓ рд╡рд┐рдзрд┐рдпреЛрдВ рдХрд╛ рд╡рд░реНрдгрди рдЫреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ?
рд╣рдореЗрд╢рд╛ рдХреА рддрд░рд╣, рд╕рднреА рд╕реНрд░реЛрддреЛрдВ рдХреЛ
рдЬреАрдердм рдкрд░ рджреЗрдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ