java学习2打架代码编写
在同一个包中的Player类
package work;
public class Player {
private String name;
private int hp;
private int attack;
public Player(String name,int hp,int attack){//构造函数,初始化值
this.name=name;
this.hp=hp;
this.attack=attack;
}
public void setName(String name) {//获取值
this.name=name;
}
public String getName(){
return name;
}
public void setHp(int hp){
this.hp=hp;
}
public int getHp(){
return hp;
}
public void setAttack(int attack){
this.attack=attack;
}
public int getAttack(){
return attack;
}/**
*
*攻击行为、
*player 为攻击对象
***/
public void hit(Player player){
//被打的对象(血量=血量-本人攻击力)
player.hp=player.hp-this.attack;
if(player.hp<0){
player.hp=0;
System.out.println(this.name+"攻击了"+player.name+"打出了"+attack+"点伤害."+player.name+"还剩下多沙"+player.hp+"血量");
}
}
}
在同一个包中另一个Game类
package work;
import java.util.Scanner;
/**
* @author 游戏
*
*/
public class Game {
Scanner sc=new Scanner(System.in);
// 从控制台接受数据并且封装成一个玩家对象
public Player enter(String player) {//封装玩家信息
System.out.println("输入"+player+"姓名");
String name=sc.next();
System.out.println("输入"+player+"血量");
int hp=sc.nextInt();
System.out.println("输入"+player+"攻击力");
int attack=sc.nextInt();
Player backPlayer=new Player(name, hp,attack);
return backPlayer;
}
public void start() {
//从封装好的函数中输入玩家的信息
Player player1=this.enter("玩家一");
Player player2=this.enter("玩家二");
boolean go=true;
while(go){
//玩家一打了玩家二
player1.hit(player2);
if(player2.getHp()<0){
System.out.println(player1.getName()+"ko了"+player2.getName()+"游戏结束!fighting!!!!!!!!!!");
break;
}
//玩家二打了玩家一
player2.hit(player1);
if(player1.getHp()<0){
System.out.println(player2.getName()+"ko了"+player1.getName()+"游戏结束!fighting!!!!!!!!!!");
go=false;
}
}
}
public static void main(String[] args) {
Game game=new Game();
game.start();
}
}
java学习2打架代码编写的更多相关文章
- 20145335郝昊 Java学习心得 密码学代码复写
20145335郝昊 Java学习心得 密码学代码复写 本学期我们学习了现代密码学这门课程,在上课的时候接触到了很多种类型的密码体制,对于一些典型很通用的密码体制有自己的学习和设计.不论是从密码体制还 ...
- java课设 五子棋代码编写(团队)
1. 团队课程设计博客链接 http://www.cnblogs.com/yzb123/p/7063424.html 2.个人责模块或任务说明 1.主函数编写,设置图形界面 2,设置功能按钮 3.使用 ...
- Java学习2——HelloWorld(编写第一个java程序)
编写 在自己的工作文件目录下(如上一篇中配置的classpath路径)创建HelloWorld.java文件,编写如下代码,并保存 public class HelloWorld { public s ...
- java学习(一)静态代码块 构造代码块 构造方法的执行顺序及注意问题
今天我总结了一下java中静态代码块 构造代码块 构造方法的执行顺序及其注意问题 首先要知道静态代码块是随着类的加载而加载,而构造代码块和构造方法都是随着对象的创建而加载 当时做了这么一个小案例(想必 ...
- Java学习笔记 -- 头代码
每次写Java程序都会忘记这个main代码怎么写,特意把他写下来,之后忘了还可以温故而知新. 程序猿们请千万不要鄙视我o(╯□╰)o public static void main(String[] ...
- Java学习之静态代码块
一.static(在方法区有一块固定的存储区域,由于优先于对象存在,所以可以被所有对象共享) 在定义方法的时候你写main方法的类加static, 写普通类的写方法的时候就不要加static 1.st ...
- Java学习---Java代码编写规范
编码规范 1 前言为确保系统源程序可读性,从而增强系统可维护性,java编程人员应具有基本类似的编程风格,兹制定下述Java编程规范,以规范系统Java部分编程.系统继承的其它资源中的源程序也应按此规 ...
- 20145329 《JAVA程序设计》课后习题代码编写总结
20145329<Java程序设计>课后习题学习总结 学习内容总结 package cc.openhome; public class Hello2 { public static voi ...
- 学习使用用Eclipse编写java程序
本文讲解了在Eclipse中完成一个HelloWorld程序的编写过程. 刚刚学习java的同学们可能用 记事本编写java源代码,在命令提示符中完成java程序的编译和运行过程.这样的方法对于学习j ...
随机推荐
- ABAP开发需要养成的习惯—处理规范,日期,sort,改结构
sELECT select之后不要急着处理,最多用下sort还有delete adjacent,不用sy-subrc判断之后loop操作,要注意处理逻辑. sort一个好处是为了后面read tabl ...
- webpack.prod.conf.js
// 引入依赖模块 var path = require('path') var utils = require('./utils') var webpack = require('webpack') ...
- go语言使用go-sciter创建桌面应用(三) 事件处理,函数与方法定义,go与tiscript之间相互调用
sciter处理脚本tiscript,用于处理UI交互中的一些逻辑,跟js很像,但又有点区别,对前端熟悉的人应该能很快上手. tiscrip脚本文档 https://sciter.com/develo ...
- JFinal Web开发学习(九)后台添加前台显示博客
效果: 发博客: 显示博客: 后台:使用hui-admin,文章编辑器是百度开源的ueditor 前台:使用layui前端框架 1.写控制器BlogController controller包中 pa ...
- 转::before和::after伪元素的用法
一.介绍 css3为了区分伪类和伪元素,伪元素采用双冒号写法. 常见伪类——:hover,:link,:active,:target,:not(),:focus. 常见伪元素——::first-let ...
- Gulp应用场景
转自:Gulp教程之:Gulp能做什么,前端装逼为何要用它 我们先说说 平时web开发遇到的一些场景 和 苦恼无奈的情况: JavaScript和CSS的版本问题 我们都知道 JavaScript ...
- Cannot switch on a value of type String for source level below 1.7. Only convertible int values or enum variables are permitted
在java中写switch代码时,参数用的是string,jdk用的是1.8,但是还是报错,说不支持1.7版本以下的,然后查找了项目中的一些文件,打开一个文件如下,发现是1.6的版本,好奇怪啊,按照e ...
- 手机端适配方案 媒体查询和flexbale
方法一 flexible 一.npm 包安装 lib-flexible 淘宝适配方案 px2rem px自动转rem npm install lib-flexible --save npm insta ...
- POJ 2449Remmarguts' Date 第K短路
Remmarguts' Date Time Limit: 4000MS Memory Limit: 65536K Total Submissions: 29625 Accepted: 8034 ...
- Python generator 的yield (enumerate)
生成杨辉三角 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 def triangles(max): L = [1,] while len(L) - 1 < ...