用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基础阶段也推荐大家使用。

打开工具后,让我们开始创建项目吧

需要配置一下 Project SDK,点一下new按钮,选中JDK

找到JDK的安装位置,OK就行,相当于设置一下JAVA_Home

下一步提示你,勾选代码模板,然后next

项目名称和项目地址

项目生成后,先创建包的结构

创建2个包,一个com.hao.view 放主方法类

一个com.hao.bean 放实体类

在bean包中,创建一个java类

超级玛丽类诞生了~

如果觉得,左侧包管理器字体不够大,可以在

File->Setting->Appearance & Behavior->Appearance

需要勾上 覆盖默认字体那项的 Override default font

这样下方的字体就可以设置了

改完后,包管理器字体看着舒服多了

至于代码编辑区域

File->Setting->Editor->Color&Font->Font

先点 save as 生成一个 黑色主题的 复制

这样 字体就可以改动了

我们开始Coding,最喜欢IDEA的内容提示功能,很方便

为了封装性,把 血滴 名称 和状态 定义成私有的

对私有属性,添加set 和 get 方法,选择后 右键鼠标,选择Generate

选择 Getter and Setter

使用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;
                }
            }
        }
    }

注意如果右侧有 error红字提醒,你一定要及时处理

把光标挪动到出错类前,IDEA会提示你 使用 Alt+Enter 导入当前包

ok,超级玛丽实体完工了,我们开始写主类

在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都不用按,程序员会越来越懒的

在工具栏,找到run标签, 点击里面的run “Main”功能

简单的小程序,也能找寻到游戏的快乐,不简单的编程工具,更能提升编程的效率,

希望大家能在开发的道路上走得更远,更踏实。

时间: 2024-11-08 18:11:56

用IDEA追忆一下童年的相关文章

除夕的烟花

车子西出乔坟,天色已暗了下来,鞭炮声阵阵起伏,远远烟花正渐次腾空. 此时正是除夕夜. 开车的是我父亲,我和儿子女儿坐在车上,从乡下回去城里.带着自己的儿子孙子们,这是老人家第一次,是对久别老人一种温暖的慰藉么? 孩子们也是第一次此时在回城,遥望远处的烟花,静静的看. 村道漫漫,乔坟在身后越来越远. 工作在异乡城市,回家的时光总是那么短暂.我的爷爷奶奶,两位八十多岁的老人,相守生活在长大的故乡. 岁月沧桑,昔时精铁一样的汉子,垂垂老矣:持家干练的妇人,早也是白发苍苍,只是那脚步依然生风.他们用生命

第一章 木板童年

大概是1995年吧,我那时候应该6岁,在农村里上幼儿园.那个所谓的上幼儿园其实就是在一个老妈子家由她带领我们些5.6岁的娃娃们读一些汉语拼音而已,甚至连最简单的数学都没有.每天7点钟,我便背着书包去老妈子那里上课.到了之后就和其他早到的同学一起坐在由几块砖和木板搭起来的课桌上,晃着腿摇荡着童年的时光.那时的我们并不觉得这样有什么危险和可怕,倒是那个教书的老妈子似乎很在意这个.每当端着碗从屋里出来的时候,如果看见我们在“荡秋千”,本来红润的脸迅速地就会转变为黑色,大声呵斥起来叫我们这些兔崽子们赶快

蓝的成长记——追逐DBA(4):追忆少年情愁,再探oracle安装(Linux下10g、11g)

***************************************声明*************************************** 个人在oracle路上的成长记录,其中以蓝自喻,分享成长中的情感.眼界与技术的变化与成长.敏感信息均以英文形式代替,不会泄露任何企业机密,纯为技术分享. 创作灵感源于对自己的自省和记录.若能对刚刚起步的库友起到些许的帮助或共鸣,欣慰不已. 欢迎拍砖,如有关技术细节表述有错误之处,请您留言或邮件([email protected])指明,

