用IDEA追忆一下童年

用IDEA追忆一下童年

最近带学生学习J2SE中的面向对象那章,晚上备课出教学作业的时候,突然想让学生们做一个简单的游戏,学习编程语言最大的动力莫过于兴趣,把你的想法,通过程序实现出来,让别人能够体验的你思维的结晶,这是一件很酷的事情。
首先,先给学生们定义一个简单的需求,我们来做一个文字版的超级玛丽~
/****************************************************************/
1.定义超级玛丽类
属性:
血滴(默认3滴)
名称
状态(1 小状态 2.大状态 3.吐子弹)
方法:
撞砖块()
扣血()
升降级()
2.定义 主方法类
a。创建 一个超级玛丽英雄
b。在10次循环中,调用 撞砖块 方法
升级蘑菇(最多升级到吐子弹)
乌龟(如果不能吐子弹,降级,如果小状态 扣血)
食人花(降级)
扣血三滴,游戏结束
c.通过10循环操作,游戏胜利,迎娶公主,走上人生巅峰!
/****************************************************************/
为了开发更为简单,选用 IntelliJ IDEA Community Edition 工具,之前写Android程序的时候一直用ADT-Bundle 后来Google除了 Android Studio 开始用IntelliJ 样式的IDE,出人意料的舒服,所以在教Java基础阶段也推荐大家使用。
用IDEA追忆一下童年_第1张图片
打开工具后,让我们开始创建项目吧
用IDEA追忆一下童年_第2张图片
需要配置一下 Project SDK,点一下new按钮,选中JDK
用IDEA追忆一下童年_第3张图片
找到JDK的安装位置,OK就行,相当于设置一下JAVA_Home
用IDEA追忆一下童年_第4张图片
下一步提示你,勾选代码模板,然后next
用IDEA追忆一下童年_第5张图片
项目名称和项目地址
用IDEA追忆一下童年_第6张图片
项目生成后,先创建包的结构
用IDEA追忆一下童年_第7张图片
创建2个包,一个com.hao.view 放主方法类
一个com.hao.bean 放实体类
用IDEA追忆一下童年_第8张图片
在bean包中,创建一个java类
用IDEA追忆一下童年_第9张图片
超级玛丽类诞生了~
用IDEA追忆一下童年_第10张图片
如果觉得,左侧包管理器字体不够大,可以在
用IDEA追忆一下童年_第11张图片
File->Setting->Appearance & Behavior->Appearance
用IDEA追忆一下童年_第12张图片
用IDEA追忆一下童年_第13张图片
需要勾上 覆盖默认字体那项的 Override default font
这样下方的字体就可以设置了
用IDEA追忆一下童年_第14张图片
改完后,包管理器字体看着舒服多了
至于代码编辑区域
用IDEA追忆一下童年_第15张图片
File->Setting->Editor->Color&Font->Font
先点 save as 生成一个 黑色主题的 复制
这样 字体就可以改动了
用IDEA追忆一下童年_第16张图片
我们开始Coding,最喜欢IDEA的内容提示功能,很方便
为了封装性,把 血滴 名称 和状态 定义成私有的
用IDEA追忆一下童年_第17张图片
对私有属性,添加set 和 get 方法,选择后 右键鼠标,选择Generate
用IDEA追忆一下童年_第18张图片
选择 Getter and Setter
用IDEA追忆一下童年_第19张图片
使用Ctrl 点击 三个属性,都高亮,表示要添加其set 和 get 方法

    //血滴
    private   int  blood=3;
    //名称
    private   String name;
    //状态  1 小状态  2 大状态  3 吐子弹
    private  int status=1;

    public  int    getBlood() {
        return blood;
    }public void   setBlood(int blood) {
        this.blood = blood;
    }public String getName() {
        return name;
    }public void   setName(String name) {
        this.name = name;
    }public int    getStatus() {
        return status;
    }public void   setStatus(int status) {
        this.status = status;
    }

