Java期末作业——王者荣耀的洛克王国版游戏

Posted 肥学

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java期末作业——王者荣耀的洛克王国版游戏相关的知识,希望对你有一定的参考价值。

👺导读

最近肥学在刷Java毕竟学业将至不得不为后面的道路考虑啊,做后端的不了解Java基础和学几个主流框架怎么也说不过去吧。然后我就试着写了我这个Java新手都能完成的王者荣耀洛克王国版模拟游戏暂时还没加上前端,等后面刷完框架在加。好了我们屁话不多说来看看吧

👺项目介绍

该项目使用MVC+DAO模式,这也是目前比较流行的模式吧。
MVC的意思是

字母表示含义
Mmodel,模型层,Javabean
Vview 视图层 ,servlet和jsp前端页面
Ccontroller 控制层

DAO 就是数据持久化层。
整个项目没有什么特点,它唯一的特点就是简单代码量较大附含视频特别适合新手练而且内容也涵盖了放射,正则表达式等一些技术。

每一个包里面又有很多的Java

👺功能介绍

特别强调介绍里面出现的人名绝无恶意,只是我个人在创作期间在《觉醒年代》中被他们深深吸引导致。

王者荣耀洛克王国版模拟游戏
1、系统需求:
用户方:
1、登录 输入用户名 密码 进行登录 
2、选择英雄进行游戏
包括: 英雄的类型、英雄的攻击值、攻击命中率
目前类型为:妲己和貂蝉
3、游戏开始后,英雄发起攻击,根据英雄的攻击值和命中率,计算分数
4、游戏结束后可将分数记录下来
5、可以查看以前的游戏分数 
管理员方:
1、登录 默认 用户名:admin 密码:123 ,后期从XML文件中读出
用户名密码输入三次错误,则退出游戏
2、新增玩家
3、修改玩家
4、删除玩家
5、查询玩家
6、查询游戏
7、分数统计
8、参数设置 
2、系统界面:

1、首页

~~~~~~~~~~~~~~~菜单界面~~~~~~~~~~~~~~~~~~

	   王者荣耀的洛克王国版

1.玩家登陆

2.管理员登录

3.退出

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
请输入您想选择模式前的数值:

2、选择“1、玩家登录”
******************************************************

玩 家 登 录

请输入用户名:
请输入密码:

******************************************************
如果用户名和密码输入正确(需要管理员添加玩家)
则出现界面如下:

恭喜登陆成功!

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
	  王者荣耀洛克王国版

1·开始游戏
2·查看成绩
0·返回上级
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
请选择:


2.1开始游戏
	您以选择成功!
	开始游戏!
	欢迎来到王者荣耀洛克王国版虚拟画面
	妲己:主法术攻击技能有三
	技能一:月刃   攻击值100
	技能二:魅惑   攻击值150
	技能三:狐之殇  攻击值300
	请输入您要使用的技能:
	1
	技能:月刃
	描述:对敌方造成法术伤害
	
	太棒了教对面做人!


	
	妲己:主法术攻击技能有三
	技能一:月刃   攻击值100
	技能二:魅惑   攻击值150
	技能三:狐之殇  攻击值300
	请输入您要使用的技能:
	2
	
	哎呀,打偏了我的我的!
	
	
	妲己:主法术攻击技能有三
	技能一:月刃   攻击值100
	技能二:魅惑   攻击值150
	技能三:狐之殇  攻击值300
	请输入您要使用的技能:
	3
	技能:狐之殇
	描述:对地方造成法术伤害+加减速效果
	
	成功超神!
	
	攻击结束鲁迅您的得分:400
	是否继续?(是或否)2.2查看成绩
游戏时间				        分数
2021-08-07 00:00:00.0		600
2021-08-08 07:56:37.0		450
2021-08-08 16:38:03.0		400
1、返 回 上 级
	2.3返回上级

 返回首页

3、选择“2、管理员登录”
******************************************************

管 理 员 登 录

请输入用户名:
请输入密码:

******************************************************
如果用户名和密码输入正确(默认都为admin)
则出现界面如下:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1·新增玩家
2·修改玩家
3·删除玩家
4·查询玩家
5·查询游戏英雄
6·分数统计
7·参数设置
0·返回上级
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
如果密码输错三次则退出游戏。系统关闭
3.1 新增玩家
新增玩家:
请输入玩家的登录名:(必须要有字母,且在系统中唯一)
请输入玩家的密码:(必须要有字母和数字,且最少不能少于6位)
请输入玩家的昵称:
请输入玩家的性别:(只可输入男或女)
请输入玩家的年龄:(只可输入正整数,且最大不可大于99)


新增玩家成功!
1、继续新增玩家
0、返 回 上 级

3.2 修改玩家
请选择要修改的玩家:
1、xx1	2、xx2	3、xx3	4、XX4
选“1”修改xx1
选择要修改的属性:
1、玩家的密码:(必须要有字母和数字,且最少不能少于6位)
2、玩家的昵称:
3、玩家的性别:(只可输入男或女)
4、玩家的年龄:(只可输入正整数,且最大不可大于1000、返回上级

3.3 删除玩家
请选择要删除的玩家:
1、xx1	2、xx2	3、xx3	4、XX4
选“1”删除xx1
全部删除后不可再删除

0、返回上级

3.4 查询玩家
	1·查询全部玩家
	2·根据登陆名查找
	0·回退
	loginname	 nickname	 sex	 age	
	周树人	    鲁迅	       男	18
	阿秀	       领导人	    男	20
	李大钊	    守常	       男	19123a	肥学	男	23


0、返 回 上 级
********************************************************************
3.5 查询游戏英雄
*******************************************************************************
英雄名:妲己
一技能:月刃  攻击力:100  命中率:90
二技能:魅惑  攻击力:150  命中率:80
三技能:狐之殇  攻击力:300  命中率:60
英雄名:貂蝉
一技能:独舞  攻击力:90  命中率:90
二技能:谗诱  攻击力:150  命中率:80
三技能:拜月  攻击力:200  命中率:80
3.6分数统计
玩家	     总分	  战力指数
	周树人   1450      ¤¤¤¤¤

3.7参数设置
	1·管理员的登陆名
	2·管理员密码
	3·管理员的最大登录次数
	
	以下仅作英雄详情展示
	英雄ID:1  英雄名:妲己
	技能一 伤害值:100: 命中率:90
	技能二 伤害值:150: 命中率:80
	技能三 伤害值:300: 命中率:60~~~
	英雄ID:2  英雄名:貂蝉
	技能一 伤害值:90: 命中率:90
	技能二 伤害值:150: 命中率:80
	技能三 伤害值:200: 命中率:80~~~
4、选择“0、退出”
系统提示“游戏结束。。。。。。”系统关闭

👺所建立的数据表

部分代码展示

public class AdminManager 
	/**
	 * 登录
	 * @throws SQLException 
	 */
	//
	DBUtil db=new DBUtil();
	SysManager sm=new SysManager();
	PlayerDao pd=new PlayerDao();
	GameDao gd=new GameDao();
	public boolean AdminOperate() throws SQLException 
		boolean b=false;
		for(int i=0;i<DataInit.login.getLogintime();i++) 
			Login login=Menu.getLoginUI();
			b=this.checkoutLogin(login);
			if(b) 
				System.out.println("恭喜登录成功!!!\\n\\n");
				//循环这个管理员界面使不按0推出就不会返回上一层
				boolean feixue=true;
				while(feixue) 
				int c=Menu.getAdminUI();
				
				feixue=this.adminOperate2(c);
				
				
			
			else 
				System.out.println("请重新登陆!");
				if(DataInit.login.getLogintime()-i>0) 
					System.out.println("还可以输入"+(DataInit.login.getLogintime()-i)+"次");
				
			
		
		return b;
	
//游戏过程
	public void play() throws SQLException 
		System.out.println("欢迎来到王者荣耀洛克王国版虚拟画面");
		int score=0;
		//选择英雄
		hero h=heros;
		for(int i=0;i<3;i++)
		score=this.selectSkill(h)+score;
		System.out.println("\\n");
		
		System.out.println("攻击结束"+player.get("nickname")+"您的得分:"+score);
		//保存游戏记录
		Game game=new Game();
		game.setPid(Integer.parseInt(player.get("id")));
		game.setScore(score);
		gd.insertGame(game);
	
	
	//技能展示
	public int selectSkill(hero h) 
		//生成随机数
		double ran=Math.random()*10;
		//展示每个英雄的技能
		h.display();
		System.out.println("请输入您要使用的技能:");
		int s=InputHelper.getInt();

		switch(s) 
		case 1:
			
			int pro1 =h.probability1/10;
			if(ran<=pro1) 
				h.skill1();
				System.out.println("\\n太棒了教对面做人!");
				return h.skill1;
			else 
				System.out.println("\\n哎呀,打偏了!");
			
			break;
		case 2:
			
			int pro2 =h.probability2/10;
			if(ran<=pro2) 
				h.skill2();
				System.out.println("\\n666");
				return h.skill2;
			
			else 
				System.out.println("\\n哎呀,打偏了我的我的!");
			
			break;
		case 3:
			int pro3 =h.probability3/10;
			if(ran<=pro3) 
				h.skill3();
				System.out.println("\\n成功超神!");
				return h.skill3;
			else 
				System.out.println("\\n大哥你技术不行呀!");
			
			break;
		default:
			System.out.println("请输入正确的技能!");
		
		
		return 0;
	
	
public class GameDao 
	DBUtil db=new DBUtil();
	//新增游戏即重新开始
	public int insertGame(Game game) throws SQLException 
		//now()自带函数获取档当前时间
		String sql="insert into wzry_game(pid,playtime,score) values(?,now(),?)";
		Object[] obj= game.getPid(),game.getScore();
		return db.upDate(sql, obj);
	
	//玩家查询自己的游戏记录
	public List<Map<String,String>> queryGameByPid(int id) throws SQLException
		String sql="select b.*,a.loginname from wzry_player a,wzry_game b where a.id=b.pid and pid=?";
		Object[] obj= id;
		List<Map<String,String>> list=db.query(sql, obj);
		return list;
	
	//查询
	public List<Map<String,String>> queryAllGame() throws SQLException
		String sql="select b.*,a.loginname from wzry_player a,wzry_game b where a.id=b.pid";
		List<Map<String,String>>list=db.query(sql, null);
		
		return list;
		
	
	//分数统计
	
	public List<Map<String,String>> queryGameScore() throws SQLException 
		String sql="select a.loginname as 玩家,sum(b.score) as 总分,case "
		            +" when sum(b.score)>=500 then '¤¤¤¤¤' "
				    +" when sum(b.score)>=400 and sum(b.score)<500 then '¤¤¤¤' else '¤¤¤' end 'lucky'"
		            +" from wzry_player as a inner join wzry_game as b o

以上是关于Java期末作业——王者荣耀的洛克王国版游戏的主要内容,如果未能解决你的问题,请参考以下文章

HTML5期末考核大作业 基于HTML+CSS+JavaScript仿王者荣耀首页 游戏网站开发 游戏官网设计与实现...

第二次作业:王者荣耀案例分析

第2次作业:王者荣耀案例分析

第二次作业:王者荣耀案例分析

第五周课后作业

第2次作业:软件案例分析之王者荣耀