楼上说的很对,switch首先不是循环,只是一个判断,i的值影响你地图上输出的到底是什么类型的图案,我把我写的源码给你,你看看,注释比较全,加油学吧,不懂多问问同学或老师
在海门等地区,都构建了全面的区域性战略布局,加强发展的系统性、市场前瞻性、产品创新能力,以专注、极致的服务理念,为客户提供成都网站制作、成都网站建设、外贸营销网站建设 网站设计制作定制制作,公司网站建设,企业网站建设,品牌网站制作,网络营销推广,成都外贸网站建设,海门网站建设费用合理。
地图类:
package s1java.t70.qsfxq;
public class Map {
int[] map = new int[100]; //对战地图
int[] luckyTurn = ; //幸运轮盘
int[] landMine = ; //地雷位置
int[] pause = ; //暂停
int[] timeTunnel = ; //时空隧道
/**
* 生成地图:
* 关卡代号为:1:幸运轮盘 2:地雷 3: 暂停 4:时空隧道 0:普通
*/
public void createMap(){
int i = 0;
//在对战地图上设置幸运轮盘
for(i = 0; i luckyTurn.length; i++){
map[luckyTurn[i]] = 1;
}
//添加代码实现在对战地图上设置地雷
for(i = 0; i landMine.length; i++) {
map[landMine[i]] = 2;
}
//添加代码实现在对战地图上设置暂停
for(i = 0; i pause.length; i++) {
map[pause[i]] = 3;
}
//添加代码实现在对战地图上设置时空隧道
for(i = 0; i timeTunnel.length; i++) {
map[timeTunnel[i]] = 4;
}
}
/**
* 显示地图关卡对应的图形
* @param i 地图当前位置的关卡代号
* @param index 当前地图位置编号
* @param playerPos1 玩家1的当前位置
* @param playerPos2 玩家2的当前位置
* @return 地图当前位置的对应图片
*/
public String getGraph(int i, int index, int playerPos1, int playerPos2){
String graph = "";
// 添加代码
if(playerPos1 == index playerPos2 == index) {
graph = "@@";
}
else if(playerPos1 == index) {
graph = "A";
}
else if(playerPos2 == index) {
graph = "B";
}
else {
switch(i) {
case 0:
graph = "∷";
break;
case 1:
graph = "¤";
break;
case 2:
graph = "★";
break;
case 3:
graph = "■";
case 4:
graph = "〓";
}
}
return graph;
}
/**
* 输出地图的奇数行(第1、3行)
* @param start 输出的起始点在地图上的位置
* @param end 输出的结束点在地图上的位置
* @param playerPos1 玩家1的当前位置
* @param playerPos2 玩家2的当前位置
*/
public void showLine1(int start, int end, int playerPos1, int playerPos2){
//添加代码
for(int i = start; i = end; i++ ){
System.out.print(getGraph(map[i], i,playerPos1, playerPos2));
}
}
/**
* 输出地图的偶数行(第2行)
* @param start 输出的起始点在地图上的位置
* @param end 输出的结束点在地图上的位置
* @param playerPos1 玩家1的当前位置
* @param playerPos2 玩家2的当前位置
*/
public void showLine2(int start, int end, int playerPos1, int playerPos2){
for(int i = end-1; i = start; i-- ){
System.out.print(getGraph(map[i], i,playerPos1, playerPos2));
}
}
/**
* 输出地图的右竖列
* @param start 输出的起始点在地图上的位置
* @param end 输出的结束点在地图上的位置
* @param playerPos1 玩家1的当前位置
* @param playerPos2 玩家2的当前位置
*/
public void showRLine(int start, int end, int playerPos1, int playerPos2){
for(int i = start; i end; i++){
for(int j = 28; j 0; j--){ //输出29个空格
System.out.print(" ");
}
System.out.print(getGraph(map[i], i,playerPos1, playerPos2));
System.out.println();
}
}
/**
* 输出地图的左竖列
* @param start 输出的起始点在地图上的位置
* @param end 输出的结束点在地图上的位置
* @param playerPos1 玩家1的当前位置
* @param playerPos2 玩家2的当前位置
*/
public void showLLine(int start, int end, int playerPos1, int playerPos2){
//添加代码
for(int i = start; i end; i++){
System.out.print(getGraph(map[i], i,playerPos1, playerPos2));
System.out.println();
}
}
/**
* 显示对战地图
* @param playerPos1 玩家1的当前位置
* @param playerPos2 玩家2的当前位置
*/
public void showMap(int playerPos1, int playerPos2){
//显示地图第一行
showLine1(0, 30,playerPos1,playerPos2);
//换行
System.out.println();
//显示地图右竖行
showRLine(31,35,playerPos1,playerPos2);
//显示地图第二行
showLine2(35,66,playerPos1,playerPos2);
//换行
System.out.println();
//显示地图左竖行
showLLine(66,69,playerPos1,playerPos2);
//显示地图第3行
showLine1(69, 99,playerPos1,playerPos2);
}
}
GAME类:
package s1java.t70.qsfxq;
import java.util.*;
public class Game {
//声明地图
Map map =new Map();
//Map map;
//声明对战中玩家1的当前位置
int playerPos1;
//声明对战中玩家2的当前位置
int playerPos2;
//声明走或停标识设置
String[] goAndStop = new String[2];
//声明对战角色
String[] playerName = new String[2];
/**
* 初始化游戏的一局
*/
public void init(){
//创建Map对象
//生成地图
map.createMap();
//设置玩家1起始位置
playerPos1 = 0;
//设置玩家2起始位置
playerPos2 = 0;
//记录玩家1下一次走或停
goAndStop[0] = "on";
//设置玩家2下一次走或停
goAndStop[1] = "on";
}
/**
* 开始游戏
*/
public void start(){
//调用初始化方法
init();
//显示游戏界面
map.showMap(playerPos1, playerPos2);
System.out.println("\n");
System.out.println("1、戴高乐 2、艾森豪威尔 3、麦克阿瑟 4、巴顿\n");
//角色设置
Scanner input = new Scanner(System.in);
System.out.print("1P选择人物: ");
int role = input.nextInt();
setRole(1,role);
boolean judge = true;
do {
System.out.println();
System.out.print("2P选择人物: ");
int role2 = input.nextInt();
if(role2 == role) {
System.out.println("角色重复,请重新选择人物!");
}
else {
setRole(2,role2);
}
}while(judge == false);
//开始游戏
play();
}
/**
* 设置对战角色
* @param no 玩家次序 1:玩家1 2:玩家2
* @param role 角色代号
*/
public void setRole(int no, int role){
switch(role){
case 1:
playerName[no-1] = "戴高乐";
break;
case 2:
//设置玩家名称为"艾森豪威尔"
playerName[no-1] = "艾森豪威尔";
break;
case 3:
//设置玩家名称为"麦克阿瑟"
playerName[no-1] = "麦克阿瑟";
break;
case 4:
//设置玩家名称为"巴顿"
playerName[no-1] = "巴顿";
break;
default:
break;
}
}
/**
* 两人对战玩法
*/
public void play(){
System.out.println("\n\n\n\n");
System.out.print("\n\n****************************************************\n");
System.out.print(" Game Start \n");
System.out.print("****************************************************\n\n");
//显示对战双方士兵样式
System.out.println("^_^" + playerName[0] + "的士兵: A");
System.out.println("^_^" + playerName[1] + "的士兵: B\n");
//显示对战地图
System.out.println("\n图例: " + "■ 暂停 ¤ 幸运轮盘 ★ 地雷 〓 时空隧道 ∷ 普通\n");
map.showMap(playerPos1, playerPos2);
//游戏开始
int step; //存储骰子数目
while(playerPos1 99 playerPos2 99){ //有任何一方走到终点,跳出循环
//轮流掷骰子
if(goAndStop[0].equals("on")){
//玩家1掷骰子
step = throwShifter(1); //掷骰子
System.out.println("\n-----------------"); //显示结果信息
System.out.println("骰子数: "+ step);
playerPos1 = getCurPos(1, playerPos1, step); //计算这一次移动后的当前位置
System.out.println("\n您当前位置: "+ playerPos1);
System.out.println("对方当前位置:"+ playerPos2);
System.out.println("-----------------\n");
map.showMap(playerPos1, playerPos2); //显示当前地图
if(playerPos1 == 99){ //如果走到终点
break; //退出
}
}else{
System.out.println("\n" + playerName[0] +"停掷一次!\n"); //显示此次暂停信息
goAndStop[0] = "on"; //设置下次可掷状态
}
System.out.println("\n\n\n\n");
if(goAndStop[1].equals("on")){
//玩家2掷骰子
step = throwShifter(2); //掷骰子
System.out.println("\n-----------------"); //显示结果信息
System.out.println("骰子数: "+ step);
playerPos2 = getCurPos(2, playerPos2, step); //计算这一次移动后的当前位置
System.out.println("\n您当前位置: "+ playerPos2);
System.out.println("对方当前位置:"+ playerPos1);
System.out.println("-----------------\n");
map.showMap(playerPos1, playerPos2);
if(playerPos2 == 99){ //如果走到终点
break; //退出
}
}else{
System.out.println("\n" + playerName[1] + "停掷一次!\n"); //显示此次暂停信息
goAndStop[1] = "on"; //设置下次可掷状态
}
System.out.println("\n\n\n\n");
}
//游戏结束
System.out.println("\n\n\n\n");
System.out.print("****************************************************\n");
System.out.print(" Game Over \n");
System.out.print("****************************************************\n\n");
judge();
}
/**
* 掷骰子
* @param no 玩家次序
* @return step 掷出的骰子数目
*/
public int throwShifter(int no){
//定义变量存储骰子数目
int step = 0;
//提示玩家启动掷骰子
System.out.println("\n");
System.out.print("请输入任意键开掷骰子!");
Scanner input = new Scanner(System.in);
input.nextInt();
//模拟掷骰子:产生一个1~6的数字作为玩家掷的骰子数目
Random random = new Random();
step = random.nextInt(5) + 1;
return step;
}
/**
* 计算玩家此次移动后的当前位置
* @param no 玩家次序
* @param position 移动前位置
* @param step 掷的骰子数目
* @return position 移动后的位置
*/
public int getCurPos(int no, int position, int step){
position = position + step; //第一次移动后的位置
if(position = 99){
return 99;
}
Scanner input = new Scanner(System.in);
switch(map.map[position]){ //根据地图中的关卡代号进行判断
case 0: //走到普通格
if(position == playerPos2){ //添加条件:玩家1与对方骑兵相遇
//添加代码实现:踩到对方,对方回到起点
playerPos2 = 0;
System.out.println(":-D 哈哈哈哈...踩到了!");
}
if (position == playerPos1){ //添加条件:玩家2与对方骑兵相遇
//添加代码实现:踩到对方,对方回到起点
playerPos1 = 0;
System.out.println(":-D 哈哈哈哈...踩到了!");
}
break;
case 1: //幸运轮盘
System.out.println("\n◆◇◆◇◆欢迎进入幸运轮盘◆◇◆◇◆");
System.out.println(" 请选择一种运气:");
System.out.println(" 1. 交换位置 2. 轰炸");
System.out.println("=============================\n");
int choice = input.nextInt();
int temp; //交换时的临时变量
switch(choice){
case 1: //交换位置
if(no == 1){
//添加代码实现交换:position与playerPos2数值互换
temp = playerPos2;
playerPos2 = position;
position = temp;
}else if(no == 2){
//添加代码实现交换:position与playPos1数值互换
temp = playerPos1;
playerPos1 = position;
position = temp;
}
break;
case 2: //轰炸
if(no == 1){ //no为1并且玩家2位置小于6
//添加代码实现:计算玩家2当前位置
if(playerPos2 6) {
playerPos2 = 0;
}
else {
//添加代码实现:计算玩家2当前位置
playerPos2 -= 6;
}
}
if(no == 2){ //no为2并且玩家1位置小于6
//添加代码实现: 计算玩家1当前位置
if(playerPos1 6) {
playerPos1 = 0;
}
else{
//添加代码实现:计算玩家1当前位置
playerPos1 -= 6;
}
}
break;
}
break;
case 2: //踩到地雷
//添加代码实现:踩到地雷退6步
position -= 6;
System.out.println("~:-( " + "踩到地雷,气死了...");
break;
case 3: //下一次暂停一次
//添加代码实现:设置下次暂停掷骰子
goAndStop[no-1] = "off";
System.out.println("~~_~~ 要停战一局了。");
break;
case 4: //时空隧道
//添加代码实现:进入时空隧道,加走10步
position += 10;
System.out.println("|-P " + "进入时空隧道, 真爽!");
break;
}
//返回此次掷骰子后玩家的位置坐标
if(position 0){
return 0;
}else if(position 99){
return 99;
}else{
return position;
}
}
/**
* 显示对战结果
*/
public void judge(){
//添加代码
if(playerPos1 playerPos2) {
System.out.println(playerName[0] + "获得了胜利!");
}
else {
System.out.println(playerName[1] + "获得了胜利!");
}
}
}
程序入口:
package s1java.t70.qsfxq;
public class StartGane {
public static void main(String[] args) {
Game game = new Game();
game.start();
}
}
package org.yt.jxl.excelDemo;
import java.io.File;
import jxl.Cell;
import jxl.Sheet;
import jxl.Workbook;
import jxl.write.Label;
import jxl.write.WritableSheet;
import jxl.write.WritableWorkbook;
/**
* 执行对Excel文件的读写操作
*
* @author 袁通
*/
public class ExcelDemo {
/**
* 写
*
* @param fileName
* 被写入的Excel文件的路径
* @param sheetName
* 被写入的Excel文件的工作表
* @param location
* 被写入的Excel文件的工作表位于工作簿的位置
* @throws Exception
*/
public static void write(String fileName, String sheetName, int location)
throws Exception {
WritableWorkbook wwb = null;
Label label = null;
try {
// 创建可写入的工作簿对象
wwb = Workbook.createWorkbook(new File(fileName));
if (wwb != null) {
// 在工作簿里创建可写入的工作表,第一个参数为工作表名,第二个参数为该工作表的所在位置
WritableSheet ws = wwb.createSheet(sheetName, location);
if (ws != null) {
/* 添加表结构 */
// 行
for (int i = 0; i 5; i++) {
// 列
for (int j = 0; j 5; j++) {
// Label构造器中有三个参数,第一个为列,第二个为行,第三个则为单元格填充的内容
label = new Label(j, i, "第" + (i + 1) + "行," + "第"
+ (j + 1) + "列");
// 将被写入数据的单元格添加到工作表
ws.addCell(label);
}
}
// 从内存中写入到文件
wwb.write();
}
System.out.println("路径为:" + fileName + "的工作簿写入数据成功!");
}
} catch (Exception e) {
System.out.println(e.getMessage());
} finally {
wwb.close();
}
}
}
一千多个大小游戏直接http下载,不打开任何网页
魔兽争霸3:冰封王座(Warcraft III) 下载地址:
冒险岛 下载地址:
暴力机车(Jacked) 下载地址:
冲突:越南(Conflict:Vietnam) 下载地址:
三角洲特种部队:黑鹰坠落 下载地址:
百战天虫3D(Worms 3D) 下载地址:
世界摩托大奖赛2006(MotoGP2006) 下载地址:
雷神之锤4(Quake4) 下载地址:
领土战争:入侵纽约(TerraWars:New York Invasion) 下载地址:
猎杀潜航2 下载地址:
文明城市:罗马(CivCity:Rome) 下载地址:
红色警戒2尤里的复仇 下载地址:
大唐豪侠 下载地址:
重返狼穴3:悍马攻击(Humvee Assault) 下载地址:
极品醉车(Juiced) 下载地址:
英雄萨姆(Serious Sam) 下载地址:
奇迹MU 下载地址:
职业足球经理2006(Professional Manager 2006) 下载地址:
碧雪情天 下载地址:
帝国时代2(Age of Empires II) 下载地址:
彩虹骑士 下载地址:
科林麦考雷拉力4(Colin McRae Rally 4) 下载地址:
侠盗猎车:罪恶都市(Grand Theft Aut Vice City) 下载地址:
特洛伊战争(Battle for Troy) 下载地址:
重返狼穴2:血战太平洋(Deadly Dozen 2:Pacific Theater) 下载地址:
绵羊传奇(Sheep) 下载地址:
射鸡英雄传2(Chicken Shoot 2) 下载地址:
犯罪现场调查:谋杀的三维(CSI 3 Dimensions of Murder) 下载地址:
冬季运动专业版2006(Winter Challenge) 下载地址:
街头赛车联盟(SRS Street Racing Syndicate) 下载地址:
反恐精英(CS) 下载地址:
机器人历险记(Robots) 下载地址:
魔法飞球2 下载地址:
三角洲特种部队2 (Delta Force 2) 下载地址:
疯狂熊猫足球(Crazy of Kicker) 下载地址:
Game淘 下载地址:
侠盗猎魔(Manhunt) 下载地址:
霍伊尔纸牌游戏2007(Hoyle Card Games 2007) 下载地址:
猎人MM 下载地址:
半条命(Half-life) 下载地址:
欢乐奇兵 下载地址:
真封神 下载地址:
反恐精英(CS) 下载地址:
虚拟人生2 下载地址:
变异风暴(Mutant Storm) 下载地址:
将军娃娃 下载地址:
摩托英豪(Moto Racer) 下载地址:
街头篮球 下载地址:
极品摩托2(Moto GP II) 下载地址:
格兰匹治大赛4(Grand Prix 4) 下载地址:
FIFA 下载地址:
梅赛德斯奔驰卡车赛(Mercedes-Benz Truck Racing) 下载地址:
盟军敢死队 下载地址:
极品摩托(MOTO GP) 下载地址:
梦幻群侠传之龙在天涯 下载地址:
星际家园 下载地址:
极品飞车(Need For Speed) 下载地址:
玩具兵大战(Army Men:RTS) 下载地址:
救火先锋(Wildfire) 下载地址:
三国志9 下载地址:
命运II 下载地址:
合金弹头 下载地址:
星球大战:星际战士(Star Wars:Starfighter) 下载地址:
FIFA 下载地址:
桌球俱乐部(CueClub) 下载地址:
地球文明 下载地址:
哈利波特2:消失的密室(Harry Potter And The Chamber Of Secrets) 下载地址:
欧战之翼:冷战升温(Wings Over Europe - Cold War Gone Hot) 下载地址:
主题医院(Theme Hospital) 下载地址:
NBA Live 下载地址:
极品飞车(Need For Speed) 下载地址:
疯狂赛车 下载地址:
百战天虫4:伤害(Worms 4: Mayhem) 下载地址:
新倚天 下载地址:
龙人德里克传奇(Drake of the 99 Dragons) 下载地址:
盛大富翁 下载地址:
装载卡车竞赛2(Rig Racer 2) 下载地址:
多浪迪警官(Torrente) 下载地址:
美女卡丁车(Action Girlz Racing) 下载地址:
极品飞车(Need For Speed) 下载地址:
乱武天下 下载地址:
跑跑卡丁车 下载地址:
要塞(Stronghold) 下载地址:
三国群英传2 下载地址:
雷曼竞技场(Rayman M) 下载地址:
星际争霸(Starcraft) 下载地址:
足球经理(Football Manager) 2006 下载地址:
整蛊邻居(Neighbours From Hell) 下载地址:
极品飞车2(Need For Speed II) 下载地址:
上帝也疯狂3(Popvlovs:The Beginning) 下载地址:
汽车总动员(Cars-PLEX) 下载地址:
大富翁 下载地址:
IGS经典游戏大合集 下载地址:
雷神之锤2(QUAKE2) 下载地址:
格兰匹治传奇(Grand Prix Legends) 下载地址:
都市极限飚车(Urban Extreme) 下载地址:
圣斗士星矢 下载地址:
饿狼传说(Mark of the Wolves) 下载地址:
爱心宠物猫(Kitty Luv) 下载地址:
珍珠港 下载地址:
壮志凌云(Jets n Guns) 下载地址:
3D魂斗罗 下载地址:
抢滩登陆战 下载地址:
阿帕奇杀戮战场 下载地址:
雷电超激版(Ultra Assault) 下载地址:
生化危机2(Resident Evil 2) 下载地址:
星际狂人(Star Fury) 下载地址:
龙虎门Online 下载地址:
热血躲避球2 下载地址:
梦幻麻将馆 下载地址:
祖鲁宝石(Zulu Gems) 下载地址:
玩具军人3(Army Men 3) 下载地址:
三国战纪2代(群雄争霸) 下载地址:
山谷冒险(Out from Boneville) 下载地址:
中国游戏中心 下载地址:
MAME32K 下载地址:
边城英烈传(The Alamo) 下载地址:
墨西哥飞车帮(Mexican Motor Mafia) 下载地址:
游戏大亨(Game Tycoon) 下载地址:
警探派克(BeTrapped) 下载地址:
F16战斗机(F-16 Multirole Fighter) 下载地址:
百战天虫之泡泡虫(Worms Blast) 下载地址:
虚拟船长2(Virtual Skipper 2) 下载地址:
黄金岛 下载地址:
彩京1945 下载地址:
恋爱物语(Eberouge) 下载地址:
玩具军人2(Army Men 2) 下载地址:
疯狂水果机(Fruit Machine Mania) 下载地址:
梦幻战争 下载地址:
梦想网球比赛(Dream Match Tennis) 下载地址:
围棋助手 下载地址:
旋转城堡俄罗斯(Tower of the Ancients) 下载地址:
F22战斗机 下载地址:
平衡球(Ballance) 下载地址:
摩托车场地障碍赛(Trials Construction Yard) 下载地址:
飘羽失忆天使 下载地址:
超级坦克大战(Tank-O-Box) 下载地址:
拳皇(The King of Fighters) 下载地址:
肯尼海底大冒险(Scuba in Aruba) 下载地址:
孤单枪手+双资料篇(Alien Shooter+Fight For Life+The Experiment) 下载地址:
咻咻大作战 下载地址:
美女沙滩排球(Beach Volley Hot Sports) 下载地址:
M1坦克排2(M1 Tank Platoon II) 下载地址:
跳跳小狐狸(Foxy Jumper) 下载地址:
疯狂机器3之新实验(Crazy Machines-News out of the laboratory) 下载地址:
连锁反应汉化版(Chain Reaction) 下载地址:
肥猪运动会(Fette Sau) 下载地址:
飞龙武士(ExZeus) 下载地址:
遥控赛车(Revolt) 下载地址:
帝国时代(Age of Empires) 下载地址:
怪鸡西部枪手(Moorhuhn Wanted XXL) 下载地址:
黑暗史诗(Fate) 下载地址:
雨球魔法(Balloon Rain) 下载地址:
虎克船长(Captain Claw) 下载地址:
银河勇士(Protothea) 下载地址:
激光兔2(Jazz Jackrabbit 2) 下载地址:
卡通叛乱(Balls of Steel) 下载地址:
怪鸡飞碟入侵(Moorhuhn Invasion) 下载地址:
拳皇(The King of Fighters) 下载地址:
锤锤Online 下载地址:
反恐炸弹人 下载地址:
拳皇(The King of Fighters) 下载地址:
半条命横版过关(Codename Gordon) 下载地址:
三国战纪 下载地址:
QQ堂 下载地址:
爱心宠物狗(Puppy Luv:A New Breed) 下载地址:
爆弹小子2(Bomberic 2) 下载地址:
疯狂能量盘(Crazy Power Disc) 下载地址:
疯狂坦克2 下载地址:
云-中文版(Cloud) 下载地址:
豪血寺一族(Power Instinct)4 下载地址:
拳皇(The King of Fighters) 下载地址:
神佑擂台(Ehrgeiz) 下载地址:
饿狼传说2(Real Bout Fatal Fury 2 - The Newcomers) 下载地址:
太平洋英雄(WW2 Pacific Heroes) 下载地址:
疯狂机器(Crazy Machines) 下载地址:
超真实弹珠台(Super Pool) 下载地址:
疯狂机器2之新挑战(Crazy Machines New Challenges) 下载地址:
蛋蛋保卫战(Feelers) 下载地址:
街头网球(Street Status) 下载地址:
学徒电视秀(The Apprentice) 下载地址:
骑士飞行棋2(Don’t Get Angry 2) 下载地址:
超级特技赛车(Super Stunt Spectacular) 下载地址:
月华剑士2(The Last Blade 2) 下载地址:
死亡狩猎(Deadhunt) 下载地址:
突围奇兵2(Shock Troopers 2) 下载地址:
星际高尔夫(Golf Adventure Galaxy) 下载地址:
银河忍者(Fighting Layer) 下载地址:
立体街霸2(Street Fighter EX Plus 2) 下载地址:
恐龙猎人3(Turok 3:Shadow of Oblivion) 下载地址:
恐龙佣兵(Primal Rage) 下载地址:
弗朗肯博士(Dr Franken) 下载地址:
保龄球(Gutterball) 下载地址:
彩京打击者1945加强版(Strikers 1945 Plus) 下载地址:
冰河(Glacier Racing) 下载地址:
原始岛2(Prehistoric Isle 2) 下载地址:
武装飞鸟2(Gunbird 2) 下载地址:
拳皇(The King of Fighters) 下载地址:
007:黑日危机(007:The World Is Not Enough) 下载地址:
堕落天使(Daraku Tenshi) 下载地址:
阿克斯竞技场(Axis Arean) 下载地址:
马里奥聚会3(Mario Party 3) 下载地址:
满月无双剑 下载地址:
孤单枪手之英雄回归(Theseus return of the hero) 下载地址:
焦土战争(Scorched 3D) 下载地址:
海底指挥官(Ocean Commander) 下载地址:
国殇之血色狼烟 下载地址:
罪与罚 下载地址:
泡泡堂 下载地址:
合金弹头(METAL SLUG)X 下载地址:
潜艇小英雄(Sub Culture) 下载地址:
卡泼卫勒格斗2(Capoeira Fighter 2) 下载地址:
真人快打3(Mortal Kombat 3) 下载地址:
蒸汽旅(Steam Brigade) 下载地址:
仙剑奇侠传 下载地址:
魔域幽灵(Vampire Savior 2:The Lord of Vampire) 下载地址:
梦幻西餐厅2 下载地址:
魔法之争(Magic Match) 下载地址:
怪怪水族箱 下载地址:
龙珠Z(Dragon Ball Z) 下载地址:
火星任务-超固体射击(Mars Matrix:Hyper Solid Shooting) 下载地址:
国际板球2006(International Cricket Captain 2006) 下载地址:
玩具总动员2(Toy story 2) 下载地址:
神凰拳(Operation Ragnagard) 下载地址:
月华的剑士一代(The Last Blade) 下载地址:
无尽浩劫(After the End) 下载地址:
征战者(Gaia Crusaders) 下载地址:
魔法门之英雄无敌2(Heroes of Might and Magic 2) 下载地址:
格斗摔角(Wrestling Encore) 下载地址:
超级世界棒球(super world stadium)99 下载地址:
饿狼传说特别版(Real Bout Fatal Fury Special) 下载地址:
Re-Volt 下载地址:
Jam XM 下载地址:
魂之利刃(Soul Edge) 下载地址:
梦工厂-闪亮之星(Blazing Star) 下载地址:
神秘视线(Mystery Case Files - Huntsville) 下载地址:
甲虫轮盘(Scarabeus - Marbles of the Pharaoh) 下载地址:
星际弹球之失落的世界(Rebound Lost Worlds) 下载地址:
敏捷世界2(Urbagility 2) 下载地址:
决战时空要塞G(G-Darius) 下载地址:
复仇格斗兔(Lugaru) 下载地址:
美味餐厅(Delicious Deluxe) 下载地址:
自行飞翔车(Prop Cycle) 下载地址:
大家来找碴 下载地址:
魔法客栈(Mystic Inn) 下载地址:
疯狂火箭(Rocket Mania Deluxe) 下载地址:
NBA篮球_悬空瞬间(NBA Hangtime) 下载地址:
拳皇(The King of Fighters) 下载地址:
暗影之刃(Obscura-The Shadow Blade) 下载地址:
废弃星球(Trash) 下载地址:
龙之光辉(Dragon Blaze) 下载地址:
森林网球(Tennis Titans) 下载地址:
突击骑兵(Shock Troopers) 下载地址:
少年街霸(Street Fighter Alpha) 下载地址:
战斗翔鹰(Battle Bakraid) 下载地址:
地下捉鬼队(HollenJob) 下载地址:
超时空要塞(Macross Plus) 下载地址:
极限滑板(Cool Boarders Arcade Jam) 下载地址:
北极探索(Arctic Quest) 下载地址:
极限狂飚(Race Cars The Extreme Rally) 下载地址:
桌上模型车赛(Mini Desktop Racing) 下载地址:
山脊赛车(Road Rash 64) 下载地址:
这个方法的作用就是返回地图当前位置的对应图片。
方法要求传入四个参数:tollGate, mapPosNum, playerPos1, playerPos2,
分别对应地图当前位置的关卡代号(toll-gate),当前地图位置编号,玩家1的当前位置,玩家2的当前位置,然后对这四个参数进行一系列判断,最后返回一个字符图片,可能返回的值包括(@@,A,B,¤,★,■,〓,∷),这前面的三个是根据玩家1和玩家2的位置是否跟规定好的地图位置相吻合,如果1吻合,返回"A";
2吻合,返回"B";2者都吻合,返回"@@";如果到我执行该方法的时候,没有玩家达到这个位置,那我就根据游戏关卡是(1,2,3,4或者其他)来返回(¤,★,■,〓,∷)
画MAP类:
package s1java.xmal1;
public class Map {
int[] map=new int[100]; //0:普通
int[] luckyTurn={6,23,40,55,69,83}; //1:幸运轮盘
int[] landMine={5,13,17,33,38,50,64,80,94};//2:地雷
int[] pause={9,27,60,93}; //3:暂停
int[] timeTunnel={20,25,45,63,72,88,90}; //4:时空隧道
//给map[]写入各种符号
public void createMap(){
for(int i=0;iluckyTurn.length;i++){
map[luckyTurn[i]]=1;
}
for(int i=0;ilandMine.length;i++){
map[landMine[i]]=2;
}
for(int i=0;ipause.length;i++){
map[pause[i]]=3;
}
for(int i=0;itimeTunnel.length;i++){
map[timeTunnel[i]]=4;
}
}
public void showMap(int playerPos1,int playerPos2){
showLine1(0,31,playerPos1,playerPos2);
showRLine(31,35,playerPos1,playerPos2);
showLine2(35,66,playerPos1,playerPos2);
showLLine(66,69,playerPos1,playerPos2);
showLine1(69,100,playerPos1,playerPos2);
}
public void showLine1(int start,int end,int playerPos1,int playerPos2){
for(int i=start;iend;i++ ){
System.out.print(getGraph(map[i],i,playerPos1,playerPos2));
}
System.out.println();
}
public void showRLine(int start,int end,int playerPos1,int playerPos2){
for(int i=start;iend;i++){
for(int j=0;j73;j++){
System.out.print(" ");
}
System.out.println(getGraph(map[i],i,playerPos1,playerPos2));
}
}
public void showLine2(int start,int end,int playerPos1,int playerPos2){
for(int i=end-1;i=start;i--){
System.out.print(getGraph(map[i],i,playerPos1,playerPos2));
}
System.out.println();
}
public void showLLine(int start,int end,int playerPos1,int playerPos2){
for(int i=start;iend;i++){
System.out.println(getGraph(map[i],i,playerPos1,playerPos2));
}
}
public String getGraph(int i,int index,int playerPos1,int playerPos2){
String graph=" ";
if(index==playerPos1index==playerPos2){
graph="@@";
}else if(index==playerPos1){
graph="A";
}else if(index==playerPos2){
graph="B";
}else{
switch(i){
case 1:
graph="¤";
break;
case 2:
graph="★";
break;
case 3:
graph="■";
break;
case 4:
graph="〓";
break;
default:graph="⊙";
break;
}
}
return graph;
}
}
Game类:
package s1java.xmal1;
import java.util.Scanner;
public class Game {
Scanner input = new Scanner(System.in);
Map map;
int playerPos1;
int playerPos2;
String[] goAndStop=new String[2];
String[] playerName=new String[2];
public void init(){
map=new Map();
map.createMap();
map.showMap(0, 0);
goAndStop[0]="on";
goAndStop[1]="on";
}
public void setRole(int no,int role){
switch(role){
case 1:playerName[no-1]="比尔";break;
case 2:playerName[no-1]="奥巴马";break;
case 3:playerName[no-1]="普京";break;
case 4:playerName[no-1]="布朗";break;
}
}
public int throwShifter(int no){
int step=0;
System.out.println(playerName[no-1]+"按任意字母键回车:");
String answer=input.next();
step=(int)(Math.random()*10%6)+1;
return step;
}
public int getCurPos(int no,int position,int step){
position=position+step;
if(position99){
return 99;
}
switch(map.map[position]){
case 0://普通格
if(no==1playerPos2==position){//玩家1与玩家2相遇
playerPos2=0;
System.out.println(":-D 哈哈哈...踩到了!");
}else if(no==2playerPos1==position){
playerPos1=0;
System.out.println(":-D 哈哈哈...踩到了!");
}
break;
case 1://幸运轮盘
System.out.println("\n◆◇◆◇◆◇欢迎进入幸运轮盘◆◇◆◇◆◇");
System.out.println("请选择一种运气:");
System.out.println("1.交换位置2.轰炸对手");
int choice=input.nextInt();
int temp;
switch(choice){
case 1: //交换位置
if(no==1){
temp=position;
position=playerPos2;
playerPos2=temp;
}else if(no==2){
temp=position;
position=playerPos1;
playerPos1=temp;
}
break;
case 2: //轰炸对手
if(no==1){
if(playerPos26){
playerPos2=0;
}else{
playerPos2-=6;
}
}else if(no==2){
if(playerPos16){
playerPos1=0;
}else{
playerPos1-=6;
} }
break;
}
break;
case 2://地雷
position-=6;
System.out.println("踩到地雷,气死了。");
break;
case 3://暂停
goAndStop[no-1]="off";
System.out.println("~~_~~ 要停战一局了。");
break;
case 4://时空隧道
position+=10;
System.out.println("|-P 进入时空隧道真爽!");
break;
}
if(position0){
return 0;
}else if(position99){
return 99;
}else{
return position;
}
}
public void judge(){
if(playerPos1playerPos2){
System.out.println("玩家1"+playerName[0]+"最先到达终点,获得胜利。恭喜!恭喜!");
}else{
System.out.println("玩家2"+playerName[1]+"最先到达终点,获得胜利。恭喜!恭喜!");
}
}
public void play(){
System.out.println("\n\n\n\n");
System.out.println("\n※※※※※※※※※※※※※※※※※※※※※※※※※\n");
System.out.println(" Game Start \n");
System.out.println("※※※※※※※※※※※※※※※※※※※※※※※※※\n\n");
System.out.println("^_^"+playerName[0]+"的士兵: A");
System.out.println("^_^"+playerName[1]+"的士兵: B\n");
System.out.println("\n图例:"+"■暂停 ¤幸运轮盘 ★地雷 〓时空隧道 ⊙ 普通\n");
map.showMap(playerPos1, playerPos2);
int step;
while(playerPos199playerPos299){
if(goAndStop[0].equals("on")){
step= throwShifter(1);
System.out.println("\n-----------------------");
System.out.println("骰子数"+step);
playerPos1=getCurPos(1,playerPos1,step);
System.out.println("你"+playerName[0]+"当前的位置:"+playerPos1);
System.out.println("对手"+playerName[1]+"当前的位置:"+playerPos2);
System.out.println("\n-----------------------");
map.showMap(playerPos1, playerPos2);
if(playerPos1==99){
break;
}
}else{
System.out.println("\n"+playerName[0]+"停掷一次。\n");
goAndStop[0]="on";
}
System.out.println("\n\n\n\n");
if(goAndStop[1].equals("on")){
step= throwShifter(2);
System.out.println("\n-------------------------------");
System.out.println("骰子数"+step);
playerPos2=getCurPos(2,playerPos2,step);
System.out.println("你"+playerName[1]+"当前的位置:"+playerPos2);
System.out.println("对手"+playerName[0]+"当前的位置:"+playerPos1);
System.out.println("\n-------------------------------");
map.showMap(playerPos1, playerPos2);
if(playerPos2==99){
break;
}
}else{
System.out.println("\n"+playerName[1]+"停掷一次。\n");
goAndStop[1]="on";
}
System.out.println("\n\n\n\n");
}
System.out.println("\n\n\n\n");
System.out.println("\n************************************************\n");
System.out.println(" Game Over \n");
System.out.println("************************************************\n\n");
judge();
}
public void start(){
init();
System.out.println("\n※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※");
System.out.println("// //");
System.out.println("// //");
System.out.println("// 骑士飞行棋 //");
System.out.println("// //");
System.out.println("// //");
System.out.println("※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※");
System.out.println("~~~~~~~~~~~~~~~~~~~~~~~~~~两人对战~~~~~~~~~~~~~~~~~~~~~~~~");
System.out.println("请选择角色:1.比尔2.奥巴马3.普京4.布朗");
System.out.println("请玩家1选择角色:");
int role1=input.nextInt();
int role2;
do{
System.out.println("请玩家2选择角色:");
role2=input.nextInt();
}while(role2==role1);
setRole(1,role1);
setRole(2,role2);
play();
}
}
主方法类:
package s1java.xmal1;
public class StartGame {
public static void main(String[] args) {
Game game=new Game();
game.start();
}
}