首页 微武游戏指南 正文

java游戏大全:想玩什么类型的?这里应有尽有!

大家今天咱来聊聊用Java搞点小游戏的事儿。作为一个老程序猿,闲着没事就喜欢捣鼓些小玩意儿,这回心血来潮,想用Java整几个经典小游戏,顺便也把过程记录下来,给大伙儿分享分享。

准备工作

得有个Java开发环境。我这儿用的是JDK 8,老版本,稳定!然后,搞个顺手的IDE,我一直用的是IntelliJ IDEA,用习惯,感觉挺好使。这些都准备好,咱就可以开工!

从俄罗斯方块开始

先从哪个开始?就俄罗斯方块!这玩意儿经典,小时候谁没玩过?

小编温馨提醒:本站只提供游戏介绍,下载游戏推荐89游戏,89游戏提供真人恋爱/绅士游戏/3A单机游戏大全,点我立即前往》》》绅士游戏下载专区

先在IDEA里新建一个项目,起个名儿,就叫"Tetris"。然后,新建一个Java类,叫"TetrisGame"。这就算是咱游戏的主战场。

就是画界面。Java里有个叫Swing的玩意儿,可以用来画界面。我先画个框框,作为游戏的主界面,然后再画一个个小方块,用来表示俄罗斯方块。这部分代码写起来有点儿繁琐,不过耐心点儿,一点点儿调,总能调出个样子来。

界面画好,就得让方块动起来!这里就得用到Java的多线程。我新建一个线程,专门用来控制方块的下落。每隔一段时间,就让方块往下移动一格。还得处理用户的操作,比如左右移动、旋转、快速下落等等。这些操作,我都用键盘事件来处理。按下左键,方块就往左移;按下右键,方块就往右移;按下上键,方块就旋转;按下下键,方块就加速下落。

然后就是碰撞检测。这可是个关键点!得判断方块是否碰到边界,是否碰到其他已经落下的方块。碰到,就不能再移动,得停下来。这里我用一堆if...else...,逻辑有点儿复杂,不过好歹是搞定。

就是消行和计分。当一行被方块填满时,就得把这一行消掉,然后给玩家加分。这里我又用一堆循环和判断,总算是把这个功能也实现。

经过一番折腾,我的俄罗斯方块终于能玩!虽然界面简陋点儿,不过玩起来还是挺有感觉的,毕竟是自己亲手做的嘛

贪吃蛇也来一个

俄罗斯方块搞定,再来个贪吃蛇!这又是一个经典游戏!

同样,新建一个项目,起名"Snake",再新建一个Java类,叫"SnakeGame"。界面部分,跟俄罗斯方块差不多,也是用Swing画一个框框,然后画一条蛇和一个食物。蛇用一串小方块表示,食物就用一个小圆点表示。

蛇的移动,我用一个队列来存储蛇的身体。每隔一段时间,就从队列头部取出一个方块,表示蛇头;然后根据蛇的移动方向,计算出新的蛇头的位置,再把新的蛇头加入到队列尾部。这样,蛇就动起来!

食物的生成,就简单多。我随机生成一个坐标,然后在这个坐标上画一个小圆点,就OK。

就是处理用户的操作。跟俄罗斯方块一样,我也是用键盘事件来控制蛇的移动方向。按下上下左右键,蛇就往相应的方向移动。

然后,就是判断蛇是否吃到食物。如果蛇头碰到食物,就把食物从界面上移除,然后在队列尾部再加一个方块,表示蛇的身体变长。还得重新生成一个食物。

就是判断游戏是否结束。如果蛇头碰到边界,或者碰到自己的身体,那游戏就结束。

又是一番折腾,我的贪吃蛇也搞定!玩起来还挺上瘾,一不小心就玩好几局。

还能整点

俄罗斯方块和贪吃蛇都搞定,感觉还不过瘾,要不再整点儿别的?泡泡龙?坦克大战?算算,今天就先到这儿,以后有时间再慢慢捣鼓。反正Java能做的游戏多着,只要有想法,就能折腾出各种花样来!

这回的实践就分享到这儿。虽然代码写得有点儿糙,不过好歹是把功能都实现。以后有时间,我再把这些代码优化优化,再分享给大家。大家要是也想用Java做点小游戏,可以参考参考我的做法,说不定能给你带来点儿灵感!

好,今天就聊到这儿。下次再见!

本文转载自互联网,如有侵权,联系删除