Java入门简单小游戏有哪些?

115 篇文章 12 订阅

适合新手练习的小游戏有超级玛丽、愤怒的小鸟、飞机大战、五子棋、彩虹雨、聊天室、华容道、坦克大战、扫雷等。还有贪吃蛇,由Java开发出来的一款经典小游戏,java小白入门可以用这款游戏开发练手锻炼自己的编程能力。

教程推荐:玩会Java!大神技术飞升之路+游戏开发实战

每个人的水平不同使用JAVA语言独立完成一个小游戏的开发,需要掌握一些开发的思维涉及到两个部分:

基础部分:窗体显示、图片绘制、图片移动、窗体监听、相交判定;

设计部分:游戏实例分析、元素抽象、服务封装、元素生成器。注解定义、游戏行为交互;

游戏的本质实际上可以理解为图像的显示和图像的移动(人为控制与非人为控制),知道了本质以后,接下来就是怎么显示图片和怎么控制图片动起来。

怎么显示图片?

显示图片我们需要用到Javax.swing 包下的 JPanel类与JFrame类。JPanel 提供了一个面板(画板),显示图片,相当于在面板上把图片画出来。JFrame 提供了一个窗体(窗口),面板被放到窗体中,最终展示在屏幕上。JPanel 上显示图片,是通过重写JPanel中的绘制方法 void paint(Graphics g)。其参数Graphics相当于为我们提供了“一支画笔”,可以通过调用它的画图方法drawImage在面板上画任何东西。

基础元素抽象:在游戏的设计初期,我们应该先对它的玩法进行简单的定义。如它是一个横版游戏(超级马里奥)还是纵版游戏(飞机大战)?它使用鼠标操作还是键盘操作?

在决定了基本的玩法之后再来定义游戏的内容。指的也就是游戏中的图片类型,应该想到的是装备与敌人,而不是匕首与骷髅怪。对于图片类型的定义也是设计中最为关键的一步,即对游戏元素的抽象。它将决定游戏的大致走向同时也是对游戏玩法的补充说明。

在正式编码开始之前,先在脑子里把游戏中的元素进行简单的抽象,最好用记事本啥的打出来。比如在真正开发游戏的实例之前,脑子里已经模糊的构思出了关系图。

 

  • 1
    点赞
  • 33
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1. 摇色子小游戏 要求: - 实现一个简单的控制台程序,模拟摇色子的过程。 - 程序开始时,提示用户输入想要摇的色子个数和每个色子的面数,然后开始摇色子。 - 摇完色子后,输出每个色子的点数和总点数。 示例代码: ``` import java.util.Scanner; public class DiceGame { public static void main(String[] args) { Scanner input = new Scanner(System.in); System.out.print("请输入色子个数:"); int n = input.nextInt(); System.out.print("请输入每个色子的面数:"); int m = input.nextInt(); int sum = 0; for (int i = 1; i <= n; i++) { int num = (int) (Math.random() * m) + 1; System.out.println("第" + i + "个色子的点数为:" + num); sum += num; } System.out.println("总点数为:" + sum); } } ``` 2. 猜数字小游戏 要求: - 实现一个简单的控制台程序,让用户猜一个随机生成的整数。 - 程序开始时,随机生成一个整数,然后提示用户输入一个猜测的数字。 - 如果猜对了,输出“恭喜你,猜对了!”并结束程序;如果猜错了,输出“猜错了,请重新输入”并提示用户再次输入猜测的数字。 - 用户最多只能猜测5次,如果5次都猜错了,则输出“很遗憾,你没有猜对,正确答案是XXX”并结束程序。 示例代码: ``` import java.util.Scanner; public class GuessNumber { public static void main(String[] args) { Scanner input = new Scanner(System.in); int answer = (int) (Math.random() * 100) + 1; int times = 5; while (times > 0) { System.out.print("请输入一个整数(1-100):"); int guess = input.nextInt(); if (guess == answer) { System.out.println("恭喜你,猜对了!"); return; } else { System.out.println("猜错了,请重新输入"); } times--; } System.out.println("很遗憾,你没有猜对,正确答案是" + answer); } } ``` 3. 学生成绩管理系统 要求: - 实现一个简单的控制台程序,用于管理学生成绩。 - 程序开始时,提示用户输入学生人数和每个学生的姓名和成绩,然后将其保存在数组中。 - 程序提供以下功能: - 显示所有学生的姓名和成绩; - 显示最高分和最低分; - 显示平均分。 示例代码: ``` import java.util.Scanner; public class GradeManagement { public static void main(String[] args) { Scanner input = new Scanner(System.in); System.out.print("请输入学生人数:"); int n = input.nextInt(); String[] names = new String[n]; double[] scores = new double[n]; for (int i = 0; i < n; i++) { System.out.print("请输入第" + (i + 1) + "个学生的姓名:"); names[i] = input.next(); System.out.print("请输入第" + (i + 1) + "个学生的成绩:"); scores[i] = input.nextDouble(); } System.out.println("所有学生的姓名和成绩如下:"); for (int i = 0; i < n; i++) { System.out.println(names[i] + ":" + scores[i]); } double max = scores[0]; double min = scores[0]; double sum = 0; for (int i = 0; i < n; i++) { if (scores[i] > max) { max = scores[i]; } if (scores[i] < min) { min = scores[i]; } sum += scores[i]; } double average = sum / n; System.out.println("最高分为:" + max); System.out.println("最低分为:" + min); System.out.println("平均分为:" + average); } } ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值