Java游戏测试代码




package com.example.gatest39;

public abstract class JinLing {
	int HP;//精灵的生命值
	int SP;//精灵的体力
	String name;
	String strID;
	String strAllInfo;
	
	enum strList{
		普通攻击,
		电闪雷鸣,
		蓄力攻击,
		恢复小血,
		终极必杀
	}
	
	String GJFS[]={"普通攻击:100",
		"电闪雷鸣:400",
		"蓄力攻击:0",
		"恢复小血:100",
		"终极必杀:1000"};
	
	/**
	 *精灵的构造函数 
	 */
	public JinLing() {
		// TODO Auto-generated constructor stub
	}
	
	/**
	 * @param hP
	 * @param sP
	 * @param name
	 */
	public JinLing(int hP, int sP, String name) {
		super();
		HP = hP;
		SP = sP;
		this.name = name;
	}

	public String getGJZhi(String str1)
	{
		String str2 = "";
		switch(strList.valueOf(str1.toLowerCase()))
		{
		case 普通攻击:
			str2="100";	
			break;
		case 电闪雷鸣:
			str2="400";	
			break;
		case 蓄力攻击:
			
			break;
		case 恢复小血:
			
			break;
		case 终极必杀:
			str2="1000";	
			break; 
		}
		return str2;
	}
	public int gongjiHP(String str1)
	{
		//System.out.println("gongjiHP");
		//System.out.println(str1);
		int HHP  = 0;
		String strTmp1;
		String strTmp2;
		switch(strList.valueOf(str1.toLowerCase()))
		{
		case 普通攻击:
			//System.out.println("普通攻击");
			strTmp1 =  GJFS[0];
			String s1[]=strTmp1.split(":");
			//System.out.println(s1[0]);
			//System.out.println(s1[1]);
			if(s1[0].equals("普通攻击")){
				HHP=Integer.valueOf(s1[1]);
				//System.out.println("HHP"+HHP);
			}
			break;
		case 电闪雷鸣:
			//System.out.println("电闪雷鸣");
			strTmp1 =  GJFS[1];
			String s11[]=strTmp1.split(":");
			if(s11[0].equals("电闪雷鸣")){
				HHP=Integer.valueOf(s11[1]);
				//System.out.println("HHP"+HHP);
			}
			break;
		case 蓄力攻击:
			System.out.println("蓄力攻击");
			
			
			
			break;
		case 恢复小血:
			System.out.println("恢复小血");
			strTmp1 =  GJFS[3];
			String s12[]=strTmp1.split(":");
			System.out.println("恢复小血1:"+s12[1]);
			if(s12[0].equals("恢复小血")){
				System.out.println("恢复小血2:"+s12[1]);
				this.HP=this.HP+Integer.valueOf(s12[1]);
			}
			break;
		case 终极必杀:
			System.out.println("终极必杀");
			strTmp1 =  GJFS[4];
			String s13[]=strTmp1.split(":");
			if(s13[0].equals("终极必杀")){
				HHP=Integer.valueOf(s13[1]);
				//System.out.println("HHP"+HHP);
			}
			break;
		} 
		return HHP;
	}
	public int getHP() {
		return HP;
	} 
	public void setHP(int hP) {
		HP = hP;
	} 
	public int getSP() {
		return SP;
	} 
	public void setSP(int sP) {
		SP = sP;
	} 
	public String getName() {
		return name;
	} 
	public void setName(String name) {
		this.name = name;
	} 
	 public abstract   int gongJiXZ(String str1);//攻击选择 
	 public abstract String toString(); //信息输出
	
}

class DJinLing extends JinLing
{
	
	/**
	 * 敌方的初始化构造函数
	 */
	public DJinLing() {
		// TODO Auto-generated constructor stub
		super(10000, 500, "大头怪");
	}

	/**
	 * @param hP
	 * @param sP
	 * @param name
	 */
	private DJinLing(int hP, int sP, String name) {
		super(hP, sP, name);
		// TODO Auto-generated constructor stub
	}
	@Override
	public int gongJiXZ(String str1) {
		// TODO Auto-generated method stub
		return 0;
	}

	@Override
	public String toString() {
		// TODO Auto-generated method stub
		strAllInfo = "敌方精灵:";
		strAllInfo = strAllInfo + name ;
		strAllInfo = strAllInfo + " HP:";
		strAllInfo = strAllInfo + String.valueOf(HP);
		strAllInfo = strAllInfo + " SP:";
		strAllInfo = strAllInfo + String.valueOf(SP);
		
		return strAllInfo;
		//return null;
	}
}


