zoukankan      html  css  js  c++  java
  • 学习了这么久,我们来玩个小游戏吧!( 模拟 游戏的运行)

    在多个类中创建的, 方便大家看代码,我把代码全部放到一个里面 

    package com.maya.youxi;
    
    public class ZuoZhan {                         //建立父类
        protected String Name;
        protected int GongJiLi;
        protected int HP;
        
        public ZuoZhan(String a,int b,int c){
               this.Name  =a;
            this.GongJiLi =b;
               this.HP    =c;
        }
        
        public void GongJi(){
            
        }
        public void ShouShang(){
            
        }
        public void TaoPao(){
            
        }
        public void DiTaoPao(){
            
        }
    
    }
    
    
    
    
    public class ShiBing extends ZuoZhan {               //士兵类
        
        public ShiBing(String a, int b, int c) {
            super(a,b,c);
        }
        public void GongJi(){
            int x=(int)(Math.random()*1000);
            System.out.println("我方"+this.Name+"攻击敌方坦克,攻击力为"+this.GongJiLi+",敌方坦克剩余血量"+x);
            if(x<200)
            {
                this.DiTaoPao();
            }
        }
        public void ShouShang(){
                int y=(int)(Math.random()*100);
                if(y<this.GongJiLi+40)
                {
                    x+=40;
                }
                
            System.out.println("我方"+this.Name+"受到敌方坦克攻击,坦克攻击力为"+(this.GongJiLi+40)+"士兵受到"+x+"点伤害,剩余血量"+(this.HP-x));
            
            if((this.HP-x)<=20){
                this.TaoPao();
            }
            
        }
        public void TaoPao(){
            System.out.println("我方"+this.Name+"逃跑了");
        }
        public void DiTaoPao(){
            System.out.println("敌方坦克逃跑了");
        }
        
    }
    
    
    
    
    public class Tank extends ZuoZhan {                  //坦克类
    
        public Tank(String a, int b, int c) {
            super(a,b,c);
        }
        public void GongJi(){
            int x=(int)(Math.random()*1000);
            System.out.println("我方"+this.Name+"攻击敌方坦克,攻击力为"+this.GongJiLi+",敌方坦克剩余血量为"+x);
            if(x<300)
            {
                this.DiTaoPao();
            }
        }
        public void ShouShang(){
            int x=((int)(Math.random()*1000));
            if(x<this.GongJiLi)
            {
                x=x+100;
            }
            System.out.println("我方"+this.Name+"受到敌方坦克攻击,坦克攻击力为"+this.GongJiLi+",我方坦克受到"+x+"点伤害,剩余血量"+(this.HP-x));
            
            if(this.HP-x<200){
                this.TaoPao();
            }
        }
        public void TaoPao(){
            System.out.println("我方坦克逃跑了");
        }
        public void DiTaoPao(){
            System.out.println("敌方坦克逃跑了");
        }
    
    }
    
    
    
    public class CaoZong {                 //统一参数
        public void Dong(ZuoZhan z){
            z.GongJi();
            z.ShouShang();
    
        }
    
    }
    
    
    
    
    public class text {                  //测试
        public static void main (String[] args){
            CaoZong z=new CaoZong();
            ShiBing s=new ShiBing("士兵",10,100);
            Tank    t=new Tank("坦克", 100, 1000);
                  //z.Dong(s);
                   z.Dong(t);
            
        }
        
    }

      最后模拟的结果为

     

    因为数字为随机数,比如当x和this.HP-x的值少于某个值时,就会触发逃跑方法,高于某个值时,不会触发逃跑方法

  • 相关阅读:
    Oracle不同版本中序列的注意点
    SQLite – LIMIT子句
    LeetCode:219. Contains Duplicate II
    python返回值进行unpack
    Android编程权威指南第三版 第32章
    ThinkPHP使用soapclient调用webservice接口
    C++杂记
    关于Docker清理
    Leetcode 063 不同路径二
    第五章:详解广播机制
  • 原文地址:https://www.cnblogs.com/zhaotiancheng/p/6235045.html
Copyright © 2011-2022 走看看