用IDEA追忆一下童年
来源:互联网 发布:网上挂号预约软件 编辑:程序博客网 时间:2024/04/30 09:00
用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”功能
简单的小程序,也能找寻到游戏的快乐,不简单的编程工具,更能提升编程的效率,
希望大家能在开发的道路上走得更远,更踏实。
- 用IDEA追忆一下童年
- JetBrains使用技能分享征集大赛优秀作品——用IDEA追忆一下童年
- 追忆似水童年
- 追忆童年,用树莓派做个街机游戏机
- 追忆
- 追忆
- 追忆
- 追忆
- 追忆
- 童年
- 童年
- 童年
- 童年
- 童年
- 童年
- IDEA 常用快捷键(用关键字ctrl+F 搜一下搜一下)
- XP,且退且追忆;用户,且用且担心
- 五月追忆
- SpringMVC-Mybatis 个人总结
- 进程间通信(IPC)之共享内存
- Android中Bitmap, Drawable, Byte,ID之间的转化
- Hbase事例基本方法--60
- Nginx
- 用IDEA追忆一下童年
- Android 按钮事件两种经典写法
- 面向对象和面向过程
- C 语言的运算符表达式 if switch while
- BaseAdapter的用法
- Mac OS X 系统配置 Apache+MySql+PHP 详细教程
- oracle动态sql的简单使用
- iOS开发UINavigation——导航栏UINavigtionBar
- c语言 函数