(一)、格斗制游戏
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]; } }
效果展示: