⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 resourcefunction.java

📁 一套MMORPG手机网络游戏的服务端
💻 JAVA
字号:
/*
 * Created on 2005-8-8
 *
 * TODO To change the template for this generated file go to
 * Window - Preferences - Java - Code Style - Code Templates
 */
package com.swing.game.crystal.function;

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

import org.apache.log4j.Logger;
import org.apache.log4j.PropertyConfigurator;

import com.swing.game.crystal.CrystalController;
import com.swing.game.crystal.utils.Equip;
import com.swing.game.crystal.utils.SingleMap;
import com.swing.server.common.GameFunction;

/**
 * @author vampire_a
 *
 * TODO To change the template for this generated type comment go to
 * Window - Preferences - Java - Code Style - Code Templates
 */
public class ResourceFunction extends GameFunction {
    public static Logger logger = Logger.getLogger(StatusFunction.class);
    static {
      PropertyConfigurator.configure("./cfg/Log4j.properties");
    }
    /* (non-Javadoc)
     * @see com.swing.server.common.GameFunction#handleRequest(java.lang.String, java.lang.String)
     */
    public List handleRequest(String player, String message) {
        List list = null;
        String[] command = message.split(CrystalController.SPLITTER_2);
        
        // 简单的那种, 直接将图片罗列在一起返回就行了~~ 
        if (command.length == 2) {
            // 战斗用NPC, 目前是根据级别决定下行哪张图
            if (command[1].equals("bn"))
            {
            	/* 根据级别选择图
                CrystalPlayer cp = (CrystalPlayer) gc.getPlayerById(player);
                int index = cp.level / 10;
                list = new ArrayList (2);
                list.add(((List)CrystalController.ImageMapping.get(command[1])).get(index));
                */
            	
            	// 下行所有图
            	list = new ArrayList (6);
            	for (Iterator iter = ((List)CrystalController.ImageMapping.get(command[1])).iterator(); iter.hasNext(); ) {
            		Object o = iter.next();
            		list.add(o);
            	}
            }
            // 地图信息, 包括元素图和数据
            else if (command[1].equals("map"))
            {
                list = new ArrayList(2);
                list.add(((List)CrystalController.ImageMapping.get(command[1])).get(0));
                list.add(((SingleMap)CrystalController.MapDatas.get("1")).data);
            }
            // 基地信息, 包括元素图和数据
            else if (command[1].equals("jd"))
            {
                list = new ArrayList(2);
                list.add(((List)CrystalController.ImageMapping.get(command[1])).get(0));
                list.add(((SingleMap)CrystalController.MapDatas.get("0")).data);
            }
            // 所有物品信息
            else if (command[1].equals("at")) 
            {
                list = new ArrayList(); 
                StringBuffer sb = new StringBuffer();
                for (Iterator iter = CrystalController.WeaponMapping.values().iterator(); iter.hasNext(); )
                {
                    Equip e = (Equip) iter.next();
                    int id = Integer.parseInt(e.id);
                    // 基础装备一次性下行
                    if ( (id >= 0 && id < 10) || (id >=50 && id < 60) || (id >= 100 && id < 110))
                    {
                        if (list.size() == 0)
                            sb.append("A ");
                        sb.append(e.id);
                        sb.append(" ");
                        sb.append(e.name);
                        sb.append(" ");
                        sb.append(e.description);
                        sb.append(" ");
                        sb.append(e.capacity);
                        sb.append(" ");
                        sb.append(e.level);
                        sb.append(" ");
                        sb.append(e.role);
                        sb.append(" ");
                        sb.append(e.kind);
                        sb.append(" ");
                        sb.append(e.attack);
                        sb.append(" ");
                        if (e.kind.equals("a")) {
                            sb.append(e.defense);
                            sb.append(" ");
                            sb.append(e.usePower);
                            sb.append(" ");
                            sb.append(e.accuracy);
                            sb.append(" ");
                            sb.append(e.target);
                            sb.append(" ");
                            sb.append(e.special);
                        }
                        else {
                            sb.append(e.target);
                        }
                        sb.append(" ");
                        sb.append(e.path);
                        list.add(sb.toString());
                        sb.delete(0, sb.length() - 1);
                    }
                }
            }
            else
            {
                list = new ArrayList((List)CrystalController.ImageMapping.get(command[1]));
            }
            list.add(command[1]);
        }
        // 复杂的那种, 需要处理图片和数据
        else
        {
            // CrystalPlayer u = (CrystalPlayer) gc.playersByPlayerId.get(player);
            // 初始取得武器,每类人不一样,有一个基础武器,然后加上一个独特武器
            if (command[1].equals("W"))
            {    
                
            }
            // 取得装备,每个人都一样
            else if (command[1].equals("E"))
            {
                
            }
            // 取得物品,每个人都一样
            else if (command[1].equals("G"))
            {
                
            }
            // 用ID号取得某个东西
            else
            {
                
            }
            
        }
        
        return list;
    }

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -