一、简介

《别踩白块》是笔者初次涉足游戏开发的作品。笔者在参考B站UP主的C语言教程时,意外遭遇了函数兼容性问题。由于技术有限,笔者不得不转向正在学习的Java语言,最终促成了这个项目的诞生。


二、效果展示


三、准备

开发环境:IDEA 2023

知识点:类与对象、数组、随机数、鼠标监听、函数重写

需构建:界面布局 黑块随机生成 鼠标点击判定 黑块下落


四、功能实现

1.界面布局

解释:首先构建一个5×5的游戏窗口可见区域,并为每个单元格设定固定的宽度和高度。接着,定义一个数组来存储每个黑块所在的列号(由于游戏规则规定每行必须有且仅有一个黑块,因此无需额外记录行号信息)

public White这个函数是设置了随机黑块

代码实现:

2.鼠标点击监听+判定

解释:此处采用了函数重写技术来捕获鼠标点击时的坐标位置。if条件语句的嵌套:只能判定最底部的一行。内部if的条件判断语句用于检测点击是否命中黑色区域,若点击坐标位于黑色区域内,则分数加1;反之,游戏结束。

代码实现:

 3.方块下落机制

解释:点击黑块后所在的行全部消失,上方行自动下落

代码实现:

 

4.游戏界面优化

解释:添加纯白方格背景,随机分布的黑色方块和网格划分线。引入分数累加并添加游戏结束提示功能。

代码实现:


五、反思与感想 

这是一段宝贵的珍贵体验,在即将中途放弃之际,笔者决定转换策略持续推进,尽管笔者仍处于“Java小白”阶段,借助AI工具并强制自己用个人语言来复述项目,远比机械复制粘贴效果显著。自大学时期起,笔者通过撰写技术博客、向同伴分享等方式逐步深化对这个领域的热爱,在上学期C++语言专业课程中取得优异成绩。

仍存在以下不足:

1. 对函数重写模块缺乏系统性掌握。

2. 代码理解度达80%,但实践能力薄弱,实际操作时缺乏清晰思路。

问题解决:

1. 寻找网上视频系统学习

2. 没有思路应该先写整体框架:

常量、变量定义

初始化数据

思考需要运用的语法、语句

 

 

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