六一儿童节-王者连连看

news/2024/10/29 0:22:36/

庆祝六一 用java实现的连连看练手小游戏

王者连连看

  • 🤣 游戏介绍
  • 😜 核心
  • 😮‍💨总结:

🤣 游戏介绍

  王者连连看游戏的目标是通过消除相同的图案来得分并进入更高级别的挑战。
  游戏分为四个难度
  可以自由选择也可以依次闯关。
  每次时间倒计时100秒 ,你需要在有效时间内连完所有的即为过关。
  ps:图片用的王者荣耀的角色看看你能认出来几个?👣👣👣👣
  基本规则:

  1. 游戏区域中有许多不同形状的图案,玩家需要通过点击相同的图案来消除它们。
  2. 当两个相同的图案被消除时,它们会消失。
  3. 需要在规定的时间内完成每一关的任务目标,否则游戏失败。
  4. 在游戏中,有些图案只能在特定的位置出现,需要注意这些限制条件。
  5. 随着游戏的进行,难度会逐渐增加,需要更高的反应速度和策略能力才能通过更高级别的挑战。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


连连看是一款比较考验玩家眼力和反应速度的益智游戏,要想获胜需要具备以下条件:

  • 快速的反应能力:在游戏中,需要迅速找出相同的图案并消除它们。因此,快速而准确的反应能力是获胜的关键之一。
  • 良好的记忆力:连连看中有些图案的位置可能很相似,需要通过记忆力来辨别它们之间的差异。
  • 细心的观察力:连连看中的图案有时会隐藏在其他图案的背后,需要仔细观察才能发现它们的存在。
  • 策略性的思考能力:在游戏中,不仅要尽快消除图案,还要合理地利用时间和空间,避免出现无用的浪费。
    综上所述,如果想要在连连看游戏中获胜,就需要具备快速反应、良好记忆、细心观察和策略思考等多种能力。

😜 核心

  核心用到的就是一些连线消除的算法,定时器,按钮的监听还有JFrame 可视化程序界面。

  Java算法是指在Java语言中实现的各种计算方法和数据结构。
  Java定时器是一种可以按照指定时间间隔执行特定任务的机制。它可以在程序运行时定期触发某个操作,例如:每隔一段时间执行一次某个方法、每隔一定时间向服务器发送一次数据等。
  监听器(Listener)是一种在面向对象编程中常用的概念,它用于监听某个对象或事件的发生,并在特定条件下做出相应的响应。具体来说,监听器可以被定义为一个类的方法,该方法会在一个特定的对象或事件上被调用,从而执行一些自定义的行为。
  JFrame 是 Java Swing
框架中的一个类,用于创建图形用户界面(GUI)窗口。它继承自Component 类,可以显示出包含其他组件的容器。JFrame
可以包含各种组件,如按钮、文本框、标签等,并且可以设置它们的布局方式和位置。通过 JFrame,创建一个可视化的程序界面。

提醒 消除的部分逻辑

	/*** @Author @zzh* @Description //提醒逻辑处理* @Date 10:12 2023/6/1* @return void**/public static void showHint() {List<Cell> list = GameTool.getEliMinCell();if (list.get(0) == null || list.get(1) == null) {JOptionPane.showMessageDialog(Cache.ui, "没有可以消除的啦!!!");} else {Thread t = new HintShowThread(list.get(0), list.get(1));t.start();}}/*** @Author @zzh* @Description //消除逻辑处理* @Date 10:49 2023/6/1* @return void**/
public static List<Cell> getEliMinCell() {List<Cell> list = new ArrayList<Cell>();Cell fcell = null;Cell scell = null;Cell[][] cells = Cache.cells;Loop:for (int i = 0; i < cells.length; i++) {for (int j = 0; j < cells[0].length; j++) {if (cells[i][j] == null) {continue;}fcell = cells[i][j];for (int m = 0; m < cells.length; m++) {for (int n = 0; n < cells[0].length; n++) {if (cells[m][n] == null) {continue;}if (cells[m][n].getIcon() != fcell.getIcon()) {continue;}if (cells[m][n] == fcell) {continue;}if (isCouldDelete(fcell, cells[m][n])) {scell = cells[m][n];break Loop;}}}}}list.add(fcell);list.add(scell);return list;}

重新排列的部分逻辑:
随机组合排列:

