拳皇这个游戏相信大家都不陌生吧,我也是刚学java,还不怎么会GUI和一些组件的使用,就写了一个文字版,什么叫文字版呢,就是我通过循环以及判断模拟出拳皇两名玩家对战的情况,通过简单的循环判断实现该程序,我们假定两个玩家的初始生命值为100,每一次的攻击是产生的5-15的随机数,我们可以假定攻击<10就判断为玩家进行一次普攻,攻击>10意味着玩家开大,我在每一次进行攻击或者时开始对战以及结果都插入了相应的音效,插入音效文件在java中不能使用.mp3后缀名的,需要将.mp3格式转化为默认的.wav格式,下一个格式工厂即可。把音频文件放在你的项目的sourse文件夹就可以了,复制粘贴。

File sound1 = new File("sounds/Iori Yagami.wav");    
        AudioClip sound_choose = Applet.newAudioClip(sound1.toURL());

sound_choose.play();   //开始播放音乐

sound_choose.stop();//停止播放音乐

这些在API帮助文档可以看到

源代码如下:

import java.applet.Applet;
import java.applet.AudioClip;
import java.io.File;
import java.net.MalformedURLException;
import java.util.*;public class EasyQuanHuangGame {public static void main(String[] args) throws MalformedURLException, InterruptedException {
// TODO 自动生成的方法存根Scanner input = new Scanner(System.in);int HP1 = 100;   //玩家1基础生命值int HP2 = 100;   //玩家2基础生命值int attack1 = 0;  //玩家1的初始攻击值int attack2 = 0;  //玩家2的初始攻击值/***********模拟选人**************/File sound1 = new File("sounds/Iori Yagami.wav");AudioClip sound_choose = Applet.newAudioClip(sound1.toURL());sound_choose.play();   //开始播放音乐System.out.println("请玩家1选择游戏角色");String game1 = input.next();String ComputerName = "草稚京";System.out.println("玩家1选择了"+game1+"!");System.out.println(game1+" VS "+ComputerName);sound_choose.stop();    //停止播放音乐Thread.sleep(1000);     //等待1秒在进行/***********模拟对战**************/System.out.println("游戏开始!");File sound5 = new File("sounds/round1 go.wav");sound_choose = Applet.newAudioClip(sound5.toURL());sound_choose.play();Thread.sleep(3000);sound_choose.stop();while(HP1>0&&HP2>0) {attack1 = (int)((Math.random()*10000)%11+5);   //每次玩家1攻击造成的伤害5-15attack2 = (int)((Math.random()*10000)%11+5);   //每次玩家2攻击造成的伤害5-15if(attack1<10&&attack2<10) {/***********玩家1先进行普攻**************/HP2-=attack1;System.out.println("玩家1进行普攻对玩家2造成伤害:"+attack1);File sound6 = new File("sounds/普攻1.wav");sound_choose = Applet.newAudioClip(sound6.toURL());sound_choose.play();Thread.sleep(1000);sound_choose.stop();System.out.println("玩家2血量值:"+HP2);if(HP2<0)    //避免极端情况比如两个玩家生命值很相近3,5.{break;}/***********玩家2进行普攻**************/HP1-=attack2;System.out.println("玩家2进行普攻对玩家1造成的伤害:"+attack2);File sound7 = new File("sounds/普攻1.wav");sound_choose = Applet.newAudioClip(sound7.toURL());sound_choose.play();Thread.sleep(1000);sound_choose.stop();System.out.println("玩家1血量值:"+HP1);if(HP1<0) {break;}}if(attack1>10&&attack2>10){/***********玩家1开大**************/HP2-=attack1;System.out.println(game1+" 大招 "+ComputerName);System.out.println("玩家1进行大招对玩家2造成的伤害:"+attack1);File sound8 = new File("sounds/八神庵大招.wav");sound_choose = Applet.newAudioClip(sound8.toURL());sound_choose.play();Thread.sleep(5000);sound_choose.stop();System.out.println("玩家2血量值:"+HP2);if(HP2<0)    //避免极端情况比如两个玩家生命值很相近3,5.{break;}/***********玩家2开大**************/HP1-=attack2;System.out.println(ComputerName+" 大招 "+game1);System.out.println("玩家2进行大招对玩家1造成的伤害:"+attack2);File sound9 = new File("sounds/草薙京大招.wav");sound_choose = Applet.newAudioClip(sound9.toURL());sound_choose.play();Thread.sleep(5000);sound_choose.stop();System.out.println("玩家1血量值:"+HP1);if(HP1<0) {break;}}if(attack1<10&&attack2>10){/***********玩家1普攻**************/HP2-=attack1;System.out.println("玩家1进行普攻对玩家2造成伤害:"+attack1);File sound6 = new File("sounds/普攻1.wav");sound_choose = Applet.newAudioClip(sound6.toURL());sound_choose.play();Thread.sleep(1000);sound_choose.stop();System.out.println("玩家2血量值:"+HP2);if(HP2<0)    //避免极端情况比如两个玩家生命值很相近3,5.{break;}/***********玩家2开大**************/HP1-=attack2;System.out.println(ComputerName+" 大招 "+game1);System.out.println("玩家2进行大招对玩家1造成的伤害:"+attack2);File sound9 = new File("sounds/草薙京大招.wav");sound_choose = Applet.newAudioClip(sound9.toURL());sound_choose.play();Thread.sleep(5000);sound_choose.stop();System.out.println("玩家1血量值:"+HP1);if(HP1<0) {break;}}if(attack1>10&&attack2<10){/***********玩家1开大**************/HP2-=attack1;System.out.println(game1+" 大招 "+ComputerName);System.out.println("玩家1进行大招对玩家2造成的伤害:"+attack1);File sound8 = new File("sounds/八神庵大招.wav");sound_choose = Applet.newAudioClip(sound8.toURL());sound_choose.play();Thread.sleep(5000);sound_choose.stop();System.out.println("玩家2血量值:"+HP2);if(HP2<0)    //避免极端情况比如两个玩家生命值很相近3,5.{break;}/***********玩家2进行普攻**************/HP1-=attack2;System.out.println("玩家2进行普攻对玩家1造成的伤害:"+attack2);File sound7 = new File("sounds/普攻1.wav");sound_choose = Applet.newAudioClip(sound7.toURL());sound_choose.play();Thread.sleep(1000);sound_choose.stop();System.out.println("玩家1血量值:"+HP1);if(HP1<0) {break;}}}/***********对战结果**************/if(HP2<=0) {File sound2 = new File("sounds/ko 草薙京.wav");sound_choose = Applet.newAudioClip(sound2.toURL());sound_choose.play();System.out.println(game1+" KO "+ComputerName);Thread.sleep(4000);sound_choose.stop();}else if(HP1<=0){File sound3 = new File("sounds/ko 八神庵.wav");sound_choose = Applet.newAudioClip(sound3.toURL());sound_choose.play();System.out.println(ComputerName+" KO "+game1);Thread.sleep(4000);sound_choose.stop();}else   //平局{File sound4 = new File("sounds/drawgame 平局.wav");sound_choose = Applet.newAudioClip(sound4.toURL());sound_choose.play();System.out.println(ComputerName+" 平局 "+game1);Thread.sleep(1000);sound_choose.stop();}System.out.println("双方剩余血量:");System.out.println(game1+": "+HP1+"\t"+ComputerName+": "+HP2);input.close();
}}

