JAVA小型三国杀的制作_1

news/2024/11/30 14:39:15/
import java.util.Scanner;






public class MainSGS {


/**
* @param args
*/
/*
* 主函数,程序的入口
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println("======欢迎来到炒鸡三国杀======");
System.out.println("===============================");
System.out.println("三国杀是一款以三国为题材的桌游\n炒鸡版三国杀是一款以JAVA开发的控制程序");
System.out.println("===============================");
System.out.println("----武将列表----");

// int lblnum=1;
// String lbName ="刘备";
// int lbBlood = 4;
// String lbKill ="仁德";
//
// int zynum=2;
// String zylName ="赵云";
// int zylBlood = 4;
// String zyKill ="龙胆";
//
// int ccnum=3;
// String cclName ="曹操";
// int cclBlood = 4;
// String ccKill ="奸雄";
//
// int xhdnum=4;
// String xhdlName ="夏侯惇";
// int xhdlBlood = 4;
// String xhdKill ="刚烈";
//
// int sqnum=5;
// String sqlName ="孙权";
// int sqlBlood = 4;
// String sqKill ="制衡";
//
// int zysnum=6;
// String zyName ="周瑜";
// int zyBlood = 4;
// String zy2Kill ="反间";
//
// System.out.println(lblnum+"."+lbName+"\t血量:"+lbBlood+"\t技能:"+lbKill);
// System.out.println(zynum+"."+zylName+"\t血量:"+zylBlood+"\t技能:"+zyKill);
// System.out.println(ccnum+"."+cclName+"\t血量:"+cclBlood+"\t技能:"+ccKill);
// System.out.println(xhdnum+"."+xhdlName+"\t血量:"+xhdlBlood+"\t技能:"+xhdKill);
// System.out.println(sqnum+"."+sqlName+"\t血量:"+sqlBlood+"\t技能:"+sqKill);
// System.out.println(zysnum+"."+zyName+"\t血量:"+zyBlood+"\t技能:"+zy2Kill);

// System.out.println("请输入要选择的武将名字");
// Scanner name = new Scanner(System.in);
// String names = name.next();
// if(names.equals(lbName) || names.equals(zylName) || names.equals(cclName) || names.equals(xhdlName) || names.equals(sqlName) || names.equals(zyName) )
// {
// System.out.println("你选择的武将为"+names);
// }
// else
// {
// System.out.println("没有此武将,错失机会");
// }
// System.out.println("请输入要选择的武将序列");
// Scanner num = new Scanner(System.in);
// int num1 = num.nextInt();
// if(num1==1)
// System.out.println("你选择了刘备进行游戏");
// else if(num1==2)
// System.out.println("你选择了赵云进行游戏");
// else if(num1==3)
// System.out.println("你选择了曹操进行游戏");
// else if(num1==4)
// System.out.println("你选择了夏侯惇进行游戏");
// else if(num1==5)
// System.out.println("你选择了孙权进行游戏");
// else if(num1==6)
// System.out.println("你选择了周瑜进行游戏");
// System.out.println("请输入对手的武将序列:");
// Scanner num2 = new Scanner(System.in);
// int num3 = num2.nextInt();
// switch(num3)
// {
// case 1:
// System.out.println("对手选择了刘备进行游戏");
// break;
// case 2:
// System.out.println("对手选择了赵云进行游戏");
// break;
// case 3:
// System.out.println("对手选择了曹操进行游戏");
// break;
// case 4:
// System.out.println("对手选择了夏侯惇进行游戏");
// break;
// case 5:
// System.out.println("对手选择了孙权进行游戏");
// break;
// case 6:
// System.out.println("对手选择了周瑜进行游戏");
// break;
// }

//卡牌初始化
// int cardCount = 104;
// for(int j = 0;j<cardCount;j++)
// {
// //使用数组初始化卡牌
// }
System.out.println("====================================");
System.out.println("发牌给:玩家");
System.out.println("");
// for(int s=1;s<=4;s++)
// {
// System.out.print("【卡牌"+s+"】\t");
// }
// System.out.println("");
// System.out.println("发牌给:对手");
// for(int s=1;s<=4;s++)
// {
// System.out.print("【卡牌"+s+"】\t");
// }
// int gs=1;
// do
// {
// gs++;
// System.out.print("【卡牌"+gs+"】\t");
// }
// while(gs<4);

//
// System.out.println("----曹冲来算数----\n请输入两个整数");
// Scanner scOne = new Scanner(System.in);
// int one = scOne.nextInt();
// Scanner scTwo = new Scanner(System.in);
// int two = scTwo.nextInt();
//
// System.out.println("曹冲计算加法:"+one+"+"+two+"="+(one+two));
// System.out.println("曹冲计算减法:"+one+"-"+two+"="+(one-two));
// System.out.println("曹冲计算乘法:"+one+"*"+two+"="+(one*two));
// System.out.println("曹冲计算除法:"+one+"÷"+two+"="+(Math.round(one*100/two)/100.0));
//
// int numMax = one>two?one:two;
// System.out.println(numMax+"较大");

int cardCount=104;
String[][] cardArray = new String[cardCount][2];
for(int v=0;v<cardCount;v++)
{
if(v<42)
{
if(v<21)
{
cardArray[v][0]="(黑桃)";
}
else
{
cardArray[v][0]="(梅花)";
}
cardArray[v][1]="杀";
}
else if(v<42*2)
{
cardArray[v][0]="(方块)";
cardArray[v][1]="闪";
}
else if(v<cardCount)
{
cardArray[v][0]="(红桃)";
cardArray[v][1]="桃";
}
}
武将通过二维码数组初始化
String[] [] wujiangArray = {{"刘备","4","仁德"},{"赵云","4","龙胆"},
{"曹操","4","奸雄"},{"夏侯惇","4","刚烈"},
{"孙权","4","制衡"},{"周瑜","3","反间"}};
便利数组,输出武将信息
for(int lo=0;lo<wujiangArray.length;lo++)
{
System.out.println((lo+1)+"."+wujiangArray[lo][0]+"\t血量:"+wujiangArray[lo][1]
+"\t技能:"+wujiangArray[lo][2]);
}
初始化武将姓名和血量
//我方
String playerName = "";
int playerBlood = 4;
//敌方
String diName = "";
int diBlood = 4;
选择角色
System.out.println("请输入我方武将序号:");
Scanner wujiangSc = new Scanner(System.in);
int wujiangScstring  = wujiangSc.nextInt();
System.out.println("你选择了武将:"+wujiangArray[wujiangScstring-1][0]);
//存储我方武将信息
playerName=wujiangArray[wujiangScstring-1][0];
if(wujiangScstring==6)
{
playerBlood=3;
}
System.out.println("初始血量为:"+playerBlood);
System.out.println("请输入敌方武将序号:");
Scanner wujiangSc1 = new Scanner(System.in);
int wujiangScstring1  = wujiangSc1.nextInt();
System.out.println("敌方武将为:"+wujiangArray[wujiangScstring1-1][0]);
//存储敌方武将信息
diName=wujiangArray[wujiangScstring1-1][0];
if(wujiangScstring1==6)
{
diBlood=3;
}
System.out.println("初始血量为:"+diBlood);


玩家发牌
// for(int q =1;q<=4;q++)
// {
// int ran = (int)(Math.random()*104);
// System.out.print("【卡牌"+q+"】:"+cardArray[ran][0]+cardArray[ran][1]+"\t");
// }
// int you =0;
// do
// {
// you++;
// System.out.print("【卡牌"+you+"】\t");
//
// }
// while(you<4);
// while(you<4)
// {
// you++;
// System.out.print("【卡牌"+you+"】\t");
// }

// for(int q =1;q<=4;q++)
// {
// int ran = (int)(Math.random()*104);
// System.out.print("【卡牌"+q+"】:"+cardArray[ran][0]+cardArray[ran][1]+"\t");
// }
System.out.println("发牌给:玩家");
String[] arrPlayerI = new String[20]; 
int playerNumI =0;
for(int j=1;j<=4;j++)
{
int ran = (int)(Math.random()*104);
arrPlayerI[playerNumI]= cardArray[ran][1];
System.out.print("【卡牌"+j+"】:"+cardArray[ran][0]+cardArray[ran][1]+"\t");
playerNumI++;
}
System.out.println("");
System.out.println("发牌给:对手");

String[] arrPlayer = new String[20]; 
int playerNum =0;
for(int j=1;j<=4;j++)
{
int ran = (int)(Math.random()*104);
arrPlayer[playerNum]= cardArray[ran][1];
System.out.print("【卡牌"+j+"】:"+cardArray[ran][0]+cardArray[ran][1]+"\t");
playerNum++;
}
System.out.println("");
boolean isOuts = true;
while(isOuts){

摸牌代码
for(int i=0;i<2;i++)
{
int ran = (int)(Math.random()*104);
arrPlayerI[playerNumI] = cardArray[ran][1];
playerNumI++;
}
System.out.println(playerName+"摸了两张手牌");
System.out.print(playerName+"的手牌有:");
for(int i = 0;i<playerNumI;i++)
{
System.out.print((i+1+"."+arrPlayerI[i]+"  "));
}
boolean isOut = true;
while(isOut)
{
System.out.println("请输入要出的牌序号(0为弃牌)");
Scanner scPlayer = new Scanner(System.in);
int numSelect = scPlayer.nextInt();
if(numSelect==0)
{
isOut=false;
break;
}
if(arrPlayerI[numSelect-1].equals("杀"))
{
//导致对手失血
diBlood--;
System.out.println(diName+"感觉头一晕,失去一滴血,还剩"+diBlood);
isOut=false;
}
else if (arrPlayerI[numSelect-1].equals("闪")) {
System.out.println("此卡牌不能主动出");
}
else if (arrPlayerI[numSelect-1].equals("桃")) {
System.out.println("血量满,此卡不能出");
}
}

if(diBlood==0)
{
System.out.println(diName+"举起降旗,"+playerName+"获胜");
break;
}
//敌方摸牌
for(int i=0;i<2;i++)
{
int ran = (int)(Math.random()*104);
arrPlayer[playerNum] = cardArray[ran][1];
playerNum++;
}
System.out.println(diName+"摸了两张手牌");
System.out.print(diName+"的手牌有:");
for(int i = 0;i<playerNum;i++)
{
System.out.print((i+1+"."+arrPlayer[i]+"  "));
}
System.out.println("");
for(int i = 0;i<arrPlayer.length;i++)
{
if(arrPlayer[i].equals("杀"))
{

// for(int s =0;s<arrPlayerI.length;s++)
// {
// if(arrPlayerI[s].equals("闪"))
// {
// System.out.println(playerName+"左右招架,使用一张闪");
// }
// else
// {
playerBlood--;
System.out.println(playerName+"感觉头一晕,失去一滴血,还剩"+playerBlood);
break;
// }
// }

}
}
if(diBlood>0 && playerBlood>0)
{
System.out.println("两人你来我往,难分上下");
}

if(playerBlood==0)
{
System.out.println(playerName+"举起降旗,"+diName+"获胜");
break;
}
}
}


}

http://www.ppmy.cn/news/543140.html

相关文章

iOS 三国杀 Ver.LOG

MOSAD hw1 代码概况 父类 父类属性/方法类型/返回类型描述countryString国家blood_valueNS整形血量energy_valueNS整形法力值attackNS整形攻击力nameString名字armedNS整形是否装备武器flexNS整形是否在闪避状态poisonNS整形是否中毒sheldNS整形是否施加钝化grandNS整形是否进…

三国杀ol服务器维修中,三国杀OL登录不了

2009-11-13 首次玩三国杀OL遇到些问题&#xff01;1. 1 人物头像左下有一个面具&#xff0c;点击之后就可以看你的身份了。 同样&#xff0c;在与你同时游戏的其他人头像旁边也有一个脸谱面具&#xff0c;除了主公以外(因为人家已经确定了嘛)&#xff0c;其他人的你点击之后都可…

计算机光驱无法启用,光驱提示:无法访问G:\函数不正确解决方法

今天&#xff0c;在用光驱将光盘上的内容复制到电脑中的时候&#xff0c;突然提示数据错误而无法复制&#xff0c;之后&#xff0c;光驱就再也打不开了&#xff0c;双击光驱盘符时总提示&#xff1a;无法访问G:\ 函数不正确。(如下图) 我用的是SONY的CD刻录机&#xff0c;老机子…

win7三国杀源码编译

最近突然特别迷三国杀&#xff0c;然而玩起来总是输多赢少&#xff0c;可能自己不是一个擅长玩儿游戏的人&#xff0c;自己以前玩儿dota&#xff0c;前一段时间玩儿wow&#xff0c;玩儿三国志&#xff0c;三国无双……算算自己玩儿的游戏还真不少&#xff0c;然而没有一个游戏自…

c 语言的三国杀代码大全,三国杀武将语言代码~

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 {3:1:1}这就是桃园吗 {3:2:1}什么 此地名叫麦城 {3:3:1}实在是 杀不动了 {3:4:1}将星陨落 天命难违 {3:5:1}这就是失败的滋味吗 {3:6:1}马超死 {3:7:1}亮 {3:8:1}父亲 大哥 仲谋 愧矣 {3:9:1}二十年后 又是一条好汉 {3:10:1}被看穿…

使用 Exact Audio Copy 抓取 CD 音轨保存为 FLAC 格式并填入元数据。

Exact Audio Copy 简称 EAC&#xff0c;用于将 CDDA&#xff08;Audio CD&#xff09;中的音轨保存到计算机中。 注意&#xff1a;直接在 Windows 资源管理器中复制唱片是无法获得数字音轨的。 下载地址&#xff1a;https://www.exactaudiocopy.de/en/index.php/resources/down…

三国杀online网页版服务器更新,[OL][公告]《三国杀ol》互通新版震撼来袭!

亲爱的三国杀Online玩家 我们将于7月21日11:00-12:00对全区服务器进行停机版本更新&#xff0c;届时玩家朋友们将不能正常登录大区进行游戏&#xff0c;请大家提前下线以免造成不必要的损失。如果在预定时间内无法完成更新内容&#xff0c;开机时间也将继续顺延。 本次全新互通…

SD/StableDiffusion模型,ai绘画部署教程,谷歌云端零成本部署,支持中文

目录 前言 准备前提 说明 开始搭建 1、第一步&#xff0c;下载ipynb脚本文件 2、第二步&#xff0c;上传一键脚本文件到谷歌云盘 3、选择该.ipynb文件--右键--打开方式--关联更多应用 4、输入框搜索Colaboratory找到该应用&#xff0c;安装 5、安装过程中&#xff0c;…