当前位置:  编程技术>移动开发
本页文章导读:
    ▪TrustGo手机保险(检测手机应用安全)        TrustGo手机安全(检测手机应用安全)http://apk.hiapk.com/html/2012/05/586468.html   ......
    ▪ Java-Socket客户端,服务端通讯        Java--Socket客户端,服务端通信1.客户端接受服务端的消息并打印:   客户端:   import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.net.Socket; .........
    ▪ 你的时间是怎么被谋杀的?由一款塔防游戏引发的思考       你的时间是如何被谋杀的?---由一款塔防游戏引发的思考 你的时间是如何被谋杀的? ---由一款塔防游戏引发的思考           文/LL      之前一段时间花了很长时间来玩了一个 Mac OS.........

[1]TrustGo手机保险(检测手机应用安全)
    来源: 互联网  发布时间: 2014-02-18
TrustGo手机安全(检测手机应用安全)
http://apk.hiapk.com/html/2012/05/586468.html
 

    
[2] Java-Socket客户端,服务端通讯
    来源: 互联网  发布时间: 2014-02-18
Java--Socket客户端,服务端通信

1.客户端接受服务端的消息并打印:

 

客户端:

 

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.Socket;


public class Client {
	private static final String IP = "localhost";//服务器地址 
	private static final int PORT = 8000;//服务器端口号  

	public static void main(String[] args) {
		handler();
	}

	private static void handler() {
		//创建一个流套接字,连接到指定主机上的指定端口号
		Socket client = null;
		try {
			while(true){
				client = new Socket(IP, PORT);
				//取得输入流
				InputStream is = client.getInputStream();
				BufferedReader br = new BufferedReader(new InputStreamReader(is));
				//读取服务器端数据 
				System.out.println(br.readLine());
				br.close();
				is.close();
			}
		}catch (Exception e) {
			System.out.println("客户端异常:" + e.getMessage()); 
		}finally{
			if(client != null){
				try {
					client.close();
				} catch (IOException e) {
					System.out.println("客户端异常:" + e.getMessage()); 
				}
			}
		}
	}
}


 

服务端:

 

import java.io.BufferedWriter;
import java.io.IOException;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.net.ServerSocket;
import java.net.Socket;
import java.util.Scanner;

public class Server {
	private static final int PORT = 8000;//监听的端口号

	public static void main(String[] args) {
		Server server = new Server();
		server.init();
	}

	private void init(){
		try {
			ServerSocket serverSocket = new ServerSocket(PORT);
			while(true){
				Socket client = serverSocket.accept();
				//一个客户端连接就开户一个线程处理
				new Thread(new HandlerThread(client)).start();
			}
		} catch (IOException e) {
			System.out.println("服务器异常:" + e.getMessage());
		}
	}

	private class HandlerThread implements Runnable{

		private Socket client;
		public HandlerThread(Socket client) {
			this.client = client;
		}

		@Override
		public void run() {
			try {
				//取得输出流
				OutputStream os = client.getOutputStream();
				BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(os));
				//输入要输出给客户端的内容
				Scanner sc = new Scanner(System.in);
				bw.write(sc.nextLine());
				bw.close();
			} catch (IOException e) {
				System.out.println("服务器异常:" + e.getMessage());
			}finally{
				if(client != null){
					try {
						client.close();
					} catch (IOException e) {
						client = null;
						System.out.println("服务器异常:" + e.getMessage());
					}
				}
			}
		}
	}
}


 

2.服务端接受客户端的消息并打印:

 

客户端:

 

import java.io.BufferedWriter;
import java.io.IOException;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.net.Socket;
import java.util.Scanner;


public class Client {
	private static final String IP = "localhost";//服务器地址 
	private static final int PORT = 8000;//服务器端口号  

	public static void main(String[] args) {
		handler();
	}

	private static void handler() {
		//创建一个流套接字,连接到指定主机上的指定端口号
		Socket client = null;
		try {
			while(true){
				client = new Socket(IP, PORT);
				//取得输出流
				OutputStream os = client.getOutputStream();
				BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(os));
				//输入要发送到服务端的消息
				Scanner sc = new Scanner(System.in);
				bw.write(sc.nextLine());
				bw.close();
				os.close();
			}
		}catch (Exception e) {
			System.out.println("客户端异常:" + e.getMessage()); 
		}finally{
			if(client != null){
				try {
					client.close();
				} catch (IOException e) {
					System.out.println("客户端异常:" + e.getMessage()); 
				}
			}
		}
	}
}


 

服务端:

 

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.ServerSocket;
import java.net.Socket;

public class Server {
	private static final int PORT = 8000;//监听的端口号

	public static void main(String[] args) {
		Server server = new Server();
		server.init();
	}

	private void init(){
		try {
			ServerSocket serverSocket = new ServerSocket(PORT);
			while(true){
				Socket client = serverSocket.accept();
				//一个客户端连接就开户一个线程处理
				new Thread(new HandlerThread(client)).start();
			}
		} catch (IOException e) {
			System.out.println("服务器异常:" + e.getMessage());
		}
	}

	private class HandlerThread implements Runnable{

		private Socket client;
		public HandlerThread(Socket client) {
			this.client = client;
		}