public static void initRandomCells() {List<Cell> cells = Cache.tempCells;List<ImageIcon> allImages = getAllImage();while(cells.size() != 0) {Random r = new Random();Cell c1 = cells.get(0);Cell c2 = null;while (c2 == null || c1 == c2) {c2 = cells.get(r.nextInt(cells.size()));}Icon ic = allImages.get(r.nextInt(Const.imageFileSum));c1.setIcon(ic);c2.setIcon(ic);Cache.tempCells.remove(c1);Cache.tempCells.remove(c2);}}

😮‍💨总结:

  六一了,你家的熊孩子出来闹腾了没?应应景
  简单的写个王者连连看锻炼(折磨)一下熊孩子 省的闹腾。
  不管怎么说 还是祝儿童们六一快乐!😆😆😆


http://www.ppmy.cn/news/288541.html

相关文章

cpp: Visitor Pattern

/*****************************************************************//*** \file Gold.h* \brief 访问者模式 Visitor Pattern C 14 行为模式* 2023年6月8日 涂聚文 Geovin Du Visual Studio 2022 edit.文章来源《C新经典设计模式》 王健伟编著 清华大学出版社* \author…

【新申请】新SRRC容易Fail点分享 2.4G和5.8G的干扰规避判定方法

新SRRC容易Fail点分享 一、2.4G 产品针对于高信道边带变严格了&#xff0c;在之前带外杂散limit为-80dBm/Hz的基础上增加了一段2483.5MHz-2500MHz限值为-40dBm/MHz, 计算可得-100dBm/Hz, 限值严格了20dB。 二、2.4G和5.8G低频发射杂散变严&#xff0c;新规2.4G和5.8G限值变为…

华硕B85M-D台式机主板音响没反应,更新驱动还是找不到realtek高清晰音频管理器原因及解决方案

"驱动人生"收到一些用户反馈说&#xff0c;华硕主板B85M-D台式机主板的音响用不了&#xff0c;更新驱动还是找不到realtek高清晰音频管理器 在驱动人生8检测显示驱动正常&#xff0c;但全面诊断显示声卡状态异常。 在驱动人生8里提示有且只有一个声卡状态异常&…

安装黑苹果macOS Mojave 10.14.6 -技嘉B85+i5 4690+HD4600 + GTX760

安装黑苹果macOS Mojave 10.14.6 安装Mac全过程只需要下载balenaEtcher一个软件即可&#xff0c;不用下载别的乱七八糟 的软件 制作启动U盘 1、下载软件balenaEtcher 2、下载镜像 macOS Mojave 10.14.6(18G84) Installer with Clover 5027.dmg 链接&#xff1a;https://pa…

华硕主板B85-PRO GAMER关机后鼠标、键盘仍亮着问题的解决办法

子丰最近入手了华硕B85-PRO GAMER&#xff0c;但是装上了之后&#xff0c;发现关机之后&#xff0c;鼠标和键盘还是亮着的。这其实就说明了USB还处于通电状态。而且关机后主板上的音频那一块的音频灯也是亮着的。 此方法应该也是适用于华硕其它型号的主板。 由于子丰不会截图…

[Telink][TLSR8251] [泰凌微][SDK3.4] 上手第三步 Demo 介绍

[Telink][TLSR8251] [泰凌微][SDK3.4] 上手第二步 框架介绍 Telink BLE SDK 给⽤⼾提供了多个 BLE demo。 ⽤⼾通过软硬件 demo 的运⾏&#xff0c;可以观察到直观的效果。⽤⼾也可以在 demo code 上进⾏修改&#xff0c;完成⾃⼰的应⽤开发。 BLE Slave Demo DemoStackAppl…

《Java 核心技术面试》课程笔记(十三)

谈谈接口和抽象类有什么区别&#xff1f; 典型回答 接口和抽象类是 Java 面向对象设计的两个基础机制。 接口 接口是对行为的抽象&#xff0c;它是抽象方法的集合&#xff0c;利用接口可以达到 API 定义和实现分离的目的。接口&#xff0c;不能实例化&#xff1b;不能包含任何…

关于B85M-V Plus支持AHCI驱动问题

一家小宾馆&#xff0c;搭个小服务器&#xff0c;主板为华硕的B85M-v Plus&#xff0c;考虑资源与效率服务器装Win2003 Server版&#xff0c;其他一切正常&#xff0c;但在提高IO读写性能&#xff0c;打开AHCI后&#xff0c;系统来回重启&#xff0c;用SKYIAR注入不成功&#x…