[jetrix-cvs] SF.net SVN: jetrix:[799] jetrix/trunk/src/java/net/jetrix
Brought to you by:
smanux
From: <sm...@us...> - 2009-02-18 16:28:17
|
Revision: 799 http://jetrix.svn.sourceforge.net/jetrix/?rev=799&view=rev Author: smanux Date: 2009-02-18 16:28:08 +0000 (Wed, 18 Feb 2009) Log Message: ----------- Added the common base class LinesAddedMessage for the One/Two/FourLinesAddedMessage classes Modified Paths: -------------- jetrix/trunk/src/java/net/jetrix/agent/TetrinetAgent.java jetrix/trunk/src/java/net/jetrix/filter/GenericFilter.java jetrix/trunk/src/java/net/jetrix/filter/StatsFilter.java jetrix/trunk/src/java/net/jetrix/filter/SurvivalFilter.java jetrix/trunk/src/java/net/jetrix/messages/channel/specials/FourLinesAddedMessage.java jetrix/trunk/src/java/net/jetrix/messages/channel/specials/OneLineAddedMessage.java jetrix/trunk/src/java/net/jetrix/messages/channel/specials/TwoLinesAddedMessage.java jetrix/trunk/src/java/net/jetrix/protocols/IRCProtocol.java jetrix/trunk/src/java/net/jetrix/protocols/TetrinetProtocol.java Added Paths: ----------- jetrix/trunk/src/java/net/jetrix/messages/channel/specials/LinesAddedMessage.java Modified: jetrix/trunk/src/java/net/jetrix/agent/TetrinetAgent.java =================================================================== --- jetrix/trunk/src/java/net/jetrix/agent/TetrinetAgent.java 2009-02-18 15:24:28 UTC (rev 798) +++ jetrix/trunk/src/java/net/jetrix/agent/TetrinetAgent.java 2009-02-18 16:28:08 UTC (rev 799) @@ -251,9 +251,7 @@ onSpecial(m); // message dispatching - if (m instanceof OneLineAddedMessage) { onMessage((OneLineAddedMessage) m); } - else if (m instanceof TwoLinesAddedMessage) { onMessage((TwoLinesAddedMessage) m); } - else if (m instanceof FourLinesAddedMessage) { onMessage((FourLinesAddedMessage) m); } + if (m instanceof LinesAddedMessage) { onMessage((LinesAddedMessage) m); } else if (m instanceof AddLineMessage) { onMessage((AddLineMessage) m); } else if (m instanceof ClearLineMessage) { onMessage((ClearLineMessage) m); } else if (m instanceof ClearSpecialsMessage) { onMessage((ClearSpecialsMessage) m); } @@ -282,6 +280,13 @@ public void onMessage(CommandMessage m) { } + public void onMessage(LinesAddedMessage m) + { + if (m instanceof OneLineAddedMessage) { onMessage((OneLineAddedMessage) m); } + else if (m instanceof TwoLinesAddedMessage) { onMessage((TwoLinesAddedMessage) m); } + else if (m instanceof FourLinesAddedMessage) { onMessage((FourLinesAddedMessage) m); } + } + public void onMessage(OneLineAddedMessage m) { } public void onMessage(TwoLinesAddedMessage m) { } Modified: jetrix/trunk/src/java/net/jetrix/filter/GenericFilter.java =================================================================== --- jetrix/trunk/src/java/net/jetrix/filter/GenericFilter.java 2009-02-18 15:24:28 UTC (rev 798) +++ jetrix/trunk/src/java/net/jetrix/filter/GenericFilter.java 2009-02-18 16:28:08 UTC (rev 799) @@ -150,9 +150,7 @@ onSpecial(m, out); // message dispatching - if (m instanceof OneLineAddedMessage) { onMessage((OneLineAddedMessage) m, out); } - else if (m instanceof TwoLinesAddedMessage) { onMessage((TwoLinesAddedMessage) m, out); } - else if (m instanceof FourLinesAddedMessage) { onMessage((FourLinesAddedMessage) m, out); } + if (m instanceof LinesAddedMessage) { onMessage((LinesAddedMessage) m, out); } else if (m instanceof AddLineMessage) { onMessage((AddLineMessage) m, out); } else if (m instanceof ClearLineMessage) { onMessage((ClearLineMessage) m, out); } else if (m instanceof ClearSpecialsMessage) { onMessage((ClearSpecialsMessage) m, out); } @@ -196,6 +194,13 @@ out.add(m); } + public void onMessage(LinesAddedMessage m, List<Message> out) + { + if (m instanceof OneLineAddedMessage) { onMessage((OneLineAddedMessage) m, out); } + else if (m instanceof TwoLinesAddedMessage) { onMessage((TwoLinesAddedMessage) m, out); } + else if (m instanceof FourLinesAddedMessage) { onMessage((FourLinesAddedMessage) m, out); } + } + public void onMessage(OneLineAddedMessage m, List<Message> out) { out.add(m); Modified: jetrix/trunk/src/java/net/jetrix/filter/StatsFilter.java =================================================================== --- jetrix/trunk/src/java/net/jetrix/filter/StatsFilter.java 2009-02-18 15:24:28 UTC (rev 798) +++ jetrix/trunk/src/java/net/jetrix/filter/StatsFilter.java 2009-02-18 16:28:08 UTC (rev 799) @@ -124,41 +124,19 @@ out.add(m); } - public void onMessage(OneLineAddedMessage m, List<Message> out) + public void onMessage(LinesAddedMessage m, List<Message> out) { out.add(m); - updateStats(m, 1); + updateStats(m); // remove 1 block count from any player in an opposite team removeBlock(m); } - public void onMessage(TwoLinesAddedMessage m, List<Message> out) - { - out.add(m); - - updateStats(m, 2); - - // remove 1 block count from any player in an opposite team - removeBlock(m); - } - - public void onMessage(FourLinesAddedMessage m, List<Message> out) - { - out.add(m); - - updateStats(m, 4); - - // remove 1 block count from any player in an opposite team - removeBlock(m); - } - public void onSpecial(SpecialMessage m, List<Message> out) { - if (!(m instanceof OneLineAddedMessage) - && !(m instanceof TwoLinesAddedMessage) - && !(m instanceof FourLinesAddedMessage)) + if (!(m instanceof LinesAddedMessage)) { // add a special received by the target PlayerStats playerStats = stats.get(m.getSlot() - 1); @@ -240,17 +218,16 @@ * Update the stats of the player sending the specified message. * * @param message - * @param lines */ - private void updateStats(SpecialMessage message, int lines) + private void updateStats(LinesAddedMessage message) { if (message.getFromSlot() > 0) // ignore messages sent by the server { PlayerStats playerStats = stats.get(message.getFromSlot() - 1); if (playerStats != null) { - playerStats.linesAdded += lines; - if (lines == 4) + playerStats.linesAdded += message.getLinesAdded(); + if (message.getLinesAdded() == 4) { playerStats.tetrisCount++; } Modified: jetrix/trunk/src/java/net/jetrix/filter/SurvivalFilter.java =================================================================== --- jetrix/trunk/src/java/net/jetrix/filter/SurvivalFilter.java 2009-02-18 15:24:28 UTC (rev 798) +++ jetrix/trunk/src/java/net/jetrix/filter/SurvivalFilter.java 2009-02-18 16:28:08 UTC (rev 799) @@ -34,7 +34,7 @@ */ public class SurvivalFilter extends GenericFilter { - public void onMessage(OneLineAddedMessage m, List<Message> out) + public void onMessage(LinesAddedMessage m, List<Message> out) { out.add(m); @@ -43,37 +43,10 @@ ClearLineMessage clear = new ClearLineMessage(); clear.setSlot(m.getFromSlot()); - out.add(clear); + for (int i = 0; i < m.getLinesAdded(); i++) + { + out.add(clear); + } } } - - public void onMessage(TwoLinesAddedMessage m, List<Message> out) - { - out.add(m); - - if (m.getFromSlot() != 0) - { - ClearLineMessage clear = new ClearLineMessage(); - clear.setSlot(m.getFromSlot()); - - out.add(clear); - out.add(clear); - } - } - - public void onMessage(FourLinesAddedMessage m, List<Message> out) - { - out.add(m); - - if (m.getFromSlot() != 0) - { - ClearLineMessage clear = new ClearLineMessage(); - clear.setSlot(m.getFromSlot()); - - out.add(clear); - out.add(clear); - out.add(clear); - out.add(clear); - } - } } Modified: jetrix/trunk/src/java/net/jetrix/messages/channel/specials/FourLinesAddedMessage.java =================================================================== --- jetrix/trunk/src/java/net/jetrix/messages/channel/specials/FourLinesAddedMessage.java 2009-02-18 15:24:28 UTC (rev 798) +++ jetrix/trunk/src/java/net/jetrix/messages/channel/specials/FourLinesAddedMessage.java 2009-02-18 16:28:08 UTC (rev 799) @@ -20,13 +20,20 @@ package net.jetrix.messages.channel.specials; /** + * Message sent when 4 lines are cleared and 4 lines are added to all opponents. * - * * @author Emmanuel Bourg * @version $Revision$, $Date$ */ -public class FourLinesAddedMessage extends SpecialMessage +public class FourLinesAddedMessage extends LinesAddedMessage { + public int getLinesCleared() + { + return 4; + } - + public int getLinesAdded() + { + return 4; + } } Added: jetrix/trunk/src/java/net/jetrix/messages/channel/specials/LinesAddedMessage.java =================================================================== --- jetrix/trunk/src/java/net/jetrix/messages/channel/specials/LinesAddedMessage.java (rev 0) +++ jetrix/trunk/src/java/net/jetrix/messages/channel/specials/LinesAddedMessage.java 2009-02-18 16:28:08 UTC (rev 799) @@ -0,0 +1,43 @@ +/** + * Jetrix TetriNET Server + * Copyright (C) 2009 Emmanuel Bourg + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + */ + +package net.jetrix.messages.channel.specials; + +/** + * Message sent when a player clears several lines and add lines to all opponents. + * + * @author Emmanuel Bourg + * @version $Revision$, $Date$ + * @since 0.3 + */ +public abstract class LinesAddedMessage extends SpecialMessage +{ + /** + * Returns the number of lines cleared + * @since 0.3 + */ + public abstract int getLinesCleared(); + + /** + * Returns the number of lines added to all opponents. + * @since 0.3 + */ + public abstract int getLinesAdded(); + +} Property changes on: jetrix/trunk/src/java/net/jetrix/messages/channel/specials/LinesAddedMessage.java ___________________________________________________________________ Added: svn:keywords + Date Author Id Revision HeadURL Added: svn:eol-style + native Modified: jetrix/trunk/src/java/net/jetrix/messages/channel/specials/OneLineAddedMessage.java =================================================================== --- jetrix/trunk/src/java/net/jetrix/messages/channel/specials/OneLineAddedMessage.java 2009-02-18 15:24:28 UTC (rev 798) +++ jetrix/trunk/src/java/net/jetrix/messages/channel/specials/OneLineAddedMessage.java 2009-02-18 16:28:08 UTC (rev 799) @@ -20,13 +20,20 @@ package net.jetrix.messages.channel.specials; /** + * Message sent when 2 lines are cleared and 1 line is added to all opponents. * - * * @author Emmanuel Bourg * @version $Revision$, $Date$ */ -public class OneLineAddedMessage extends SpecialMessage +public class OneLineAddedMessage extends LinesAddedMessage { + public int getLinesCleared() + { + return 2; + } - + public int getLinesAdded() + { + return 1; + } } Modified: jetrix/trunk/src/java/net/jetrix/messages/channel/specials/TwoLinesAddedMessage.java =================================================================== --- jetrix/trunk/src/java/net/jetrix/messages/channel/specials/TwoLinesAddedMessage.java 2009-02-18 15:24:28 UTC (rev 798) +++ jetrix/trunk/src/java/net/jetrix/messages/channel/specials/TwoLinesAddedMessage.java 2009-02-18 16:28:08 UTC (rev 799) @@ -20,13 +20,20 @@ package net.jetrix.messages.channel.specials; /** + * Message sent when 3 lines are cleared and 2 lines are added to all opponents. * - * * @author Emmanuel Bourg * @version $Revision$, $Date$ */ -public class TwoLinesAddedMessage extends SpecialMessage +public class TwoLinesAddedMessage extends LinesAddedMessage { + public int getLinesCleared() + { + return 3; + } - + public int getLinesAdded() + { + return 2; + } } Modified: jetrix/trunk/src/java/net/jetrix/protocols/IRCProtocol.java =================================================================== --- jetrix/trunk/src/java/net/jetrix/protocols/IRCProtocol.java 2009-02-18 15:24:28 UTC (rev 798) +++ jetrix/trunk/src/java/net/jetrix/protocols/IRCProtocol.java 2009-02-18 16:28:08 UTC (rev 799) @@ -318,21 +318,11 @@ return null; } - public String translate(OneLineAddedMessage m) + public String translate(LinesAddedMessage m) { return null; } - public String translate(TwoLinesAddedMessage m) - { - return null; - } - - public String translate(FourLinesAddedMessage m) - { - return null; - } - public String translate(AddLineMessage m) { return null; Modified: jetrix/trunk/src/java/net/jetrix/protocols/TetrinetProtocol.java =================================================================== --- jetrix/trunk/src/java/net/jetrix/protocols/TetrinetProtocol.java 2009-02-18 15:24:28 UTC (rev 798) +++ jetrix/trunk/src/java/net/jetrix/protocols/TetrinetProtocol.java 2009-02-18 16:28:08 UTC (rev 799) @@ -383,9 +383,7 @@ public String translate(SpecialMessage m) { - if (m instanceof OneLineAddedMessage) { return translate((OneLineAddedMessage) m); } - else if (m instanceof TwoLinesAddedMessage) { return translate((TwoLinesAddedMessage) m); } - else if (m instanceof FourLinesAddedMessage) { return translate((FourLinesAddedMessage) m); } + if (m instanceof LinesAddedMessage) { return translate((LinesAddedMessage) m); } else if (m instanceof AddLineMessage) { return translate((AddLineMessage) m); } else if (m instanceof ClearLineMessage) { return translate((ClearLineMessage) m); } else if (m instanceof ClearSpecialsMessage) { return translate((ClearSpecialsMessage) m); } @@ -649,36 +647,16 @@ return message.toString(); } - public String translate(OneLineAddedMessage m) + public String translate(LinesAddedMessage m) { StringBuilder message = new StringBuilder(); message.append("sb "); message.append(m.getSlot()); - message.append(" cs1 "); + message.append(" cs").append(m.getLinesAdded()).append(" "); message.append(m.getFromSlot()); return message.toString(); } - public String translate(TwoLinesAddedMessage m) - { - StringBuilder message = new StringBuilder(); - message.append("sb "); - message.append(m.getSlot()); - message.append(" cs2 "); - message.append(m.getFromSlot()); - return message.toString(); - } - - public String translate(FourLinesAddedMessage m) - { - StringBuilder message = new StringBuilder(); - message.append("sb "); - message.append(m.getSlot()); - message.append(" cs4 "); - message.append(m.getFromSlot()); - return message.toString(); - } - public String translate(AddLineMessage m) { StringBuilder message = new StringBuilder(); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |