java即時戰(zhàn)略代碼 即時戰(zhàn)略的英文

使用Java面向?qū)ο蟮乃枷朐O計一個即時戰(zhàn)略游戲的類結(jié)構(gòu) 主要類如下: (1)人口類(Person)

package baidu;

創(chuàng)新互聯(lián)專業(yè)為企業(yè)提供興安盟烏蘭浩特網(wǎng)站建設、興安盟烏蘭浩特做網(wǎng)站、興安盟烏蘭浩特網(wǎng)站設計、興安盟烏蘭浩特網(wǎng)站制作等企業(yè)網(wǎng)站建設、網(wǎng)頁設計與制作、興安盟烏蘭浩特企業(yè)網(wǎng)站模板建站服務,十載興安盟烏蘭浩特做網(wǎng)站經(jīng)驗,不只是建網(wǎng)站,更提供有價值的思路和整體網(wǎng)絡服務。

public class Person {

//生命值

private int lifeValue;

//攻擊力

private int attackPower;

//消耗資源數(shù)

private int needResource;

public int attack(String select){

return this.lifeValue;

}

public int getLifeValue() {

return lifeValue;

}

public void setLifeValue(int lifeValue) {

this.lifeValue = lifeValue;

}

public int getAttackPower() {

return attackPower;

}

public void setAttackPower(int attackPower) {

this.attackPower = attackPower;

}

public int getNeedResource() {

return needResource;

}

public void setNeedResource(int needResource) {

this.needResource = needResource;

}

}

package baidu;

public class Nurse extends Person {

public void cure(){

System.out.println("begin cure!");

}

}

package baidu;

public class Sapper extends Person {

private int collectRes = 0;

//創(chuàng)造建筑createConstruction(),采集資源collectResource()

public void createConstruction(){

System.out.println("begin to createConstruction...");

}

public int collectResource(){

return collectRes;

}

}

package baidu;

public class Player {

//玩家名稱。玩家資源值,玩家所擁有的人口對象,玩家所擁有的建筑對象。

private String player_name;

private int player_res;

private Person player_per;

private Construction player_con;

public String getPlayer_name() {

return player_name;

}

public void setPlayer_name(String player_name) {

this.player_name = player_name;

}

public int getPlayer_res() {

return player_res;

}

public void setPlayer_res(int player_res) {

this.player_res = player_res;

}

public Person getPlayer_per() {

return player_per;

}

public void setPlayer_per(Person player_per) {

this.player_per = player_per;

}

public Construction getPlayer_con() {

return player_con;

}

public void setPlayer_con(Construction player_con) {

this.player_con = player_con;

}

}

package baidu;

public class Person {

//生命值

private int lifeValue;

//攻擊力

private int attackPower;

//消耗資源數(shù)

private int needResource;

public int attack(String select){

return this.lifeValue;

}

public int getLifeValue() {

return lifeValue;

}

public void setLifeValue(int lifeValue) {

this.lifeValue = lifeValue;

}

public int getAttackPower() {

return attackPower;

}

public void setAttackPower(int attackPower) {

this.attackPower = attackPower;

}

public int getNeedResource() {

return needResource;

}

public void setNeedResource(int needResource) {

this.needResource = needResource;

}

}

package baidu;

import java.util.Scanner;

public class PlayTest {

public static void main(String[] args) {

Player p1 = new Player();

Player p2 = new Player();

//設置第一個玩家的游戲信息

p1.setPlayer_name("player1");

//攻擊力

p1.getPlayer_per().attack("a1");

p1.getPlayer_per().setLifeValue(30);

p1.getPlayer_per().setNeedResource(0);

p1.getPlayer_con().setNeedResource(0);

p1.setPlayer_res(0);

//設置第二個玩家的游戲信息

p2.setPlayer_name("player2");

//攻擊力

p2.getPlayer_per().attack("a2");

p2.getPlayer_per().setLifeValue(30);

p2.getPlayer_per().setNeedResource(0);

p2.getPlayer_con().setNeedResource(0);

p2.setPlayer_res(0);

//開始準備資源

p1.getPlayer_per();

p1.getPlayer_con();

p2.getPlayer_per();

p2.getPlayer_con();

//游戲規(guī)則

String key1 = "a1";

String key2 = "Sc1";

String key3 = "Sr1";

String key4 = "Nc1";

Scanner sc = new Scanner(System.in);

String input = sc.nextLine();

if(key1.equals(input)){

p1.getPlayer_per().setLifeValue(p1.getPlayer_per().getLifeValue()+1);

p1.getPlayer_per().setNeedResource(p1.getPlayer_per().getNeedResource()+1);

p2.getPlayer_per().setLifeValue(p2.getPlayer_per().getLifeValue()-1);

}else if(key2.equals(input)){

p1.getPlayer_con().setCurrentSum(+1);

p1.setPlayer_con(p1.getPlayer_con());

}else if(key3.equals(input)){

p1.setPlayer_res(p1.getPlayer_res()+1);

}else if(key4.equals(input)){

p1.getPlayer_per().setLifeValue(+1);

p1.setPlayer_per(p1.getPlayer_per());

}

System.out.println("當前玩家1的進攻以及資源");

System.out.println("當前玩家2的進攻以及資源");

}

}

JAVA可以做出游戲么

可以的,我就做過一個即時戰(zhàn)略游戲。Java最大的問題是性能比較差。如果你不做非常復雜的游戲就可以光用Java。

做復雜的2D游戲或者3D游戲可以用JOGL(Java的OpenGL),性能還是比C要差一些,但一般的游戲足夠了。

讓用戶安裝JVM并不是大問題。不說現(xiàn)在大部分電腦都已經(jīng)安裝了JRE,你也可以捆綁一個不用安裝的JVM和你的游戲一起。比如JRE6一共有86 MB。作為比較Adobe Reader(看pdf文件用的)有41.1 MB,一般不會有人嫌這個東西太大而不下載的。

求java的計時器代碼,應該比較簡單的,來看看吧。

package?test;

import?java.util.*;

import?java.awt.*;

import?java.awt.event.*;

import?java.applet.*;

public?class?Test5?extends?Applet?{

private?final?Panel?pan?=?new?Panel();

private?final?Label?time?=?new?Label();

private?final?Button?btnGo?=?new?Button("開始");

private?final?Button?btnPouse?=?new?Button("暫停");

private?final?Button?btnReset?=?new?Button("復位");

private?final?StopwatchThread?swThread?=?new?StopwatchThread();

private?class?btnGoListener?implements?ActionListener?{

public?void?actionPerformed(ActionEvent?e)?{

???

swThread.go();

btnGo.setEnabled(false);

}

}

private?class?btnPouseListener?implements?ActionListener?{

public?void?actionPerformed(ActionEvent?e)?{

???if(btnGo.isEnabled()){

???return?;

???}

?if?(btnPouse.getLabel().equals("繼續(xù)"))?{

swThread.go();

btnPouse.setLabel("暫停");

}?else?if?(btnPouse.getLabel().equals("暫停"))?{

swThread.noGo();

btnPouse.setLabel("繼續(xù)");

}

}

}

private?class?btnResetListener?implements?ActionListener?{

public?void?actionPerformed(ActionEvent?e)?{

swThread.reset();

btnGo.setEnabled(true);

btnGo.setLabel("開始");

btnPouse.setLabel("暫停");

}

}

private?class?StopwatchThread?extends?Thread?{

private?boolean?going?=?false;

private?long?prevElapsed?=?0;

private?Date?startDate?=?new?Date();

private?long?elapsedTime()?{

return?prevElapsed?+

(going???new?Date().getTime()?-?startDate.getTime()?:?0);

}

private?String?msToString(long?time)?{

???System.out.println(time+"??"+((0*60+2)*1000+999));

if(((99*60+59)*1000+983)=time((99*60+59)*1000+999)=time){//((0*60+2)*1000+983)=time((0*60+2)*1000+999)=time

if?(time?%?1000??990)

time?+=?2;

swThread.noGo();

}

String?ms,?sec,?min;

if?(time?%?10?=?5)

time?+=?5;

ms?=?Long.toString(time?%?1000);

while?(ms.length()??3)

ms?=?"0"?+?ms;

ms?=?ms.substring(0,?ms.length()?-?1);

time?/=?1000;

sec?=?Long.toString(time?%?60);

if?(sec.length()?==?1)?sec?=?"0"?+?sec;

time?/=?60;

min?=?Long.toString(time);

return?min?+?":"?+?sec?+?"."?+?ms;

}

public?void?go()?{

startDate?=?new?Date();

going?=?true;

}

public?void?noGo()?{

prevElapsed?=?elapsedTime();

going?=?false;

}

public?void?reset()?{

going?=?false;

prevElapsed?=?0;

}

public?void?run()?{

while?(true)?{

time.setText(msToString(elapsedTime()));

yield();

}

}

}

public?void?init()?{

setLayout(new?GridLayout(2,2));

setBackground(Color.lightGray);

setForeground(Color.black);

pan.setLayout(new?GridLayout(3,2));

pan.add(new?Label("計時:"));

time.setForeground(Color.blue);

pan.add(time);

pan.add(btnGo);

pan.add(btnPouse);

pan.add(btnReset);

pan.add(new?Label());

add(pan);

btnGo.addActionListener(new?btnGoListener());

btnReset.addActionListener(new?btnResetListener());

btnPouse.addActionListener(new?btnPouseListener());

swThread.setDaemon(true);

swThread.start();

}

public?static?void?main(String[]?args)?{

Test5?applet?=?new?Test5();

Frame?aFrame?=?new?Frame("計時器");

aFrame.addWindowListener(new?WindowAdapter()?{

public?void?windowClosing(WindowEvent?e)?{

System.exit(0);

}

});

aFrame.add(applet,?BorderLayout.CENTER);

aFrame.setSize(400,?200);

applet.init();

applet.start();

aFrame.setVisible(true);

}

}

可以改變有注釋的那個if語句里面的值來判斷什么時候停止

當前文章:java即時戰(zhàn)略代碼 即時戰(zhàn)略的英文
文章起源:http://muchs.cn/article16/doeghgg.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供域名注冊App開發(fā)用戶體驗、靜態(tài)網(wǎng)站、品牌網(wǎng)站制作關(guān)鍵詞優(yōu)化

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設