这是去年闲暇时间写的一段代码,那时刚接触java,就想写一个小游戏玩玩,在网上搜索时,大部份人都说java不能写游戏,占内存什么的。不说了上代码

英雄人物类:

public class Person {private String name;private int HP;private int DC;private int AC;private int Grade=0;private int gn;private String otk;public int getGn() {return gn;}public void setGn(int gn) {this.gn = gn;}public int getGrade() {return Grade;}public void setGrade(int grade) {Grade = grade;}public Person(String name, int HP, int DC, int AC) {this.name = name;this.HP = HP;this.DC = DC;this.AC = AC;}@Overridepublic String toString() {return name+"血量:"+HP+",攻击:"+DC+",防御:"+AC+",终极技能:"+otk;}public String getName() {return name;}public void setName(String name) {this.name = name;}public int getHP() {return HP;}public void setHP(int HP) {this.HP = HP;}public int getDC() {return DC;}public void setDC(int DC) {this.DC = DC;}public int getAC() {return AC;}public void setAC(int AC) {this.AC = AC;}public String getOtk() {return otk;}public void setOtk(String otk) {this.otk = otk;}public Person(String name, int HP, int DC, int AC, String otk) {this.name = name;this.HP = HP;this.DC = DC;this.AC = AC;this.otk = otk;}public Person() {}
}

启动游戏类:


import java.util.Random;
import java.util.Scanner;public class s1 {//终极技能伤害//战士static int zs=50;//法师static int fs=80;//刺客static int ck=70;//随机0-99之间static int rand=100;//鱼人怪物static Person yr=new Person("鱼人",250,40,20,"");public static void main(String[] args) throws InterruptedException {String str1="欢迎进入异世界,世界之大需要你来开启你的旅程请选择职业:";for (int i = 0; i < str1.length(); i++) {Thread.sleep(100);System.out.print(str1.charAt(i));}System.out.println();System.out.println("1.战士,2.法师,3.刺客");//选人界面Person o=null;Scanner sc = new Scanner(System.in);String s = sc.nextLine();if(s.equals("1")){o = new Person("战士", 100, 30, 30, "狂怒");o.setGn(50);}if(s.equals("2")){o = new Person("法师", 100, 21, 30, "朔风");o.setGn(fs);}if(s.equals("3")){o = new Person("刺客", 100, 50, 10, "背刺");o.setGn(70);o.setGrade(1);}System.out.println(o);//打怪方法run1(o,yr);String str="进入主城回复hp";//血量>0过关否则游戏结束if(o.getHP()>0){System.out.println("恭喜过关");}else {System.out.println("游戏结束");return;}for (int i = 0; i < str.length(); i++) {Thread.sleep(300);System.out.print(str.charAt(i));}System.out.println();o.setHP(100);String str2="老者:拯救异世界的任务就交给你了,你从万千从中脱颖而出的英雄,人民百姓正在被魔龙窟的魔兽追杀,刚刚的鱼人就是魔龙窟的人," +"\r\n希望你能帮助我们拯救这里的百姓,现在你有点数加成点数越高战力越高";for (int i = 0; i < str2.length(); i++) {Thread.sleep(100);System.out.print(str2.charAt(i));}//技能加点System.out.println();//技能加点方法jia(o,10);//第二关System.out.println("魔龙窟在提格森林,异常危险。是否进入:1:是,2:否");int i = sc.nextInt();if(i==1){System.out.println("勇士交给你了。");}else {System.out.println("老者默默离开说道:看来是看错人了");System.out.println("游戏结束");return;}System.out.println("进入森林你发现森林中有两条路可以选,一条路路上湿漉漉,另外一条树木普遍高大请选择:1.湿漉漉,2:高树木");int x = sc.nextInt();//两种选择,遇见两种不同怪物if(x==1){System.out.println("路上很湿,杂草时不时有物穿过");String strm="糟了,遇上鱼人守卫,这可比刚刚的鱼人大太多了";for (int i1 = 0; i1 < strm.length(); i1++) {Thread.sleep(100);System.out.print(strm.charAt(i));}System.out.println();Person py1 = new Person("鱼人守卫", 400, 40, 10);run1(o,py1);}else if(x==2){System.out.println("高大的树之上蝙蝠众多,突然眼前一群蝙蝠飞过将你盖住,感觉身体被什么咬了一口。");System.out.println("血蝠挡在你面前准备应战");Person py1 = new Person("血蝠", 270, 60, 10);run1(o,py1);}}/*** 技能加点* @param p 人物* @param count 点数*/public static void jia(Person p,int count){//输入加点Scanner sc = new Scanner(System.in);while (true) {System.out.println("请选择要加的技能点数:1.血量,2.防御,3.攻击,4.终极技能。5.加一点命中率,总共点数:" + count);int c = sc.nextInt();if (c == 1) {System.out.println("血量加几个点数:");int i = sc.nextInt();if (i > count) {System.out.println("点数不够请重试");} else {p.setHP(p.getHP() + i);count = count - i;}}if (c == 2) {System.out.println("防御加几个点数:");int i = sc.nextInt();if (i > count) {System.out.println("点数不够请重试");} else {p.setAC(p.getAC() + i);count = count - i;}}if (c == 3) {System.out.println("攻击加几个点数:");int i = sc.nextInt();if (i > count) {System.out.println("点数不够请重试");} else {p.setDC(p.getDC() + i);count = count - i;}}if(c==4){System.out.println("终极技能加几个点数:");int i = sc.nextInt();if (i > count) {System.out.println("点数不够请重试");} else {p.setGn(p.getGn() + i);count = count - i;}}if(count==1){System.out.println("是否加1点命中率");if(c==5){int i = sc.nextInt();if(i==1){p.setGrade(p.getGrade()+1);}else {continue;}}}if (count == 0) {System.out.println("点数赋值完毕");System.out.println(p);return;}}}/**** @param p 人物* @param p1 怪物* @throws InterruptedException*/public static void run1(Person p,Person p1) throws InterruptedException {Scanner sc = new Scanner(System.in);String str = "遇上"+p1.getName()+"准备应战";for (int i = 0; i < str.length(); i++) {Thread.sleep(300);System.out.print(str.charAt(i));}System.out.println(p1);Random r = new Random();pk(p, p1, sc, r);return;}/**** @param p 人物* @param p1 怪物* @param sc 控制台录入* @param r 随机怪物攻击或躲避*/public static void pk(Person p, Person p1, Scanner sc, Random r) {int count=0;while (true) {System.out.println("发起进攻:1:进攻,2:闪躲,3:终极技能");int i1 = r.nextInt(rand)+1-p.getGrade() ;if(count>=5){System.out.println("终极技能准备就绪是否发动");}int i = sc.nextInt();if(i==3&&count>=5){System.out.println(p.getName()+"发起终极技能:"+p.getOtk());if(i1>=95){System.out.println(p1.getName()+"闪躲");count--;}else {p1.setHP(p1.getHP() + p1.getAC() - p.getGn());}System.out.println(p.getName()+"血量:"+p.getHP()+","+p1.getName()+"血量:"+p1.getHP());count=0;}else if(i==3&&count<5){System.out.println("终极技能未准备就绪");}if(i==1){count++;if(i1>90){System.out.println("鱼人闪躲");count--;}if(i1>=70&&i1<=90){System.out.println(p.getName()+"发起进攻,"+p1.getName()+"发起进攻");p.setHP(p.getHP()+p.getAC()-p1.getDC());p1.setHP(p1.getHP()+p1.getAC()-p.getDC());System.out.println(p.getName()+"血量:"+p.getHP()+","+p1.getName()+"血量:"+p1.getHP());}if(i1<=50){System.out.println(p.getName()+"发起进攻");p1.setHP(p1.getHP()+p1.getAC()-p.getDC());System.out.println(p.getName()+"血量:"+p.getHP()+","+p1.getName()+"血量:"+p1.getHP());}if(i1>50&&i1<70){System.out.println(p1.getName()+"发起进攻");p.setHP(p.getHP()+p.getAC()-p1.getDC());System.out.println(p.getName()+"血量:"+p.getHP()+","+p1.getName()+"血量:"+p1.getHP());}}if(i==2){if(i1>=70){System.out.println("闪躲失败");System.out.println(p1.getName()+"发起进攻");p.setHP(p.getHP()+p.getAC()-p1.getDC());System.out.println(p.getName()+"血量:"+p.getHP()+","+p1.getName()+"血量:"+p1.getHP());}else {System.out.println("闪躲成功");count++;}}if (p.getHP() < 1) {System.out.println("对战失败");return;}if (p1.getHP() < 1) {System.out.println("战斗胜利");return;}}}
}

我这游戏有个很有意思的点,就是怪物会随机在你发动进攻的时候躲闪,还有就是在你攻击时还可以还击你。

Java写的main方法小游戏相关推荐

  1. Java写的第一个小游戏(续)

    优化代码(数据维护): 注:此为小游戏最终版本 代码做到最优最简 基于之前发表的文章详情可见 点击查看前文 回顾之前的代码我们可以看到很多的固定常量值或是属性我们都会大量的重复使用,这并不符合我们代码 ...

  2. Java写一个黄金矿工小游戏

    写这个小游戏的初衷 同学一起互助学习 前两天和一个计科的高中同学交流想法,有讲到合理规划时间,然后用分出来的时间去网上找资源学一些项目,这不,就有了这个小游戏了 和同学交流的时候,对方说每周花一个小时 ...

  3. Java写的第一个小游戏

    实现思路 1.如何分析? 第一步:发现类(对象) 人物-小丑(敌方-友方) 子弹-帽子 墙体 爆炸物 第二步:发现属性 小丑: 宽高 , 位置(x y), 移动速度 帽子: 宽高 , 位置(x y), ...

  4. java人点灯问题_JAVA学习,写的一个点灯小游戏

    之前写的一个点灯小游戏,没什么技术含量. 截图: 代码: 类Start: import java.io.File; import java.io.IOException; import javax.i ...

  5. python的pygame库使用方法_python基础教程使用Python第三方库pygame写个贪吃蛇小游戏...

    今天看到几个关于pygame模块的博客和视频,感觉非常有趣,这里照猫画虎写了一个贪吃蛇小游戏,目前还有待完善,但是基本游戏功能已经实现,下面是代码: # 导入模块 import pygame impo ...

  6. 编程语言用 Java 开发一个打飞机小游戏(附完整源码)

    编程语言用 Java 开发一个打飞机小游戏(附完整源码) 上图 写在前面 技术源于分享,所以今天抽空把自己之前用java做过的小游戏整理贴出来给大家参考学习.java确实不适合写桌面应用,这里只是通过 ...

  7. 闲来无事,用java写了一个魔方小程序。附源码

    闲来无事,用java写了一个魔方小程序.附源码 使用三维数组.相对来说还是简单.呵呵. import java.util.ArrayList; import java.util.List; impor ...

  8. java实现魔方_闲来无事,用java写了一个魔方小程序。附源码 | 学步园

    闲来无事,用java写了一个魔方小程序.附源码 使用三维数组.相对来说还是简单.呵呵. import java.util.ArrayList; import java.util.List; impor ...

  9. 面向对象程序设计(Java)课程设计——五子棋小游戏

    目录 一.团队成员及任务 二.项目简介 三.功能设计图 四.运行结果截图 五.核心源码 六.课程设计感想与展望 一.团队成员及任务 队长:管俊杰  计科(智能)22-1 202203200037 负责 ...

最新文章

  1. 处理程序“ExtensionlessUrlHandler-Integrated-4.0”在其模块列表中有一个错误模块“ManagedPipelineHandler”...
  2. 访问chm文件出现“已取消到该网页的导航”的解决方法
  3. Android meta作用,Android中meta-data的使用
  4. iOS sha1加密算法
  5. Java中组合、继承与代理之间的关系。
  6. 高中学生计算机软件,中学生计算器
  7. Android近场通信---NFC基础(一)
  8. spark学习-37-Spark的SortShuffleManager
  9. Ajax无刷新实现省市联动,并在回发后保留省市下拉框状态
  10. Scikit-learn:聚类clustering
  11. Android 学习之补间(Tween)动画
  12. 设A为n阶非零矩阵,且A^2=A. r(A)=r (0<r<n) 求|5E+A|
  13. RPLIDAR在ROS下快速上手教程
  14. 计算机相关的俚语,现代俄语计算机俚语的构成方式.pdf
  15. Byond Compare软件
  16. 个人博客html页面,51个漂亮的个人博客和自媒体网站
  17. css 心形动画 爱心动画
  18. 在misc中涉及的二维码
  19. Unity3D资源管理架构
  20. 【新手提问导读】提问的艺术_提问的艺术

热门文章

  1. 【电子学会】2023年03月图形化二级 -- 电子画板
  2. 【Arduino】麦克纳姆轮原理及驱动程序
  3. 推荐!关于学习数据科学的10件事
  4. python学法用法 自动刷分_微信跳一跳python怎么刷分_微信跳一跳python使用教程
  5. 百度生成式AI产品文心一言邀请测试,五大场景、五大能力革新生产力工具
  6. Unity3D 人物头顶名称显示
  7. Unity 中保存或读取数组的方法
  8. 时空召唤今天服务器维护吗,时空召唤11月15日维护更新预告 全新地图全面开放...
  9. paddle 图标注_机械制图:尺寸标注中最容易忽略的两个细节
  10. 《整理的艺术》读后感