Java小小RPG游戏第六版(基于第五版优化)

java做RPG小游戏 题目 java课设,一个游戏中有多种角色(Character),例如:国王(King)、皇后(Queen)、骑士(Knight)、老怪(Troll)。 角色之间可能要发生战斗(fight),每场战斗都是一个角色与另一角色之间 的 一 对 一 战 斗 。 每 个 角 色 都 有 自 己 的 生 命 值 (hitPoint) 、 魔法值(magicPoint)、攻击力值(damage)和防御力值(defense)。每种角色都有一种武器进行攻击(fight);在程序运行中,可以动态修改角色的武器(setWeapo 阅读详情

功能一览:

实现自由打怪,自动打怪,自动升级,支持升级后的属性增加。

package com.game.huntervsmonster05;
 
 public class TestGme
 {
 	static int i;
 
 	public static void main(String[] args)
 	{/*
 	 * Hunter hunter = new Hunter(1); for (i = 1; i < 10; i++) { Monster monster
 	 * = new Monster(i); System.out.println(hunter.name + "VS" + monster.type);
 	 * hunter.fight(monster); System.out.println("战斗结束"); // monster.show();
 	 * hunter.show(); if (!hunter.isLive) { return; } }
 	 */
 		new Game().start(new Hunter(3));
 	}
 }
 
package com.game.huntervsmonster05;
 
 public class Monster
 {
 	String type;
 	int maxLife;
 	int actualLife;
 	boolean isLive;
 	int attack;
 	int defend;
 	int experience;
 	int nimble;
 
 	public Monster(int i)
 	{
 		switch (i)
 		{
 		case 1:
 		{
 			this.type = "小僵尸";
 			this.attack = 80;
 			this.defend = 20;
 			this.isLive = true;
 			this.maxLife = 200;
 			this.actualLife = maxLife;
 			this.experience = 100;
 			this.nimble = 5;
 		}
 			break;
 		case 2:
 		{
 			this.type = "大僵尸";
 			this.attack = 130;
 			this.defend = 50;
 			this.isLive = true;
 			this.maxLife = 500;
 			this.actualLife = maxLife;
 			this.experience = 200;
 			this.nimble = 10;
 		}
 			break;
 		case 3:
 		{
 			this.type = "僵尸老大";
 			this.attack = 200;
 			this.defend = 90;
 			this.isLive = true;
 			this.maxLife = 1000;
 			this.actualLife = maxLife;
 			this.experience = 300;
 			this.nimble = 13;
 		}
 			break;
 		case 4:
 		{
 			this.type = "小鬼";
 			this.attack = 210;
 			this.defend = 100;
 			this.isLive = true;
 			this.maxLife = 1200;
 			this.actualLife = maxLife;
 			this.experience = 320;
 			this.nimble = 20;
 		}
 			break;
 		case 5:
 		{
 			this.type = "老鬼";
 			this.attack = 350;
 			this.defend = 150;
 			this.isLive = true;
 			this.maxLife = 2000;
 			this.actualLife = maxLife;
 			this.experience = 400;
 			this.nimble = 25;
 		}
 			break;
 		case 6:
 		{
 			this.type = "火鬼王";
 			this.attack = 500;
 			this.defend = 200;
 			this.isLive = true;
 			this.maxLife = 5000;
 			this.actualLife = maxLife;
 			this.experience = 500;
 			this.nimble = 30;
 		}
 			break;
 		case 7:
 		{
 			this.type = "黑无常";
 			this.attack = 600;
 			this.defend = 250;
 			this.isLive = true;
 			this.maxLife = 8000;
 			this.actualLife = maxLife;
 			this.experience = 800;
 			this.nimble = 35;
 		}
 			break;
 		case 8:
 		{
 			this.type = "白无常";
 			this.attack = 600;
 			this.defend = 250;
 			this.isLive = true;
 			this.maxLife = 8000;
 			this.actualLife = maxLife;
 			this.experience = 800;
 			this.nimble = 40;
 		}
 			break;
 		case 9:
 		{
 			this.type = "阎王";
 			this.attack = 900;
 			this.defend = 300;
 			this.isLive = true;
 			this.maxLife = 10000;
 			this.actualLife = maxLife;
 			this.experience = 1000;
 			this.nimble = 50;
 		}
 			break;
 		}
 	}
 
 	public void fight(Hunter hunter)
 	{
 		if (!isLive)
 		{
 			return;
 		}
 		hunter.injured(this);
 	}
 
 	public void injured(Hunter hunter)
 	{
 		int randomNimble = 0;
 		randomNimble = randomNumber();
 		if (randomNimble >this.nimble)
 		{
 			if (hunter.attack >= this.defend)
 				this.actualLife = this.actualLife
 						- (hunter.attack - this.defend);
 		}
 		else
 			System.out.println(this.type + "躲避成功");
 		if (this.actualLife <= 0)
 		{
 			this.dead(hunter);
 			return;
 		}
 		this.show();
 		this.fight(hunter);
 	}
 
 	void dead(Hunter hunter)
 	{
 		this.isLive = false;
 		hunter.changeExperience(this);
 	}
 
 	int randomNumber()
 	{
 		int number = 0;
 		number = (int) (Math.random() * 100);
 		return number;
 	}
 
 	void show()
 	{
 		if (this.isLive)
 			System.out.println(this.type + "还有" + this.actualLife + "点血");
 		else
 			System.out.println(this.type + "被杀死了!");
 	}
 }
 

package com.game.huntervsmonster05;
 
 public class GameUtil
 {
 	public static int retrunRandom(int start, int end)
 	{
 		while (true)
 		{
 			int number = 0;
 			number = (int) (Math.random() * 10);
 			if (number >= start && number <= end)
 				return number;
 		}
 	}
 
 	public static int retrunBigRandom(int start, int end)
 	{
 		while (true)
 		{
 			int number = 0;
 			number = (int) (Math.random() * 100);
 			if (number >= start && number <=end)
 				return number;
 		}
 	}
 
 	public static int retrunLongRandom(int start, int end)
 	{
 		while (true)
 		{
 			int number = 0;
 			number = (int) (Math.random() * 100);
 			if (number >= start && number <=end)
 				return number;
 		}
 	}
 }
 

package com.game.huntervsmonster05;
 
 public class Game
 {
 	Monster m1;
 	Monster m2;
 	Monster m3;
 	Monster m4;
 	Monster m5;
 	Monster m6;
 	Monster m7;
 	Monster m8;
 	Monster m9;
 
 	public Game()
 	{
 		/*
 		 * Hunter hunter=new Hunter(1); Monster monster1=new Monster(1); Monster
 		 * monster2=new Monster(2); Monster monster3=new Monster(3); Monster
 		 * monster4=new Monster(4); Monster monster5=new Monster(5); Monster
 		 * monster6=new Monster(6); Monster monster7=new Monster(7); Monster
 		 * monster8=new Monster(8); Monster monster9=new Monster(9);
 		 */
 		m1 = new Monster(1);
 		m2 = new Monster(2);
 		m3 = new Monster(3);
 		m4 = new Monster(4);
 		m5 = new Monster(5);
 		m6 = new Monster(6);
 		m7 = new Monster(7);
 		m8 = new Monster(8);
 		m9 = new Monster(9);
 	}
 
 	void start(Hunter hunter)
 	{
 		while (m1.isLive || m2.isLive || m3.isLive || m4.isLive || m5.isLive
 				|| m6.isLive || m7.isLive || m8.isLive || m9.isLive)
 		{
 			if (hunter.isLive)
 			{
 				int number = GameUtil.retrunRandom(1, 9);
 				switch (number)
 				{
 				case 1:
 					hunter.fight(m1);
 					break;
 				case 2:
 					hunter.fight(m2);
 					break;
 				case 3:
 					hunter.fight(m3);
 					break;
 				case 4:
 					hunter.fight(m4);
 					break;
 				case 5:
 					hunter.fight(m5);
 					break;
 				case 6:
 					hunter.fight(m6);
 					break;
 				case 7:
 					hunter.fight(m7);
 					break;
 				case 8:
 					hunter.fight(m8);
 					break;
 				case 9:
 					hunter.fight(m9);
 					break;
 				}
 			}
 			else
 				break;
 		}
 		end(hunter);
 	}
 
 	void end(Hunter hunter)
 	{
 		if (hunter.isLive)
 		{
 			System.out.println(hunter.name + "宇内无敌!");
 		}
 		else
 			System.out.println("呜呼,天妒英才!");
 	}
 }
 

package com.game.huntervsmonster05;
 
 public class Hunter
 {
 	String name;
 	int maxLife;
 	int actualLife;
 	int level;
 	int attack;
 	int defend;
 	int experience;
 	String weapon;
 	boolean isLive;
 	int nimble;
 
 	public Hunter(int i)
 	{
 		switch (i)
 		{
 		case 1:
 		{
 			this.name = "李逍遥";
 			this.attack = 100;
 			this.defend = 40;
 			this.isLive = true;
 			this.maxLife = 200;
 			this.weapon = "无尘剑";
 			this.actualLife = maxLife;
 			this.experience = 0;
 			this.level = 1;
 			this.nimble = 90;
 		}
 			break;
 		case 2:
 		{
 			this.name = "景天";
 			this.attack = 500;
 			this.defend = 200;
 			this.isLive = true;
 			this.maxLife = 1000;
 			this.weapon = "魔剑";
 			this.actualLife = maxLife;
 			this.experience = 0;
 			this.level = 1;
 			this.nimble = 45;
 		}
 			break;
 		case 3:
 		{
 			this.name = "孙悟空";
 			this.attack = 1000;
 			this.defend = 400;
 			this.isLive = true;
 			this.maxLife = 3000;
 			this.weapon = "金箍棒";
 			this.actualLife = maxLife;
 			this.experience = 0;
 			this.level = 1;
 			this.nimble = 50;
 		}
 			break;
 		}
 	}
 
 	void fight(Monster monster)
 	{
 		if (!isLive)
 		{
 			return;
 		}
 		monster.injured(this);
 	}
 
 	void injured(Monster monster)
 	{
 		int randomNimble = 0;
 		randomNimble = randomNumber();
 		if (randomNimble >this.nimble)
 		{
 			if (monster.attack >= this.defend)
 				this.actualLife = this.actualLife
 						- (monster.attack - this.defend);
 		}
 		else
 			System.out.println(this.name + "躲避成功");
 		if (this.actualLife <= 0)
 		{
 			this.dead();
 			return;
 		}
 		this.show();
 		this.fight(monster);
 	}
 
 	void dead()
 	{
 		this.isLive = false;
 	}
 
 	void changeExperience(Monster moster)
 	{
 		this.experience += moster.experience;
 		while (this.experience >= (this.level * 200))
 		{
 			upgrade();
 		}
 	}
 
 	void upgrade()
 	{
 		this.level += 1;
 		this.attack *= 1.5;
 		this.defend *= 1.25;
 		this.actualLife = (int) (this.maxLife * 1.5);
 		this.maxLife *= 1.5;
 		this.nimble += 2;
 		System.out.println(this.name + ":" + this.level);
 	}
 
 	void show()
 	{
 		if (this.isLive)
 			System.out.println(this.name + "还有" + this.actualLife + "点血");
 		else
 		{
 			System.out.println(this.name + "壮烈牺牲了!");
 			return;
 		}
 	}
 
 	int randomNumber()
 	{
 		int number = 0;
 		number = (int) (Math.random() * 100);
 		return number;
 	}
 }
 


Java终端RPG游戏设计解析与团队实践:Legends_of_Valor 本文还有配套的精品资源,点击获取 简介:《传奇英雄:基于Java的终端RPG游戏与面向对象设计深度解析》详细阐述了Java语言在游戏开发中的应用,面向对象设计原则的重要性,以及设计模式和团队合作在构建复杂RPG游戏中的关键作用。本项目“Legends_of_Valor”作为教学案例,展示了如何通过Java实现游戏各方面的功能,并通过源码分析深入了解面向对象设计和设计模式的实... 阅读详情

相关推荐

使用Java Swing开发的2D RPG游戏体验

Java Swing 是 Java 语言的一个图形用户界面工具包。它提供了一套用于创建图形用户界面(GUI)的组件,例如按钮、文本框、树形控件、滑块等。Swing 的核心功能包括对事件的响应处理、布局管理以及支持各种组件的渲染。开发人员利用 Swing 能够构建跨平台、功能丰富的桌面应用程序。版本控制系统(Version Control System,VCS)是一种记录和管理源代码历史状态的系统,它可以帮助开发者跟踪项目历史上的每一次更改,方便团队协作开发和代码管理。

weixin_42497762的博客 976

纯java语言做rpg游戏_【纯JAVA语言做个RPG游戏】2.游戏界面及角色移动的基本实现...

继上次做的地图编辑器,我大致的做了一个4000X4000的游戏地图数组,不过只画了一部分,以后要加什么新东西继续编辑这个地图就行了,保存在了一个文件中.现在便可以继续下一步,做出游戏的大致界面了.现在的2D游戏界面常见的大致有两种形式:1.一种是地图在游戏窗体上固定,人在地图中走动(也就是人相对屏幕移动了);2.而另一种则是游戏人物位置固定,游戏的地图在移动,这样看起来也是人物移动了。前一种方式地...

weixin_34101577的博客 1827

JAVA写的单机版小型RPG游戏及源代码

JAVA写的单机版小型RPG游戏 代码加程序 这个游戏用NETBEANS编写 是用JAVA写的,界面惨不忍睹。仅供娱乐和参考。 请多多指教。 包括一个地图生成器和怪物生成器 直接打开此目录里的DEMO.jar即可开始游戏。 请勿使用Mapcreate.jar 或 怪物生成.jar 。 谢谢大家玩。

Java实现RPG游戏(mini版pokemon)

Java实现mini版RPG游戏总体概述英雄与NPC的创建图形化界面战斗过程结算界面最后代码连接 总体概述 游戏素材来源:游戏素材 java图形界面开发:Swing教程 RPG游戏人物移动等等:RPG 对战界面:回合制对战 这是本人在大二暑期做的课程设计,要求基于java实现一个RPG游戏,在此做一个记录,代码里许多实现也是参考网上许多大佬分享的例子(链接在上面贴出),再做出自己的修改,有许多不足的地方欢迎大家指出。 英雄与NPC的创建 先写一个抽象类,是所有角色的基类:包含基本的属性,名字,血量,蓝量,攻

weixin_44958275的博客 6364

Java写的RPG游戏开源源码实例.rar

Java写的RPG游戏开源源码实例,通过这个PRG游戏,你可学习到NPC的碰撞检测、人脸表情动画、人物移动坐标、线程进入阻塞状态、游戏装载、地图坐标设计、地图边界算法等技巧,本PRG游戏中E2字体放置14个,手机模拟器用18个为满。

java写的RPG小游戏

用java写的窗体RPG小游戏,纯手工可运行

java单机RPG_RPG游戏(JAVA)

一、实验内容1.功能描述几乎所有的RPG游戏(一种源自《龙与地下城》的游戏类型)在进入游戏时都会让用户自己来创建自己喜欢的角色。本次上机要求编写一个简化的创建游戏角色的程序。2.游戏角色应有的属性本题目要求的游戏角色应有以下属性:名字、性别、种族、职业、力量、敏捷、体力、智力、智慧、生命值和魔法值。名字:不超过50个字符。性别:可以选择男性和女性。种族:一共可选五个种族,人类、精灵、兽人、矮人和元...

weixin_39658759的博客 1185

java 课程设计大作业 写的一个RPG游戏(代码+文档)

java 课程设计大作业 写的一个RPG游戏(代码+文档) java 课程设计大作业 写的一个RPG游戏(代码+文档)

用Java写一个小游戏

游戏开始图片 如下: 游戏胜利图片 如下: 游戏分析:        玩家控制键盘上下左右键,当数字按照从小到大依次排列的时候则玩家获胜 游戏功能: 1、在游戏的菜单栏中设置了游戏的重新开始案件 2、制作了一个作弊键 3、设置了游戏步数计数器 编写过程用到的小知识点 1、JFrame:是用来创建一个屏幕上的窗口 2、JMenuBar:是窗口上面的菜单栏 3、JMenu: 4、JMenuItem 5、JLabel 6、ImageIcon

技术积累,技术分享 1万+

JavaRPG游戏-地图编辑器

这是地图编辑器。用此编辑器做好的.map文件,可以让游戏主程序使用。

VSCode 1.85便携版安装与配置:解决远程服务器glibc版本过低报错的保姆级指南

本文详细介绍了如何通过VSCode 1.85便携版解决远程服务器glibc版本过低导致的兼容性问题。通过环境隔离和版本固化的方法,开发者可以在老旧服务器上稳定运行Remote-SSH插件,同时保留主力VSCode的配置。文章提供了从下载安装到深度配置的完整指南,帮助用户快速搭建稳定的开发环境。

weixin_30279315的博客 577

Java小小RPG游戏第五版(基于第四版优化)

package com.game.huntervsmonster04; public class Hunter { String name; int maxLife; int actualLife; int level; int attack; int defend; int experience; String weapon; boolean isLive; int nim

行思合一 801

VCS HVP与验证计划planner:数字IC验证环境搭建与收敛实践

在数字IC验证中,VCS 是广泛使用的编译型仿真器,HVP 通常指面向硬件验证平台的高性能编译选项集,用于开启 SystemVerilog 类、随机约束和 NTB 等能力;planner 则指验证计划管理,核心是把功能点与测试用例、覆盖点建立映射。理解 VCS 先编译后仿真的原理,有助于优化增量编译、调试访问和覆盖率采集,提升回归收敛效率。规划驱动让激励不再散落,设计改版时能快速定位受影响用例,交接和覆盖率收敛更有依据。无论是 UVM 环境搭建、编译参数选择,还是验证计划表维护,都需要把工具选项与规划方法结

weixin_42543046的博客 340

Java小小RPG游戏第四版(基于第三版优化)

package com.game.huntervsmonster03; public class Hunter { String name; int maxLife; int actualLife; int level; int attack; int defend; int experience; String weapon; boolean isLive; public

行思合一 895

基于EtherCAT的AM402与SV660N、IS620N伺服运动控制实战指南

本文详细介绍了基于EtherCAT总线的汇川AM402 PLC与SV660N、IS620N伺服驱动器构建运动控制系统的完整实战流程。内容涵盖硬件平台搭建、软件组态、关键参数设置、InoProShop编程及调试技巧,旨在帮助工程师快速掌握这一高精度、高响应的工业自动化解决方案。

weixin_29204205的博客 401

OTP/EEPROM 读取与处理

Camera OTP/EEPROM 读取与处理 文章目录Camera OTP/EEPROM 读取与处理1. OTP概念1.1 基本概念1.2 OTP存储类型1.3 OTP烧录信息类型1.4 OTP 作用2. 配置准备2.1 基本认识2.2 OTP/EEPROM配置3. OTP/EEPROM datasheet理解 以及 读取方式3.1 data sheet 内容3.2 一般OTP/EEPROM(e...

Understand-image 1万+

Java小小RPG游戏第二版 (基于第一版优化)

英雄打怪物,源码如下package com.game.huntervsmonster01; public class Hunter { String name; int life; boolean isLive; String weapon; int attack; int defend; public Hunter(int i) { switch (i) { ca

行思合一 770

低成本实现webhook接收端[python]

Webook本质上也是API,只不过是反向调用,即前端不主动发送请求,完全由后端推送。简单来说,Webhook是一个接受HTTP POST或是GET,PUT,DELETE的URL,一个实现了Webhook的API提供商就是在当事件发生的时候会向配置的URL发送信息,与请求-响应式不同,使用Webhook可以实时接收到变化。Ps:Webhook可能会发出大量的请求,确保接受的URL不被泄露或者应用能及时处理这些请求。

锡城小凯的博客 1万+

Java小小RPG游戏第三版(基于第二版优化)

package com.game.huntervsmonster02; public class Hunter { String name; int life; boolean isLive; String weapon; int attack; int defend; public Hunter(int i) { switch (i) { case 1: {

行思合一 615

工业缺陷检测:基于深度学习的表面缺陷分类

工业缺陷检测:基于深度学习的表面缺陷分类 ,人工智能,计算机视觉,大模型,AI,在现代工业生产中,产品质量直接影响企业的竞争力和声誉,工业缺陷检测作为质量把控的重要环节,其技术的发展至关重要。传统的人工检测方式效率低、成本高且易受主观因素影响,难以满足大规模、高精度的生产需求。随着深度学习技术的蓬勃发展,基于深度学习的工业表面缺陷分类方法凭借强大的特征提取和模式识别能力,成为解决工业缺陷检测难题的有效途径。本文将深入探讨基于深度学习的工业表面缺陷分类技术,结合详细的代码示例和概念解析。

不踩坑,不知道坑有多深;不总结,踩过的坑白踩。 3万+

嵌入式通信协议框架的四层架构设计与实现

本文详细介绍一种模块化的嵌入式通信协议框架设计,采用四层架构:硬件抽象层统一管理数据收发与缓冲,隔离硬件差异;协议管理层通过特征识别自动路由多协议数据,支持动态扩展;协议处理层独立实现各协议解析/构建,确保校验安全与零拷贝效率;应用层采用表驱动模式处理业务逻辑,与协议细节解耦。 该架构已应用于工业控制等领域,具备强类型安全、高扩展性和平台无关性特点,显著提升复通信场景下的开发效率与系统可靠性。提供完整代码实现与设计要点分析,助力开发者构建高效通信栈。

Bit_Dong的博客 2464

Logrus 结构化日志库完全指南:从标准库兼容到 KubeSphere 依赖实践

Logrus 是 Go 语言中最流行的结构化日志库之一,它提供与标准库 `log` 完全 API 兼容的接口,同时通过字段(Fields)、格式化器(Formatter)和钩子(Hook)机制让日志从"一行难以解析的文本"升级为"可被机器检索的键值对"。在 KubeSphere 仓库中,Logrus 作为间接依赖被 Docker、Containerd、Calico、Helm、ORAS 等多个第三方

gitblog_01076的博客 613

单片机设计具备断电记忆功能的计时器

本文介绍了如何设计一款具备断电记忆功能的计时器,利用单片机和EEPROM存储器实现了计时器值的保存和恢复。当然,在实际的设计中还需要考虑其他因素,如电源管理、时钟精度等,以确保计时器的正常运行和准确性。选择合适的单片机:在设计计时器时,我们需要选择一款具备存储功能的单片机,以便在断电后能够保存计时器的状态。可以优化显示方式,使用更加直观的界面来展示计时器的值;函数中,我们首先从 EEPROM 中读取计时器的初始值,然后在一个无限循环中每秒钟增加计时器的值,并将新的值写入 EEPROM 中。

RlDart的博客 1094

[源码和文档分享]基于JAVA实现的RPG解谜游戏东方梦黎明

1、课程设计内容概述 1.1 目的 《东方project》系列简称东方,是日本同人游戏社团上海爱丽丝幻乐团所制作的一系列同人游戏、相关作品以及其二次创作所构成的覆盖游戏、动画、漫画、音乐、文学等诸多方面的领域。系列中主要形式是飞机弹幕游戏,也有格斗游戏,本次我进行了新的尝试,设计...

348

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

关于利用入门JAVA制作简易RPG

目录 代码展示 课后总结与心得 代码展示 package GAME; import java.util.Scanner; public class Player { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.println("欢迎来到小型文字扮演游戏《假传奇》,我该如何称呼您?"); St.

xyz_980702的博客 2166

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

java制作纯字rpg小游戏_初学JAVA时编写的rpg文字游戏

【实例简介】学习JAVA第一次编写的命令行游戏,基本上把JAVA的基本知识都用了上去,所以代码是比较多的,初学JAVA,特别是准备做游戏的人可以拿来参考一下,人物系统,战斗系统,存档,地图切换,物品掉落,装备系统,任务,商店,还有酒吧内有各种小游戏,走过路过不要错过,网上很难找到的哦,O(∩_∩)O~【实例截图】【核心代码】萝莉的逆袭└── 《萝莉的逆袭》文字游戏(服务器修改版)└── 文字游戏├...

weixin_32301287的博客 2189

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

上一篇: 关于第六版到第十一版更新,及其功能说明
下一篇: Java多线程通信之----------男女混合双打
RMSI
博客等级 码龄14年 27粉丝 34原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值