		@Override
		public void run() {
			try {
				//取得输入流
				InputStream is = client.getInputStream();
				BufferedReader bw = new BufferedReader(new InputStreamReader(is));
				//读取客户端发送来的数据 
				System.out.println(bw.readLine());
				bw.close();
			} catch (IOException e) {
				System.out.println("服务器异常:" + e.getMessage());
			}finally{
				if(client != null){
					try {
						client.close();
					} catch (IOException e) {
						client = null;
						System.out.println("服务器异常:" + e.getMessage());
					}
				}
			}
		}
	}
}


 

 


    
[3] 你的时间是怎么被谋杀的?由一款塔防游戏引发的思考
    来源: 互联网  发布时间: 2014-02-18
你的时间是如何被谋杀的?---由一款塔防游戏引发的思考
你的时间是如何被谋杀的?
---由一款塔防游戏引发的思考

          文/LL


     之前一段时间花了很长时间来玩了一个 Mac OS平台下的塔防游戏<iBomber Defense Pacific>,为此浪费了不少时间。玩到通关之后,躺在床上,我一方面心痛我居然对游戏如此没有免疫力,另外一方面我在思考这款游戏好在哪里,哪些地方设计的很好?


     作为一款塔防游戏,这款游戏和其他塔防游戏有什么优点?如何设计一款塔防游戏呢?它需要遵循哪些原则呢?


     塔防游戏,Tower Defense,指的是一类通过在地图上建造炮塔或类似建筑物,以阻止游戏中敌人进攻的策略型游戏。比较有名的像《植物大战僵尸》、《Field Runners》、《保卫萝卜》、《Desktop TD》等。


     这种游戏多见于flash游戏,手机平台也很多,塔防的操作模式和节奏都比较适合触屏的操作,所以现在的Android 和 iOS平台上有非常多的此类游戏。


     现在以玩的《iBomber Defense Pacific》为例,来说明一款好的TD游戏的要素和原则:


     要素之一:美工设计。

     不同游戏有不同的美术风格,比如《植物大战僵尸》和《保护萝卜》的Q版风格, 《iBomber Defense Pacific》的战争风格。App Store中国区很多塔防游戏都是三国流。游戏设计的越精美越好。


     要素之二:敌人

     敌人也分为几类:

     <1>. 低HP,移动速度快,低攻击力,在一波中数量众多;

     <2>. 中等HP,移动速度快,中等攻击力,在一波中数量中等;

     <3>. 高HP,移动速度慢,高攻击力,在一波中熟练较少。

     以上的都是地面unit,我们所摆的阵型只对上面起作用,但TD游戏中都有空军无视你的阵型。



     要素之三:塔

     塔的属性有以下几点:

     攻击力ATTACK: 决定单位建筑对敌人所能造成的伤害程度

     攻击频率FREQENCY: 决定单位建筑在单位时间内的攻击次数

     攻击范围RANGE:决定单位建筑的攻击有效距离

     造价GOLD: 决定单位建筑的造价。

     塔也分为几类,一类是攻击型的,一类是减速型的,一类是加群防群补型的,一款好的游戏应该包含以上所有类型。

     

     要素之四:地图

     地图在一款好的TD游戏是非常重要的,不同的地图需要不同类型的塔才能发挥最大的作用。



     再来谈谈我认可的几个原则:


     原则之一:一个高等级的塔效果要超过2个低等级的塔。

     只有这样才能体现策略,才能在地图上摆阵需要思考。


     原则之二:不同类型的塔的组合效果必须大于单一塔的效果。

     只依靠一个塔的简单累加就能过关的游戏是失败的。

     

     原则之三:不同敌人组合。

     在敌人组合的时候,不是固定的,三类不同敌人进行组合才能对玩家产生最大的压迫效果。


     原则之四:关卡设计。

     一款游戏一般都设计成以下阶段:新手-->成长-->高手-->专业。不同阶段都需要对玩家产生吸引力,每个阶段的难度设计都需要比较合理。



     最后总结:

     玩游戏,倒后面对游戏设计师的所有伎俩都清清楚楚,反倒不想打游戏了。




     2013年3月28日下午10:09第一版

     2013年4月2日下午10:43 完稿。






    
最新技术文章:
▪Android开发之登录验证实例教程
▪Android开发之注册登录方法示例
▪Android获取手机SIM卡运营商信息的方法
▪Android实现将已发送的短信写入短信数据库的...
▪Android发送短信功能代码
▪Android根据电话号码获得联系人头像实例代码
▪Android中GPS定位的用法实例
▪Android实现退出时关闭所有Activity的方法
▪Android实现文件的分割和组装
▪Android录音应用实例教程
▪Android双击返回键退出程序的实现方法
▪Android实现侦听电池状态显示、电量及充电动...
▪Android获取当前已连接的wifi信号强度的方法
▪Android实现动态显示或隐藏密码输入框的内容
▪根据USER-AGENT判断手机类型并跳转到相应的app...
▪Android Touch事件分发过程详解
▪Android中实现为TextView添加多个可点击的文本
▪Android程序设计之AIDL实例详解
▪Android显式启动与隐式启动Activity的区别介绍
IT科技资讯 iis7站长之家
▪Android消息处理机制Looper和Handler详解
▪Android实现Back功能代码片段总结
▪Android实用的代码片段 常用代码总结
▪Android实现弹出键盘的方法
▪Android中通过view方式获取当前Activity的屏幕截...
▪Android提高之自定义Menu(TabMenu)实现方法
▪Android提高之多方向抽屉实现方法
▪Android提高之MediaPlayer播放网络音频的实现方法...
▪Android提高之MediaPlayer播放网络视频的实现方法...
▪Android提高之手游转电视游戏的模拟操控
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3