再见童年

小时候,我们没有ipad ,不懂 LV ,理解不了阿玛尼 .我们只会打纸包玩烟壳,打玻璃球,用小霸王打魂斗罗.那时候,男孩追女孩,一追就是好几年,比的是心,念的是情.这年头儿,男人追女人,几天抱得美人归,看的是钱,拼的是爹.以前我们春游烧烤,坐在一起谈天说地.现在各自埋头刷微博,聊微信 .生活里,貌似所有人都不再那么无可取代 .满口忙事业,赚大钱虚荣,利益,气场儿让爱情,友情,亲情都遗失了当初的那份美好与纯真 .小时候,我们吃一毛钱一支的冰棒,二毛五一瓶的汽水,一块钱十根的粘牙糖 .如果哪个小朋

童年梦想你都忘了吗?里面藏着满满的创业密码,还不快找找

文/张书乐 刊载于<株洲日报>2016年12月5日天台时评版 据媒体报道,日前在阿布扎比,一个真实版变形金刚正在拍卖,你只需花60万美元即可到手.同一天其实还有另一则报道,是关于新加坡国立大学研究人员研发出一款可在马路上行驶的自动驾驶踏板车. 这两个报道都有一个共同的标签--童年,让童年的奇葩梦想变成现实.比如那个真正由宝马3系汽车变形而来的机器人,是一个土耳其初创公司折腾出来的,而其初次登台亮相的阿布扎比展会的名字也特别有意思:大男孩玩具展. 可不是吗?这个变形金刚就是个玩具,能变形.可移动

JS魔法堂:追忆那些原始的选择器

一.前言                                                                                                    首先这里说的原始选择器是指除 querySelector . querySelectorAll 外的其他选择器.从前我只使用 getElementById 获取元素并没有觉得有什么问题,但随着参与项目的前端规模逐步扩大,踩的坑就越来越多,于是将踩过的和学习过的经验教训记录在这里,供以后好查阅

回忆童年的电子游戏 俄罗斯方块的Java代码

import java.awt.*; import java.awt.event.*; import javax.swing.*; public class Tetris extends JFrame { public Tetris() { TetrisPanel a = new TetrisPanel(); addKeyListener(a.listener); add(a); JMenuBar menu = new JMenuBar(); JMenu game = new JMenu("游戏

不要浪费时间追忆失去的东西

○ 我并不是一个坚强的人,但我知道在该坚强的时候坚强. ○ 世上唯一不能复制的是时间,唯一不能重演的是人生. ○ 我们不能做到青春活得不留遗憾,但要做到在青春里活得心安. ○ 这社会你改变不了就得适应,适应不了就得被淘汰!这叫适者生存! ○ 当你的才华还撑不起你的野心时,应该静下心去学习. ○ 你有那么好的年纪为什么不笑得更好看. ○ 世界上没有强大的敌人只有不够强大的自己. ○ 爱在爱开始的地方,梦在梦启程的时间. ○ 没在梦想面前放肆过 不足以谈青春. ○ 坚强不是心变硬,是泪在打转还能笑.

怎么留住童年的记忆?

[遗憾] 小时候比较喜欢住姥姥家的孩子,姥姥家堂屋后头有一大片院子里面紧促的种了十几颗枣树,那种晒干蒸花糕常用的枣子.当然熟的时候也生吃,或者煮着吃挺好吃的.后来陆续砍掉不少枣树.这不是重点,重点是小时候经常住姥姥家,姥姥家的老式堂屋和院子所有曾经流过脚印和记忆画面还没有用相机完整记录下来的时候,那个院子那个堂屋被舅盖的新房子给磨灭的一干二净.把我童年姥姥家的所有记忆都给盖的模糊了.这算是人生中一个较大的遗憾!!! :我是比较怀旧的人,比如小时候从家穿了个袜子去外地需要很长一段时间学习生活,如果