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];
    }
}

效果展示:


相关文章
|
12天前
|
前端开发 JavaScript Java
基于Java+Springboot+Vue开发的服装商城管理系统
基于Java+Springboot+Vue开发的服装商城管理系统(前后端分离),这是一项为大学生课程设计作业而开发的项目。该系统旨在帮助大学生学习并掌握Java编程技能,同时锻炼他们的项目设计与开发能力。通过学习基于Java的服装商城管理系统项目,大学生可以在实践中学习和提升自己的能力,为以后的职业发展打下坚实基础。
34 2
基于Java+Springboot+Vue开发的服装商城管理系统
|
9天前
|
前端开发 JavaScript Java
基于Java+Springboot+Vue开发的大学竞赛报名管理系统
基于Java+Springboot+Vue开发的大学竞赛报名管理系统(前后端分离),这是一项为大学生课程设计作业而开发的项目。该系统旨在帮助大学生学习并掌握Java编程技能,同时锻炼他们的项目设计与开发能力。通过学习基于Java的大学竞赛报名管理系统项目,大学生可以在实践中学习和提升自己的能力,为以后的职业发展打下坚实基础。
24 3
基于Java+Springboot+Vue开发的大学竞赛报名管理系统
|
10天前
|
前端开发 JavaScript Java
基于Java+Springboot+Vue开发的蛋糕商城管理系统
基于Java+Springboot+Vue开发的蛋糕商城管理系统(前后端分离),这是一项为大学生课程设计作业而开发的项目。该系统旨在帮助大学生学习并掌握Java编程技能,同时锻炼他们的项目设计与开发能力。通过学习基于Java的蛋糕商城管理系统项目,大学生可以在实践中学习和提升自己的能力,为以后的职业发展打下坚实基础。
21 3
基于Java+Springboot+Vue开发的蛋糕商城管理系统
|
10天前
|
前端开发 JavaScript Java
基于Java+Springboot+Vue开发的美容预约管理系统
基于Java+Springboot+Vue开发的美容预约管理系统(前后端分离),这是一项为大学生课程设计作业而开发的项目。该系统旨在帮助大学生学习并掌握Java编程技能,同时锻炼他们的项目设计与开发能力。通过学习基于Java的美容预约管理系统项目,大学生可以在实践中学习和提升自己的能力,为以后的职业发展打下坚实基础。
22 3
基于Java+Springboot+Vue开发的美容预约管理系统
|
12天前
|
前端开发 JavaScript Java
基于Java+Springboot+Vue开发的房产销售管理系统
基于Java+Springboot+Vue开发的房产销售管理系统(前后端分离),这是一项为大学生课程设计作业而开发的项目。该系统旨在帮助大学生学习并掌握Java编程技能,同时锻炼他们的项目设计与开发能力。通过学习基于Java的房产销售管理系统项目,大学生可以在实践中学习和提升自己的能力,为以后的职业发展打下坚实基础。
25 3
基于Java+Springboot+Vue开发的房产销售管理系统
|
13天前
|
前端开发 JavaScript Java
基于Java+Springboot+Vue开发的反诈视频宣传系统
基于Java+Springboot+Vue开发的反诈视频宣传系统(前后端分离),这是一项为大学生课程设计作业而开发的项目。该系统旨在帮助大学生学习并掌握Java编程技能,同时锻炼他们的项目设计与开发能力。通过学习基于Java的反诈视频宣传管理系统项目,大学生可以在实践中学习和提升自己的能力,为以后的职业发展打下坚实基础。
41 4
基于Java+Springboot+Vue开发的反诈视频宣传系统
|
14天前
|
前端开发 JavaScript Java
基于Java+Springboot+Vue开发的健身房管理系统
基于Java+Springboot+Vue开发的健身房管理系统(前后端分离),这是一项为大学生课程设计作业而开发的项目。该系统旨在帮助大学生学习并掌握Java编程技能,同时锻炼他们的项目设计与开发能力。通过学习基于Java的健身房管理系统项目,大学生可以在实践中学习和提升自己的能力,为以后的职业发展打下坚实基础。
42 5
基于Java+Springboot+Vue开发的健身房管理系统
|
12天前
|
前端开发 JavaScript Java
基于Java+Springboot+Vue开发的医院门诊预约挂号系统
基于Java+Springboot+Vue开发的医院门诊预约挂号系统(前后端分离),这是一项为大学生课程设计作业而开发的项目。该系统旨在帮助大学生学习并掌握Java编程技能,同时锻炼他们的项目设计与开发能力。通过学习基于Java的门诊预约挂号管理系统项目,大学生可以在实践中学习和提升自己的能力,为以后的职业发展打下坚实基础。
34 2
基于Java+Springboot+Vue开发的医院门诊预约挂号系统
|
14天前
|
前端开发 JavaScript Java
基于Java+Springboot+Vue开发的家具管理系统
基于Java+Springboot+Vue开发的家具管理系统(前后端分离),这是一项为大学生课程设计作业而开发的项目。该系统旨在帮助大学生学习并掌握Java编程技能,同时锻炼他们的项目设计与开发能力。通过学习基于Java的家具管理系统项目,大学生可以在实践中学习和提升自己的能力,为以后的职业发展打下坚实基础。
32 2
基于Java+Springboot+Vue开发的家具管理系统
|
16天前
|
前端开发 JavaScript Java
基于Java+Springboot+Vue开发的酒店客房预订管理系统
基于Java+Springboot+Vue开发的酒店客房预订管理系统(前后端分离),这是一项为大学生课程设计作业而开发的项目。该系统旨在帮助大学生学习并掌握Java编程技能,同时锻炼他们的项目设计与开发能力。通过学习基于Java的酒店客房管理系统项目,大学生可以在实践中学习和提升自己的能力,为以后的职业发展打下坚实基础。
33 2
基于Java+Springboot+Vue开发的酒店客房预订管理系统
下一篇
无影云桌面