Java局域网对战游戏、天气预报项目

功能

1.天气预报
2.局域网对战

展示

部分源码

package game.weather;

import java.util.HashMap;

public class Weather {
    /**
     * @Fields 今天的天气数据,整体
     */
    private JSONObject today;
    /**
     * @Fields 今天的天气指数 index第一个String是指数中文名,index的Map键值为"ivalue" "detail";
     */
    private JSONArray index;
    /**
     * @Fields 一周的天气,JSONObject:"night" "day";
     */
    private JSONArray daily;

    private JSONArray hourly;

    private JSONObject aqi;

    /**
     * 
     * @Title: getSubJSONObject @Description: TODO(这里用一句话描述这个方法的作用) @param
     * JSONObject obj ,String key @return JSONObject 返回类型 @throws
     */
    public JSONObject getToday(JSONObject obj) {
        return today = (JSONObject) obj;
    }
    public JSONArray getIndex(JSONObject obj){
        return index = (JSONArray) obj.get("index");
    }

    public JSONArray getDaily(JSONObject obj) {
        return daily = (JSONArray) obj.get("daily");
    }

    public JSONArray getHourly(JSONObject obj){
        return hourly = (JSONArray) obj.get("hourly");
    }
    public JSONObject getAqi(JSONObject obj){
        return aqi = obj.getJSONObject("aqi");
    }

    public static JSONObject getSubJSONObject(JSONObject obj, String key) {
        Object obj2 = obj.get(key);
        if (obj2 instanceof JSONObject) {
            return (JSONObject) obj2;
        } else {
            System.out.println(key + "不是一个JSONObject");
        }
        return null;
    }

    public static JSONObject ipToWeather(String ip) {
        String host = "http://jisutqybmf.market.alicloudapi.com";
        String path = "/weather/query";
        String method = "GET";
        String appcode = "8c97675e6493491d8153093a1facdc0e";
        Map headers = new HashMap();
        headers.put("Authorization", "APPCODE " + appcode);
        Map querys = new HashMap();
        // System.out.println(ip);
        querys.put("ip", ip);

//      Map res = new HashMap<>();

        try {
            HttpResponse response = HttpUtils.doGet(host, path, method, headers, querys);
            // 获取response的body
            System.out.println("111");
            String json = EntityUtils.toString(response.getEntity());
            // json = (json == null)? "{}":json;
            System.out.println("222");
            if (json.equals("")) {
                System.out.println("333");
                return null;
            }
            System.out.println(json);

            // 解析json
            JSONObject obj = JSONObject.fromString(json);
            String ret = (String) obj.get("msg");
            if (ret.equals("ok")) {
                // 获取result里的json数据
                String ret2 = obj.getString("result");
                JSONObject obj2 = JSONObject.fromString(ret2);

//              // 直接提取数据,城市
//              String value = obj2.getString("city");
//              res.put("city", value);
//              // 日期
//              value = obj2.getString("date");
//              res.put("date", value);
//              // 周次
//              value = obj2.getString("week");
//              res.put("week", value);
//              // 天气
//              value = obj2.getString("weather");
//              res.put("weather", value);
//              // 温度
//              value = obj2.getString("temp");
//              res.put("temp", value);
//
//              analysisJson(obj2);

                return obj2;
            }
        } catch (Exception e) {
            e.printStackTrace();
        }

        return null;
    }

    // 递归解析JSON
    private static void analysisJson(JSONObject obj) {
        Iterator keys = obj.keys();
        while (keys.hasNext()) {
            String keyName = keys.next().toString();
            Object obj2 = obj.get(keyName);
            if (obj2 instanceof JSONObject) {
                analysisJson((JSONObject) obj2);
            } else if (obj2 instanceof JSONArray) {
                for (int i = 0; i < ((JSONArray) obj2).length(); ++i) {
                    JSONObject obj3 = ((JSONArray) obj2).getJSONObject(i);
                    System.out.println("[");
                    analysisJson(obj3);
                    System.out.println("]");
                }
            } else {
                System.out.println(keyName + ": " + (String) obj2);
            }
        }
    }

    public static void main(String[] args) {
        Weather.ipToWeather("119.75.217.109");
    }
}
package game.ui;

import java.awt.geom.Rectangle2D;

/**
 * 
 * @ClassName: Main
 * @Description: 游戏启动界面
 * @author: Administrator
 * @date: 2017年7月5日 下午6:37:53
 */
public class Main extends Application {
    /**
     * 滚动信息的总条数
     */
    private static final int countLabel = 23;
    /**
     * 背景的WebView
     */
    private WebView w;
    /**
     * 按下鼠标时的x
     */
    private double xOffset;
    /**
     * 按下鼠标开始拖动窗体时的x
     */
    private double startX;
    /**
     * 按下鼠标开始拖动窗体时的y
     */
    private double startY;
    /**
     * 按下鼠标时的y
     */
    private double yOffset;
    /**
     * 川师一区
     */
    private ToggleButton cs1;
    /**
     * 川师二区
     */
    private ToggleButton cs2;
    /**
     * 屏幕宽度
     */
    private static final int width = 1000;
    /**
     * 屏幕高度
     */
    private static final int hight = 655;
    /**
     * 按钮互斥组
     */
    ToggleGroup csGroup = new ToggleGroup();
    /**
     * Web引擎
     */
    WebEngine webEngine;
    /**
     * 滚动信息的Label存储List
     */
    List

其它

  • 源码下载
关注下方公众号,选择开源项目菜单
  • 欢迎加入交流群:451826376

  • 更多信息:www.itcourse.top

完整教程PDF版本下载

你可能感兴趣的:(Java_积累版)