我想用Java玩游戏,但是小白,怎么做呢?
设计一款游戏,首先要设计界面。首先看一下我设计的一个界面。界面分为左游戏区和右控制区。游戏区包含“比分信息”和贪吃蛇游戏区,右边的控制区有“开始”、“暂停”、“停止”按钮,一个关卡选择单选框和一个游戏排行榜。2
所以我们需要定义swing组件,并且初始化这些组件,在类初始化的时候添加组件。因为在后期设计游戏的时候,我们需要确切的知道游戏区域的大小,所以我们在这里设置了游戏区域的固定大小值。本来想用布局来更好的管理,但是作者对布局不够了解,所以先定了一个固定的大小。
三
定义我们的游戏。贪吃蛇游戏其实包含了很多小格子,然后蛇在格子里移动。这条蛇是由一系列网格组成的。为了视觉效果,蛇的身体用蓝色标记,食物用红色标记,背景为白色。如第一张图所示。所以我们需要定义二维数组,保存网格信息,保存蛇身和食物的位置信息。初始化时,还需要添加键盘事件来控制上下左右移动。
四
食物的位置信息是二维的,所以我简单定义了一个类来存储二维信息。
五
然后就是实现游戏的功能。开始,暂停和停止按钮添加事件来控制游戏的开始。关卡按钮定义了游戏的难度等。
六
开始游戏后,我们定义一个计时器。蛇按照指定的方向移动,方向由初始化时添加的键盘事件和键盘的上下左右键控制。蛇体是连续的位置信息,保存在队列中,所以蛇体的移动是在队首增加一个位置,在队尾减少一个位置,然后重绘游戏区域。
当蛇移动时,它会进一步吃食物,撞到墙上,撞到自己。这是游戏的主要逻辑。
七
最后,游戏结束后,我们弹出一个对话框,提示是否保存游戏分数。我们做了排行榜信息,只保留了前10的游戏分数。首先定义了一个界面可比的游戏分类,按最高分和最早时间排序。
八
游戏结束时保存分数信息,看是否进入排行榜。以前,游戏排行榜信息是在排行榜组件初始化时加载的。
通过保存和读取排行榜信息,我们也熟悉了文件读取操作,以及收集和排序算法的功能。
九
最后编译运行,效果良好。体验只能写一个大概的设计,贪吃蛇游戏的功能其实比较简单,主要是界面的布局,swing编程等等。如果你有任何问题,请留言。
总之,如果你没有一技之长或者受过训练,最好不要有这种想法,不现实。
而且游戏完成后,需要经过一系列的游戏认证和审核。
可以小面积传播,但是失败了就无法大面积传播了。
如果我的回答对你有帮助,请在走之前给我点个赞~