大概运行结果:

用循环模拟的简单文字拳皇对战相关推荐

  1. 模拟一个简单计算器_阅读模拟器的简单介绍

    模拟一个简单计算器 Read simulators are widely being used within the research community to create synthetic an ...

  2. halcon ocr 生成样本变体_Halcon简单文字识别OCR的使用

    重要:本文最后更新于2019-10-18 08:49:28,某些文章具有时效性,若有错误或已失效,请在下方留言或联系代码狗. 突然想起网上有很多打码挣钱的活动,于是灵光一闪,用C#搞个自动识别验证码的 ...

  3. python自学篇十[ 面向对象 (四) :王者荣耀小游戏+模拟一个简单的银行进行业务办理的类]

    python基础系列: python自学篇一[ Anaconda3安装 ] python自学篇二[ pycharm安装及使用 ] python自学篇三[ 判断语句if的使用 ] python自学篇四[ ...

  4. python编写赛车游戏单机版_使用Python中OrderedDict模拟一个简单的竞速游戏排名

    上一篇,我们梳理了Python中关于字典排序的一些常用方法(杂乱无章的数据结构如何进行排序,简明讲述Python字典排序那些事).其中,我们讲到了Python的collections模块中的Order ...

  5. YTU 2412: 帮警长数一数【循环、分支简单综合】

    2412: 帮警长数一数[循环.分支简单综合] 时间限制: 1 Sec  内存限制: 64 MB 提交: 323  解决: 169 题目描述 黑猫警长在犯罪现场发现了一些血迹,现已经委托检验机构确定了 ...

  6. JAVA的循环结构以及简单操作

    1.循环结构分为几种? 分为三种:for循环:while循环:do...while循环: 1.1for循环:适合次数比较固定的情况 for(初始化变量:条件语句:变量的变化) {   代码    } ...

  7. 《Linux指令从入门到精通》——4.2 Linux下的简单文字模式文本编辑器

    本节书摘来自异步社区<Linux指令从入门到精通>一书中的第4章,第4.2节,作者:宋磊 , 宋馥莉 , 雷文利著,更多章节内容可以访问云栖社区"异步社区"公众号查看 ...

  8. 操作系统课程设计--在Linux环境下模拟实现简单命令解释器(C++代码)

    操作系统课程设计要求 一.设计目的 熟悉Linux编程环境,加强对Linux命令的理解及函数的运用 二.设计内容 1. 在Linux环境下模拟实现简单命令解释器. (1)要求实现的基本命令包括: pw ...

  9. 用js模拟一个简单敏感词过滤器

    1.用js模拟一个简单敏感词过滤器 (用户输入的内容中的敏感词替换为*) 例:"今天有个傻子在旁边大喊大叫,影响了我的操作.", 过滤后:"今天有个在旁边大喊大叫,影响了 ...

最新文章

  1. Kylin修改默认hbase namespace命名空间default的解决方案
  2. 理想汽车交付失误 油门踩到底速度最高30迈,李想:是我们太蠢了
  3. 设计模式——建造者模式 1
  4. 【u008】瑞瑞的木棍
  5. Kubernetes 小白学习笔记(22)--kubernetes的运维-管理Namespace
  6. Android gdb 调试
  7. 怎样给家庭组计算机授权,steam如何设置家庭共享?steam设置家庭共享方法
  8. 谷歌地球-覆盖全球任何一个角落的地图软件
  9. Anaconda下载安装教程
  10. 批量将 Excel 中的某个工作表替换成另一个工作表
  11. 天刀 服务器状态,12月11日服务器例行维护公告(已完成)
  12. Python爬取58同城租房数据,破解字体加密
  13. 前缀、中缀、后缀表达式
  14. SpringBoot模块创建依赖报错:
  15. JAVA SE知识整合(暂时完结 五万七字)后续分点详解
  16. 洛谷 2887 USACO2007NOV 防晒霜Sunscreen 题解
  17. 天天基金数据接口及参考
  18. vue3 admin 后台管理项目小计
  19. 找软件开发开发手机APP需要注意什么?
  20. Deep Ordinal Regression Network for Monocular Depth Estimation 单目深度估计,论文阅读,DORN;视频笔记

热门文章

  1. 3D成像方法汇总(原理解析):双目视觉、激光三角、结构光、ToF、光场、全息...
  2. php文字转语音amr,如何将文字转成语音?这几个方法一分钟搞定!
  3. 博弈论一 [ 巴什博奕 ]
  4. java游戏 天剑传承,《天剑传承》之无双迷宫攻略
  5. OrderedDict()的用法
  6. nao机器人学习笔记3
  7. Transformer25
  8. 2.Bulldog渗透实战
  9. 2022年深圳市科技型中小微企业贷款贴息资助标准及申报条件,补贴100万
  10. XT.COM直播间第109期 | CDT XT.COM AMA 专场