Java练手小项目,3个小时带你做出一个俄罗斯方块游戏

学完Java基础,一直想找一个项目实战,俄罗斯方块就是一个不错的实战项目,它原理实现比较简单。

话虽如此,我一开始还是毫无头绪,直到看到一个俄罗斯方块的视频才有了思路。俄罗斯方块还是比较适合新手练习的。

项目视频教程中会带着大家一步一步地实现这个俄罗斯方块游戏的各个功能,为了提高兴趣度,该项目也提供了图形界面。

使用到的知识点主要是JavaSE的知识,这个项目也是为了筑牢你所学的JavaSE基础,如果你也跟着一步一步完成这个项目案例,我相信你的JavaSE基本功、编码能力、分析问题解决问题的能力都会有一个大的提升;

  • JDK8.0
  • IntelliJ IDEA

小方块

游戏背景图片

•001.课程导读

•002.准备工作

•003.所使用素材

•004.编写小方块类

•005.编写四方格父类

•006.创建7个不同的形状

•007.编写俄罗斯方块主类

•008.初始化7个不同形状的位置

•009.随机生成四方格

•010.创建游戏场景

•011.绘制游戏背景

•012.绘制游戏

•013.绘制游戏主区域

•014.绘制正在下落的四方格

•015.绘制下一个将要下落的四方格

•016.绘制游戏得分

•017.绘制游戏状态

•018.判断方块是否出界

•019.判断方块是否重合

•020.按键一次四方格左移一次

•021.按键一次四方格右移一次

•022.四方格变形

•023.初始化7个形状相对位置

•024.旋转状态1

•025.旋转状态2

•026.旋转状态3

•027.顺时针旋转四方格

•028.判断游戏是否结束

•029.消行并积分

•030.判断四方格能否下落

•031.按键一次四方格下落一个

•032.瞬间下落

•033.编写逆时针旋转四方格方法

•034.创建顺时针旋转

•035.开启键盘监听事件

•036.根据按键做相应事情

•037.将俄罗斯方块窗口设置为焦点

•038.编写四方格自动下落

•039.将start方法添加到main方法中

•040.俄罗斯方块最终效果

俄罗斯方块游戏资料源码下载:

http://www.bjpowernode.com/?toutiao

Java能写大型游戏吗?

Java能写大型游戏吗?

JAVA能写大型游戏么?答:不能 ,所谓的大型游戏一般都是指端游。必须是C++。这没办法C++和java的效率还是有很大差距的。

java什么东西基本都能开发,只是java致命的是不能直接操作内存,只能安装虚拟机,这样使java在开发的时候造成很多局限性.但是java提供了本地方法,可以调用c的类库。使得功能进一步提升。又由于java对于垃圾回收机制是自动的,使得游戏在流畅性上有很大的折扣。所以java不适合开发大型游戏(除非自己实现垃圾回收等一些机制),使java能与c相比使。又因为java的初衷就不在界面和桌面游戏上。而在企业开发。因此java不适合开发大型游戏。中小型网络游戏还行。

Java vs C++

在游戏业Java可以搞什么?那就是页游和手游的服务端了,页游的前端都是Flash,手游的前端是coco2dx(C++),unity3D(C#或JS) 你可以看看 37游戏 墨麟集团 上海易娱 明朝网络 动网先锋 掌趣科技 等等游戏公司他们都找Java游戏服务端的。

在性能方面java拿来做页游手游的服务端是无压力的。为什么不用C++?因为Java的开发效率比C++的要高,敏捷,游戏开发都是在抢时间的,c++的要求门槛高 ,而且经验少的代码质量差,服务器很容易挂掉,另外一个是Java的人也比较好找,写的代码不要太烂,一般服务不会有什么问题的。

页游手游现在用c++比较多的另外一个原因:历史。为什么?

好像在jdk 4.0之前是没有NIO的,所以游戏服务端的天下都是c++/c,后来java出了NIO后,慢慢出现NIO的框架 如netty mina等等优秀的框架,慢慢就出现用java来做服务端了。

NIO是什么,自己百度吧。光电探测器NIO的包,有一些新特性,就是异步非阻塞通讯。大大提高了服务端的性能。

你们现在所用的Tomcat,其实是伪异步阻塞式通讯,就是一个线程池在接受发送,一个线程必须等客户端接受完毕才解除阻塞,底层还是同步阻塞的。

现在很多页游手游的服务端都用Java了,起码在广州已经是很成熟的。搞C++的不愿转Java,这就是为什么服务端都是c++的天下了,java起码在页游手游服务端毫无疑问的,也有很多成功的产品。假如楼主你想搞端游,提醒一下,搞端游的公司门槛很高的,而且数量极少,现在剩下的端游公司真心不多了,都是些巨头,你打算搞端游的话,第一个你达不达到那种高水平?第二,公司太少了,风险很大。

本人花费2个月时间,整理了一套JAVA开发技术资料,内容涵盖java基础,分布式、微服务等主流技术资料,包含大厂面经,学习笔记、源码讲义、项目实战、讲解视频。

希望可以帮助一些想通过自学提升能力的朋友,领取资料,扫码关注一下

记得转发+关注+私信

私信回复【2022面试资料】

领取更多学习资料

本文作者及来源:Renderbus瑞云渲染农场https://www.renderbus.com

点赞 0
收藏 0

文章为作者独立观点不代本网立场,未经允许不得转载。