然后定义成员方法

    //撞砖块方法
    public  int  knockBrick()
    {
        //返回值
        int result=0;
        //创建了随机数对象
        Random  random=new Random();
        //nextInt 0->n-1
        int number=random.nextInt(100);

        if(number<=50)
        {
            //升级蘑菇
            result=1;
        }
        else if(number>50&&number<=70)
        {
            //乌龟
            result=2;
        }
        else
        {
            //食人花
            result=3;
        }
        return result;
    }```
    //然后是掉血方法
    public  int  dropBlood()
    {
        return  --blood;
    }
    //升降级别
    public  void   level(boolean flag)
    {
        if(flag) //升状态
        {
            if(status==3)
            {
                System.out.println("火力全开了,超神中。。");
            }
            else
            {
                status++;
            }
        }
        else  //降级
        {
            status--;
            if(status==0)
            {
                //调用掉血方法
                dropBlood();
                if(blood==0)
                {
                    System.out.println("扣一滴血");
                    System.out.println("Game Over");
                }
                else
                {
                    System.out.println("扣一滴血");
                    //如果还有血,则重生人物,状态设置为小状态
                    status=1;
                }
            }
        }
    }


用IDEA追忆一下童年_第20张图片
注意如果右侧有 error红字提醒,你一定要及时处理
用IDEA追忆一下童年_第21张图片

把光标挪动到出错类前,IDEA会提示你 使用 Alt+Enter 导入当前包
ok,超级玛丽实体完工了,我们开始写主类
用IDEA追忆一下童年_第22张图片
在com.hao.view包,修改Main类

 //姓名
    private static String name="提莫";
    //系统输入对象
    private static Scanner scan=new Scanner(System.in);

添加 默认玩家姓名
添加 系统输入对象,记得要import java.util.Scanner类
定义显示菜单方法~

   //入口
    public static void main(String[] args) {
        showMenu();
    }
 //显示菜单
    public  static void showMenu()
    {

        System.out.println("欢迎穿越到异世界");
        System.out.println("*********************");
        System.out.println("请英雄留名:");
        //获取控制台输入的String值
        name=scan.nextLine();

        //控制循环的条件
        boolean  flag=true;

        while (flag) {
            System.out.println("********************\n"
                    +"1===开始游戏\n"
                    +"2===游戏介绍\n"
                    +"3===投诉作者\n"
                    +"4===捐赠作者\n"
                    +"9===退出游戏\n"
                    +"********************");
            //获取用户输入的选择标号
            String choice=scan.nextLine();
            //对用户选择做分支
            switch (choice) {
                case "1": //开始游戏
                    startGame();
                    break;
                case "2": //介绍
                    System.out.println("作者不想说话,想你扔了一个升级蘑菇");
                    break;
                case "3"://投诉
                    System.out.println("此功能未开放,捐赠后开启");
                    break;
                case "4"://捐赠
                    System.out.println("充值998,全程升级蘑菇 ");
                    break;
                case "9"://退出
                    //把循环条件改为false
                    flag=false;
                    System.out.println("祝君一路顺风");
                    break;
                default:
                    System.out.println("命令无效,请重新输入");
                    break;
            }


        }
        //关闭输入
        scan.close();
    }

    //开始游戏
    public static void  startGame()
    {
        //创建一个超级玛丽对象
        SuperMario mario=new SuperMario();
        //赋值姓名 成员变量
        mario.setName(name);
        //循环玩游戏
        for (int i = 0; i < 10; i++) {
            System.out.println("***************\n"
                    +"1===撞砖块\n"
                    +"2===伤心了,不玩了\n"
                    +"***************");
            String choice =scan.nextLine();
            if(choice.equals("1"))
            {
                //调用撞砖块方法
                int result= mario.knockBrick();
                if(result==1) //蘑菇
                {
                    System.out.println("撞出升级蘑菇,Level Up!");
                    //调用升级方法
                    mario.level(true);
                }
                else if(result==2)  //乌龟
                {
                    System.out.println("撞出乌龟");
                    if(mario.getStatus()==3)
                    {
                        System.out.println("吐弹打掉乌龟");
                    }
                    else
                    {
                        System.out.println("乌龟碰瓷,降状态");
                        mario.level(false);
                    }
                }
                else
                {
                    System.out.println("撞出食人花");
                    System.out.println("食人花对你高喊:快到碗里来,降状态");
                    mario.level(false);
                }
                String stat="";
                switch (mario.getStatus()) {
                    case 1:
                        stat="童年状态";
                        break;
                    case 2:
                        stat="成年状态";
                        break;
                    case 3:
                        stat="赛亚人状态,能吐豆!";
                        break;
                }
                if(mario.getBlood()==0)
                {
                    break;
                }
                else
                {
                    System.out.println("当前关卡:"+(i+1)+"人物属性:"+mario.getName()+"\t"+mario.getBlood()+"滴血\t"+stat);
                }

            }
            else//不是1 都不玩了
            {
                System.out.println("本次游戏结束,再接再厉!");
                break;
            }

        }

        if(mario.getBlood()>0)
        {
            System.out.println("游戏胜利,迎娶公主,走上人生巅峰!");
        }

    }

ok ,写完后,愉快的测试一下 IDEA 连Ctrl+S都不用按,程序员会越来越懒的
用IDEA追忆一下童年_第23张图片
在工具栏,找到run标签, 点击里面的run “Main”功能

用IDEA追忆一下童年_第24张图片
用IDEA追忆一下童年_第25张图片
用IDEA追忆一下童年_第26张图片
用IDEA追忆一下童年_第27张图片

简单的小程序,也能找寻到游戏的快乐,不简单的编程工具,更能提升编程的效率,
希望大家能在开发的道路上走得更远,更踏实。

你可能感兴趣的:(Java)