class WJinLing extends JinLing
{
	
	/**
	 * 我方的初始化函数
	 */
	public WJinLing() {
		// TODO Auto-generated constructor stub
		super(8000, 600, "电气宝宝");
	}
	/**
	 * @param hP
	 * @param sP
	 * @param name
	 */
	private WJinLing(int hP, int sP, String name) {
		super(hP, sP, name);
		// TODO Auto-generated constructor stub
	}

	@Override
	public int gongJiXZ(String str1) {
		// TODO Auto-generated method stub
		return 0;
	}
	@Override
	public String toString() {
		// TODO Auto-generated method stub
		strAllInfo = "我方精灵:";
		strAllInfo = strAllInfo + name ;
		strAllInfo = strAllInfo + " HP:";
		strAllInfo = strAllInfo + String.valueOf(HP);
		strAllInfo = strAllInfo + " SP:";
		strAllInfo = strAllInfo + String.valueOf(SP);
		
		return strAllInfo;
		//return super.toString();
	}
}



package com.example.gatest39;
 

import java.net.InetAddress;
import java.net.NetworkInterface;
import java.net.SocketException;
import java.net.UnknownHostException;
import java.util.ArrayList;
import java.util.Enumeration;
import java.util.List;
import java.util.Random;

import android.os.Bundle;
import android.app.Activity;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.util.Log;
import android.view.Menu;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemSelectedListener;
import android.widget.ArrayAdapter;
import android.widget.BaseAdapter;
import android.widget.Button;
import android.widget.Spinner;
import android.widget.TextView;
import android.widget.Toast;

public class MainActivity extends Activity {

	Spinner mspinner;
	JinLing jinLing1;
	Button btnQueD;//@+id/button1 确定按钮
	Button btnJieS;//@+id/button2 结束本回合按钮
	Button btnGengH;//@+id/button3 跟换宠物按钮
	
	TextView dfZ;//@+id/textView1 敌方标题信息
	TextView wfZ;//@+id/textView2 我方标题信息
	TextView dfD;//@+id/textView4
	TextView wfD;//@+id/textView3
	TextView tiLiShu;//@+id/textView5
	
	WJinLing wjl;
	DJinLing djl;
	
	String dTitle="等待玩家出牌";//敌方对话信息
	String wTitle="请选择技能后出牌";//我方对话信息
	String currAct;
	String strTiLi="剩余体力:";
	int intTiLi = 3;
	int intXLZ = 1;
	
	List<String> list = new ArrayList<String>();
	ArrayAdapter<String> adapter;
	
	int itemHangShu = 5;
	
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		
		mspinner=(Spinner)findViewById(R.id.spinner1);
		btnQueD=(Button)findViewById(R.id.button1);
		btnJieS=(Button)findViewById(R.id.button2);
		btnGengH=(Button)findViewById(R.id.button3);
		
		dfZ=(TextView)findViewById(R.id.textView1);
		wfZ=(TextView)findViewById(R.id.textView2);
		dfD=(TextView)findViewById(R.id.textView4);
		wfD=(TextView)findViewById(R.id.textView3);
		tiLiShu=(TextView)findViewById(R.id.textView5);
		
		initialGame();
		
		list.add("普通攻击:50");
		list.add("电闪雷鸣:100");
		list.add("蓄力攻击:10");
		list.add("恢复小血:30");
		list.add("终极必杀:200");
		
		itemHangShu=list.size();
		currAct=list.get(0);
		
		BaseAdapter ba = new BaseAdapter() {
			@Override
			public View getView(int position, View convertView, ViewGroup parent) { 
				TextView text = new TextView(MainActivity.this);
				text.setText(""+list.get(position)); 
				return text;
			}
			@Override
			public long getItemId(int position) { 
				return 0;
			}
			@Override
			public Object getItem(int position) { 
				return null;
			}
			@Override
			public int getCount() { 
				return itemHangShu;
			}
		};
		
