48.【Java 格斗制游戏-画板-银行金额转换系统】

简介: 48.【Java 格斗制游戏-画板-银行金额转换系统】

(一)、格斗制游戏

1.游戏规则

回合制游戏是一种游戏打怪形式,所有游戏内玩家轮流自己的回合,只有轮到自己的回合,才能够进行操纵。早期战略由于硬件运算能力有限,在考量游戏乐趣与操作简易得情况下,多半采取这种型式。

2.基本思路:

本章节采用JAVA语言《面向对象》章节进行操作,首先我们要进行分析:

问题分析:我们要设置角色的姓名和血量,采用私有的方法进行设置。然后根据阿里巴巴JAVA手册的规定,我们分别要设置相应的无参构造函数、有参构造函数。私有变量的set()和get()进行赋值和返回操作.然后我们开始设置攻击函数。攻击函数attack,以及可以调用私有变量的对象。注意:谁调用方法就是谁是攻击者。形参是被攻击者。然后利用随机函数进行伤害划分。得到剩余血量,然后把剩余血量赋值给私有变量.

算法方程:随机函数、this内存规则

数字转换

类:

import java.util.Random;
public class Sort {
    private String name;    //姓名
    private double blood;   //血量
   public Sort(){}     //无参
    public Sort(String name,double blood){   //有参
       this.name=name;
       this.blood=blood;
    }
    public void setBlood(double blood) {   //设置血量
       this.blood=blood;
   }
   public double getBlood(){
       return blood;
   }
   public void setName(String name){     //设置姓名
       this.name=name;
   }
   public String getName(){
       return name;
   }
   //方法调用者攻击对方
    public void attack(Sort s){
       Random r=new Random();
       int boold1=r.nextInt(20)+1;     //1~20点伤害随机造成
        double remainBlood=(s.getBlood()-boold1);
        remainBlood=remainBlood<0?0:remainBlood;      //剩余血量判断
       System.out.println(this.getName()+"攻击了"+s.getName()+"一下,造成了"+boold1+"还剩下血量为:"+remainBlood);
        s.blood=remainBlood;
    }
}

主方法:

public class hello {
    public static void main(String []avgs)
    {
        Sort s1=new Sort("李明",100);  //创建第一个角色
        Sort s2=new Sort("李四",100);
        while(true)
        {
            s1.attack(s2);
            if(s2.getBlood()==0)
            {
                System.out.println(s1.getName()+"K*O"+s2.getName());
                break;
            }
            Sleep()
            s2.attack(s1);
            if(s1.getBlood()==0)
            {
                System.out.println(s2.getName()+"K*O"+s1.getName());
                break;
            }
        }
    }
}

3.视频效果

回合制游戏

(二)调用画板

1.框架类

什么是框架?就好比如说我们正常看到画家画画,它们都是背着一个大支架满地的跑来跑去,在我们java中,画家背的那个支架就是我们所需要的框架。

2.框架的定义格式:

所在的包

impo java.awt.*;

框架类的定义:

Frame f=new Frame();

设置窗体的宽度

f.setSize(800,800);//设置窗体的宽和高。

框架加入画板

panel myplane=new panel();  //创建画板对象
 f.add(myplane);    //把画板对象放入窗体

java 框架展示:

f.setVisible(true);    //是否可见?

3.画板类(Panel)

创建画笔g

public void paint(Graphics g)  //创建一个画笔 固定格式话

改变画笔颜色

Color c=new Color(255,0,120);
g.setColor(c);   //颜色类

设置矩形

g.fillRect(175,125,400,480);   //设置矩形

设置椭圆

g.fillOval(200,150,60,45);   //设置椭圆

设置字体款式

Font f=new Font("黑体",Font.BOLD,25);   //设置字体款式
        g.setFont(f);

写字

g.drawString("C++面向对象程序设计(第二版)",195,255);

4.代码展现:

主文件 (frame类)

import java.util.*;
import java.awt.*;
public class hello {
    public static void main(String[] avgs) {
    Frame f=new Frame("程序设计");
    f.setSize(800,800);//设置窗体的宽和高。
        panel myplane=new panel();  //创建画板对象
        f.add(myplane);    //把画板对象放入窗体
        f.setVisible(true);    //是否可见?
    }
}

类文件

import java.awt.*;
public class panel extends Panel {  //继承包中的类,创建画板
    public void paint(Graphics g)  //创建一个画笔 固定格式话
    {
       // g.drawLine(0,0,50,50);
        Color c=new Color(255,0,120);
        g.setColor(c);   //颜色类
        g.fillRect(175,125,400,480);   //设置矩形
        Color c1=new Color(0,0,120);
        g.setColor(c1);
        g.fillOval(200,150,60,45);   //设置椭圆
        Font f=new Font("黑体",Font.BOLD,25);   //设置字体款式
        g.setFont(f);
        g.setColor(Color.white);
        g.drawString("C++面向对象程序设计(第二版)",195,255);
        Font f1=new Font("黑体",Font.BOLD,15);   //设置字体款式
        g.setFont(f1);
        g.drawString("————————————————————————————",175,275);
        g.drawString("谭浩强   编著",400,285);
        g.drawString("中国高等院校计算机基础教育课程体系规划教材",195,210);  //写字
        Color c2=new Color(255,255,10);
        g.setColor(c2);
        g.drawString("全国高校出版社优秀畅销书一等奖",275,175);
        g.drawString("十一五",205,175);
        Color c3=new Color(0,0,0);
        g.setColor(c3);
        g.drawString("清华大学出版社",325,575);
        g.drawOval(225,340,300,175);  //椭圆框假
        g.drawOval(225,340,290,165);
        g.drawOval(225,340,280,155);
        g.drawOval(225,340,270,145);
        g.drawOval(225,340,260,135);
        g.drawOval(225,340,250,125);
        g.drawOval(225,340,240,115);
        g.drawOval(225,340,230,105);
        g.drawOval(225,340,220,95);
        g.drawOval(225,340,210,85);
        g.drawOval(225,340,200,75);
        g.drawOval(225,340,190,65);
        g.drawOval(225,340,180,55);
    }
}

5.效果展示:

Java 调用框架和画板

(三)、银行金额进行转换系统

1.基本思路:

首先我么要键盘输入一个整数,然后设置一个回调函数,这个回调函数的目的是为了,通过我们传过来的数字把它变成一个大写的语文符号,然后我们进行一系列的操作进行获取个位数的函数,得到个位数的函数然后进行反过来整一下,可以得到数字的正确排序 从而我们只剩下来一个单位系统。进行单位系统替换即可。

2.数字转换:

public static String capNumber(int money)//进行数字转换
    {
        String []arr=new String[]{"零","壹","贰","叁","肆","伍","陆","柒","捌","玖"};
        return arr[money];
    }

3.获取个位

public static String getNumber(int money)//获取个位
    {
        String s="";
        while(true)
        {
            int gw=money%10;
            s=capNumber(gw)+s;
               money=money/10;
               if(money==0)break;
        }
        return s;
    }

4.添加单位:

public static void addCompany(String s)
    {
        String []arr={"亿","千万","百万","十万","万","千","百","十","元"};
        int count=s.length();
        for(int i=0;i<s.length();i++){
            System.out.print(s.charAt(i));
            System.out.print(arr[9-count+i]);
        }
    }

5.主函数:

import java.sql.SQLOutput;
import java.util.*;
import java.awt.*;
public class hello {
    public static void main(String []avgs)
    {
        System.out.println("请输入您的金额:");
        Scanner sc=new Scanner(System.in);
        int money;
        while (true) {
            money=sc.nextInt();
            if(money<0&&money>999999999)
        {
            System.out.println("您输入的金额错误!重新输入!!!");
        }
        else{
            break;
        }
        }
        System.out.println(money);
        System.out.println(getNumber( money));
        addCompany(getNumber( money));
    }

6.代码展示:

import java.sql.SQLOutput;
import java.util.*;
import java.awt.*;
public class hello {
    public static void main(String []avgs)
    {
        System.out.println("请输入您的金额:");
        Scanner sc=new Scanner(System.in);
        int money;
        while (true) {
            money=sc.nextInt();
            if(money<0&&money>999999999)
        {
            System.out.println("您输入的金额错误!重新输入!!!");
        }
        else{
            break;
        }
        }
        System.out.println(money);
        System.out.println(getNumber( money));
        addCompany(getNumber( money));
    }
    public static void addCompany(String s)
    {
        String []arr={"亿","千万","百万","十万","万","千","百","十","元"};
        int count=s.length();
        for(int i=0;i<s.length();i++){
            System.out.print(s.charAt(i));
            System.out.print(arr[9-count+i]);
        }
    }
    public static String getNumber(int money)//获取个位
    {
        String s="";
        while(true)
        {
            int gw=money%10;
            s=capNumber(gw)+s;
               money=money/10;
               if(money==0)break;
        }
        return s;
    }
    public static String capNumber(int money)//进行数字转换
    {
        String []arr=new String[]{"零","壹","贰","叁","肆","伍","陆","柒","捌","玖"};
        return arr[money];
    }
}

效果展示:


相关文章
|
11小时前
|
JavaScript Java BI
Java毕设之新生报到系统的设计与实现
Java毕设之新生报到系统的设计与实现
16 3
|
11小时前
|
Java
排课系统【JSP+Servlet+JavaBean】(Java课设)
排课系统【JSP+Servlet+JavaBean】(Java课设)
15 5
|
11小时前
|
监控 前端开发 Java
Java公立医院绩效考核管理系统 医院绩效考核系统的优势有哪些? 
医院绩效管理系统解决方案紧扣新医改形势下医院绩效管理的要求,以“工作量为基础的考核方案”为核心思想,结合患者满意度、服务质量、技术难度、工作效率、医德医风等管理发展目标的考核体系,形成医院的内部绩效考核与分配机制,通过信息化手段为绩效考评管理人员实施医院绩效考评工作提供了有效工具,扩展了信息管理范围,增加了信息分析的广度与深度。这不仅使绩效评价工作更加科学化、规范化和自动化,而且从根本上改变了绩效评估工作方式,实现了绩效评价数据网络化采集,评价结果透明化管理,奖金分配数据自动化生成,极大地提高了绩效评估的全面性、准确性、时效性、公正性。从而推进医院绩效管理的专业化、规范化和精细化管理,充分发挥
13 0
|
11小时前
|
数据采集 前端开发 Java
Java医院绩效考核系统源码maven+Visual Studio Code一体化人力资源saas平台系统源码
医院绩效解决方案包括医院绩效管理(BSC)、综合奖金核算(RBRVS),涵盖从绩效方案的咨询与定制、数据采集、绩效考核及反馈、绩效奖金核算到科到组、分配到员工个人全流程绩效管理;将医院、科室、医护人员利益绑定;全面激活人才活力;兼顾质量和效益、长期与短期利益;助力医院降本增效,持续改善、优化收入、成本结构。
15 0
|
11小时前
|
存储 Java API
java对接IPFS系统-以nft.storage为列
java对接IPFS系统-以nft.storage为列
14 2
|
11小时前
|
监控 前端开发 Java
Java基于B/S医院绩效考核管理平台系统源码 医院智慧绩效管理系统源码
医院绩效考核系统是一个关键的管理工具,旨在评估和优化医院内部各部门、科室和员工的绩效。一个有效的绩效考核系统不仅能帮助医院实现其战略目标,还能提升医疗服务质量,增强患者满意度,并促进员工的专业成长
18 0
|
11小时前
|
Java 云计算
Java智能区域医院云HIS系统SaaS源码
云HIS提供标准化、信息化、可共享的医疗信息管理系统,实现医患事务管理和临床诊疗管理等标准医疗管理信息系统的功能。优化就医、管理流程,提升患者满意度、基层首诊率,通过信息共享、辅助诊疗等手段,提高基层医生的服务能力构建和谐的基层医患关系。
33 2
|
11小时前
|
前端开发 Java 关系型数据库
Java医院绩效考核系统源码B/S架构+springboot三级公立医院绩效考核系统源码 医院综合绩效核算系统源码
作为医院用综合绩效核算系统,系统需要和his系统进行对接,按照设定周期,从his系统获取医院科室和医生、护士、其他人员工作量,对没有录入信息化系统的工作量,绩效考核系统设有手工录入功能(可以批量导入),对获取的数据系统按照设定的公式进行汇算,且设置审核机制,可以退回修正,系统功能强大,完全模拟医院实际绩效核算过程,且每步核算都可以进行调整和参数设置,能适应医院多种绩效核算方式。
30 2
|
11小时前
|
JavaScript 小程序 Java
基于java的少儿编程网上报名系统
基于java的少儿编程网上报名系统
13 2
|
11小时前
|
JavaScript 小程序 Java
Java毕设之在线医疗服务系统的设计与实现
Java毕设之在线医疗服务系统的设计与实现
13 3