快速熟悉Java -- 《电玩游戏Java实战DIY》

《电玩游戏Java实战DIY》简介

第1版 (2009年3月1日); Ian Cinnamon,是一位年仅15岁的天才程序员,他现在已经有着7年的编程经验,并且获得Java和C++认证。他日前还是洛杉矶Harvard Westlake高中的高二学生。

快速熟悉Java

项目1 复示器:System.out.println
输 入 一 条 义 本 消 息 ,运 行 游 戏 程 序 后 ,计 算 机 重 复 输 出 该 文 本 内 容 。
 
项目2 猜猜密码:输入框JOptionPane.showInputDialog和字符串equals
通 过 程 序 让 计 算 机 自 动 检 验 猜 测 的 密 码 正 确 性 。 该 游 戏 需 要 两 个 玩 家 ,其 一 人 设 置 好 密 码 ,另 外 一 人 再 输 入 猜 测 的 密 码 。 计 算 机 判 断 第 二 个 人 猜 测 的 密 码 是 否 正 确 ,并 在 控 制 台 打 印 出 结 果 。
 
项目3 计算器:Math.round随机数和Thread.sleep
程 序 中 我 们 将 使 用 到 算 术 表 达 式 ,开 发 计 算 器 游 戏 。
玩 家 必 须 在 计 算 机 倒 计 时 3 秒 后 显 示 正 确 答 案 之 前 计 算 出 结 果 。你 能 够 打 败 计 算 机 吗 ? 那 就 来 试 试 吧 !
 
项目4 计算器游戏加强版:加上循环结构
本 项 目 中 ,我 们 来 对 项 目 3 屮 的 计 算 器 游 戏 进 行 完 善 。玩 家 可 以 选 择 是 否 继 续 玩 游 戏 ,或 者 通 过 增 加 游 戏 难 度 系 数 和 减 少 倒 计 时 吋 间 来 提 高 游 戏 的 难 度 。
 
项目5 解密:IO流File操作
本 项 目 是 项 目 2 中 猜 密 码 游 戏 的 改 进 版 本 。不 同 的 是 在 本 游 戏 中 玩 家 可 以 通 过 弹 出 的 文 本 输 人 对 话 框 自 己 设 置 密 码 ,而 不 是 在 程 序 内 部 直 接 设 置 好 密 码 。 而 且 ,已 经 设 置 的 密 码 可 以 永 久 保 存 ,因 为 游 戏 会 将 该 密 码 存 储 到 文 件 中 。

  public static void main(String[] args) throws Exception {

       String input;
       // 获 取 输 入 的 选 项 值
       input = JOptionPane.showInputDialog("l to set password,\n" +
               "2 to unlock the message");
       // 创 建 密 码 文 件
       File file = new File("password.psswrd");
       // 设 置 密 码
       if (input.equals("1")) {
           // 设 置 密 码
           // 获 取 输 人 的 新 密 码
           String p = JOptionPane.showInputDialog("Enter the password to set");
           // 创 建 一 个 文 件 输 出 流
           FileOutputStream outStream = new FileOutputStream(file);
           //将 格 式 化 对 象 打 印 到 一 个 文 本 输 出 流
           PrintWriter out = new PrintWriter(outStream);
           //将 重 设 的 密 码 写 入 password.psswrd
           out.println(p);
           //刷 新 流 ,关 闭 流
           out.flush();
           out.close();
           outStream.close();
       } else {
           //获 取 正 确 的 密 码
           FileReader fr = new FileReader(file);
           BufferedReader buffer = new BufferedReader(fr);
           //password 从 存 储 文 件 屮 读 取 密 码
           String password = buffer.readLine();
           //获 取 用 户 试 阁 破 解 的 密 码
           String userPass;
           userPass = JOptionPane.showInputDialog(" Enter your guess.. ");
           //判 断 输 人 的 密 码 正 确 性
           if (password.equals(userPass)) {
               //密码正确
               JOptionPane.showMessageDialog(null, "CORRECT! ! ! !");
           } else {
               //密码错误
               JOptionPane.showMessageDialog(null, "WRONG = (");
           }
       }
   }

 
项目6 游戏档案库:数组和循环结构
为 所 有 已 经 开 发 出 的 游 戏 创 建 一 个 档 案 库 。
 
项目7 虚拟游戏档案库的编辑:ArrayList
本 项 目 将 对 虚 拟 游 戏 档 案 库 进 行 扩 展 。在 上 一 个 项 目 屮 ,档 案 库 中 的 游 戏 名 称 是 直 接 写 入 程 序 中 的 ,现 在 我 们 通 过 程 序 让 用 户 自 己 加 入 游 戏 名 称 。
 
项目8 猜数字
 计 笕 机 先 自 动 从 0 到 100 间 生 成 一 个 随 机 数 ,然 后 玩 家 必 须 来 猜 这 个 随 机 数 是 多 少 。每 次 猜 后 ,计 算 机 进 行 提 示 ,猜 的 数 字 与 随 机 数 相 比 是 太 大 还 是 太 小 。
 开 发 该 款 游 戏 时 ,需 要 用 到 本 章 学 习 到 的 几 乎 所 有 编 译 块 :类 ,声 明 ,变 量 ,文 本 输 入 对 话 框 ,循 环 语 句 ,注 释 ,输 出 对 话 框 ,类 型 转 换 ,以 及 条 件 判 断 语 句 。

   public static void main(String[] args) {
       //该 变 试 用 于 记 录 用 户 猜 的 数 字
       int guess = -1;
       // 用于用户猜数字的次数
       int count = 0;
       //在 0 到 1 0 0 内 生 成 一个 随机数
       int num = (int) (Math.random() * 100);
       //循环猜数字
       do {
           guess = Integer.parseInt(JOptionPane.showInputDialog("Guess a number between 0 amd 100 !"));
           if (guess > num) {
               JOptionPane.showMessageDialog(null, "Too high");
           }
           if (guess < num) {
               JOptionPane.showMessageDialog(null, "Too low");
           }
           count++;
           //一 直 循 环 猜 数 字 ,直到猜对为止
       } while (num != guess);
       JOptionPane.showMessageDialog(null, " You guessed the number - " + num + " - in " + count + " guess(es)!!!");
   }

Java代码资源

游戏实战

游戏实战下篇
《电玩游戏Java实战DIY》

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

xhBruce

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值