		mspinner.setAdapter(ba); 
		mspinner.setOnItemSelectedListener(new OnItemSelectedListener() { 
			@Override
			public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2, long arg3) { 
				currAct=list.get(arg2);
				//Toast.makeText(MainActivity.this, ""+arg2, Toast.LENGTH_LONG).show();
			} 
			@Override
			public void onNothingSelected(AdapterView<?> arg0) { 
			}
		});
		
		btnQueD.setOnClickListener(new View.OnClickListener() {
			//确定按钮
			@Override
			public void onClick(View v) { 
//				Toast.makeText(MainActivity.this,
//					"btnQueD:"+currAct, 
//					Toast.LENGTH_LONG).show();
				if(intTiLi>0)
				{
					wTitle=wTitle+"\n"+"出牌:"+currAct;
					wTitle = checkHC(wTitle);
					wfD.setText(wTitle); 
					String s1[] = currAct.split(":"); 
					if(s1[0].equals("蓄力攻击"))
					{
						intXLZ=intXLZ+1;
					}
					else
					{
						int iHP = wjl.gongjiHP(s1[0]);
						System.out.println("iHP1"+iHP);
						int iHP2 = djl.getHP() - iHP*intXLZ;
						System.out.println("iHP2"+iHP2);
						mDTitleadd(s1[0],String.valueOf(iHP2));
						djl.setHP(iHP2);
					} 
					//System.out.println(s1[1]);  
					//System.out.println(s1[0]);  
					divdSP("W",s1[1]); 
					divTiLiZhi();
					divdHP("A");
				}else{
					Toast.makeText(MainActivity.this,
							"无体力值了,不可再出牌", 
							Toast.LENGTH_SHORT).show();
				}
			}
		});
		
		btnJieS.setOnClickListener(new View.OnClickListener() {
			//结束按钮
			@Override
			public void onClick(View v) {
				// TODO Auto-generated method stub
				//Toast.makeText(MainActivity.this, "btnJieS", Toast.LENGTH_LONG).show(); 
				new AlertDialog.Builder(MainActivity.this).setTitle("提示").setMessage(
						"是否结束本回合").setPositiveButton(
						"确定", new DialogInterface.OnClickListener() { 
					@Override
					public void onClick(DialogInterface dialog, int which) {
						// TODO Auto-generated method stub 
						btnQueD.setEnabled(false);
						btnJieS.setEnabled(false);
						btnGengH.setEnabled(false);
						intXLZ=0;
						AIRUN();
					} 
				}).setNegativeButton("取消", new DialogInterface.OnClickListener() { 
					@Override
					public void onClick(DialogInterface dialog, int which) {
						// TODO Auto-generated method stub 
					}
				}).create().show(); 
			}
		});

		btnGengH.setOnClickListener(new View.OnClickListener() {
			//更换按钮 btnGengH
			@Override
			public void onClick(View v) {
				// TODO Auto-generated method stub
				//String strIP = getIP();
				String strIP = getLocalIpAddress();
				Toast.makeText(MainActivity.this, 
						strIP, 
				Toast.LENGTH_LONG).show(); 
			}
		});
	}
	
	public String getLocalIpAddress() {
		//获取真实的IP地址
		try {
			for (Enumeration<NetworkInterface> en = NetworkInterface
					.getNetworkInterfaces(); en.hasMoreElements();) {
				NetworkInterface intf = en.nextElement();
				for (Enumeration<InetAddress> enumIpAddr = intf
						.getInetAddresses(); enumIpAddr.hasMoreElements();) {
					InetAddress inetAddress = enumIpAddr.nextElement();
					if (!inetAddress.isLoopbackAddress()) {
						return inetAddress.getHostAddress().toString();
					}
				}
			}
		} catch (SocketException ex) {
			Log.e("WifiPreference IpAddress", ex.toString());
		}
		return null;
	}
	
	protected String getIP() { 
		String strIP="";
		try {
			InetAddress addr = InetAddress.getLocalHost(); 
			strIP=addr.getHostAddress().toString();
		} catch (UnknownHostException e) { 
			e.printStackTrace();
		} 
		return strIP;
	}

	protected void mDTitleadd(String str1,String str12) {
		// TODO 当敌方受到我方攻击时在它的信息栏中显示消息。
		String str2 = wjl.getGJZhi(str1);
		dTitle=dTitle+"\n"+"受到"+ str1 +",减血"+str2;
		dTitle=checkHC(dTitle);
		dfD.setText(dTitle);
	}

	private void AIRUN() { 
		//电脑开始行动
		Toast.makeText(MainActivity.this,
				"电脑开始行动", 
				Toast.LENGTH_SHORT).show();
		
		int aTiLi = 3;
		int aSP = djl.getSP();
		if(aSP > 0 )
		{
			for(int i1 = 0;i1<aTiLi;i1 ++)
			{
				int i2 = (int)(Math.random()*10);
				int i3 = new Random().nextInt(5);
				int ii1,ii2;
				System.out.println("i3"+i3);
				
				if(i2>5)
					i2= i2 - 5;
				System.out.println("i2"+i2);
				
				switch(i2)
				{
				case 0:
					addDXinXi("普通攻击");
					ii1 = djl.gongjiHP("普通攻击");
					ii2 = wjl.getHP() - ii1;
					wjl.setHP(ii2);
					
					divdSP("A", "50");
					divdHP("Z");
					mWTitleadd("普通攻击","100");
					break;
				case 1:
					addDXinXi("电闪雷鸣");
					ii1 = djl.gongjiHP("电闪雷鸣");
					ii2 = wjl.getHP() - ii1;
					wjl.setHP(ii2);
					
					divdSP("A", "100");
					divdHP("Z");
					mWTitleadd("电闪雷鸣","400"); 
					break;
				case 2:
					//addDXinXi("蓄力攻击");
					//break;
				case 3:
					addDXinXi("恢复小血");
					break;
				case 4:
					addDXinXi("终极必杀");
					ii1 = djl.gongjiHP("终极必杀");
					ii2 = wjl.getHP() - ii1;
					wjl.setHP(ii2);
					
					divdSP("A", "200");
					divdHP("Z");
					mWTitleadd("终极必杀","1000"); 
					break;
				}
			}
		}
		else
		{
			toDisplay("电脑没有SP不可攻击");
		}
			
		btnQueD.setEnabled(true);
		btnJieS.setEnabled(true);
		btnGengH.setEnabled(true);
		
		
	}
	
	private void addDXinXi(String str1) {
		// TODO Auto-generated method stub
		dTitle=dTitle+"\n"+"出牌:"+str1;
		dTitle=checkHC(dTitle);
		dfD.setText(dTitle);
	}

	private void toDisplay(String str1) { 
		Toast.makeText(MainActivity.this,
				str1, 
				Toast.LENGTH_SHORT).show();
	}

	protected void divdHP(String str1) { 
		
		if(str1=="A")
		{
			dfZ.setText(djl.toString());
		}else if(str1=="Z"){
			wfZ.setText(wjl.toString());
		}
	}

	protected void divdSP(String str1, String str2) { 
		int i1 = Integer.valueOf(str2);
		
		if(str1=="W")
		{
			int i2 = wjl.getSP();
			i2 = i2 - i1;
			wjl.setSP(i2);
			wfZ.setText(wjl.toString()); 
			
		}
		else if(str1=="A")
		{
			int i2 = wjl.getSP();
			i2 = i2 - i1;
			djl.setSP(i2);
			dfZ.setText(djl.toString());
		}
	}

	private void mWTitleadd(String str1, String str2) { 
		wTitle = wTitle + "\n"+"受到"+str1+",减血"+str2;
		wTitle = checkHC(wTitle);
		wfD.setText(wTitle);
	}

	protected String checkHC(String wTitle2) { 
		String str1 = "";
		String s1[] = wTitle2.split("\n");
		//System.out.println(s1.length-1);
		int i1 = s1.length-1;
		if(i1>6)
		{
			int i2 = wTitle2.indexOf('\n');
			//System.out.println("length1:"+wTitle2.length());
			str1 = wTitle2.substring(i2+1);
			//System.out.println("i2:"+i2);
			//System.out.println("str1:"+str1);
			//System.out.println("length2:"+str1.length());
		}
		else
		{
			str1=wTitle2;
		}
		return str1;
	}

	protected void divTiLiZhi() { 
		intTiLi--;
		//strTiLi=strTiLi+""+intTiLi;
		tiLiShu.setText(strTiLi+""+intTiLi);
	}

	private void initialGame() {
		// TODO Auto-generated method stub
		wjl = new WJinLing();
		djl = new DJinLing();
		
		dfZ.setText(djl.toString());
		wfZ.setText(wjl.toString());
		
		dfD.setText(dTitle);
		wfD.setText(wTitle);
		
	}

	@Override
	public boolean onCreateOptionsMenu(Menu menu) {
		// Inflate the menu; this adds items to the action bar if it is present.
		getMenuInflater().inflate(R.menu.main, menu);
		return true;
	}

}



  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值