失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > 五子棋聊天java_Java如何实现五子棋小游戏(1)

五子棋聊天java_Java如何实现五子棋小游戏(1)

时间:2021-06-12 23:32:19

相关推荐

五子棋聊天java_Java如何实现五子棋小游戏(1)

1. 前言

该项目为经典版本的五子棋游戏和自创的毁灭玩法所结合,总体而言是一个休闲的小游戏。其中的规则不难,主要是为了丰富大家的文娱生活,让大家在忙碌的学习课后可以轻松一小下。这就是本程序的编写初衷。众所周知,经典版 本的五子棋不过就是判断5连和5连以上的胜负,而这里的毁灭版,可以“毁灭”对方的4连状态,从而达到己方的攻击 ,而使己方达到胜利。而对方亦可以运用这种方法获得胜利。本次分享这个简单的五子棋小游戏,我打算分四篇图文进行讲解,感兴趣的可以加关注,以便学习后续内容。

2. 需求分析

首先,我们需要了解该程序是怎么编写的,需要用到哪些工具,用到哪些知识和方法。以及是如何运用该方法。

1:了解五子棋的运行机制。

2:了解博弈的对战机制,如:怎么获得胜利,判断胜利的条件。

3:游戏主界面的构造,以及模型的建立。

4:各种功能如何实现,各个部分怎么构成一个整体。

5:事件的处理。

6:如何生成棋盘,以及如何生成棋子。

7:对计时工具的设计,如何运用到多线程来解决。

3. 概要设计

对我要实现的相应功能,用一个框架图可以来概述该程序各个部分的相依关系,以及各个功能是如何实现。如何将这些功能整合成为一个游戏对我要实现的相应功能,用一个框架图可以来概述该程序各个部分的相依关系,以及各个功能是如何实现。如何将这些功能整合成为一个游戏

通过该流程图,我们可以看出,要完成一个五子棋游戏。必须有两大类,主界面类和相关的事件处理类,而主界面类包括菜单界面的布局、五子棋盘的生成、棋子的生成、和各种消息框的提示。对于事件处理类,我们要监听各种按钮,分别实现他们相应的功能。例如开始按钮,当点击开始按钮后应该进入执棋的阶段,在执棋的过程中又要在棋盘中生成新棋子,与主界面的棋盘相联系。还有点击游戏设置按钮,应该给于相应的用户提示,需要输入什么信息来设置游戏。在这里,游戏设置按钮主要是为了设置游戏的限行时间,由此增加游戏的难度。悔棋按钮不用多说,毁灭按钮是基于悔棋按钮的设计之上的一个按钮。可以毁掉对方的棋子。‘然而我认为在编写代码中最关键的部分有三点,一是如何生成棋盘,二是如何生成棋子,三是如何对胜负进行判断。只要抓住这三个大点,这个游戏就算是成功了一大半,下面对该游戏的框架进行详细设计。

4. 详细设计

需要用到的重要知识:

1:mouselistener()

功能:监听鼠标相关状态.

mouseClicked(MouseEvente) 鼠标按键在组件上单击(按下并释放)时调用。

mouseEntered(MouseEvente) 鼠标进入到组件上时调用

mouseExited(MouseEvent e) 鼠标离开组件时调用。

mouseExited(MouseEvent e)鼠标离开组件时调用。

mouseReleased(MouseEvent e) 鼠标按钮在组件上释放时调用

mousePressed(MouseEvente) 鼠标按下时调用

e.getX();获取鼠标当前按下的位置的X坐标;

e.getY();获取鼠标当前按下的位置的Y坐标;

在设置布局时通常要用到这两个函数辅助找到相应的坐标。

这些是对鼠标的监控实现的功能,需要在窗口中添加addMouseListener()方法;

2:Graphics 类

是所有图形的抽象基类,允许程序在组件上图像上进行绘制

功能:覆写JFrame 的paint()方法来使用,通过repaint()来调用

主要方法:drawstring();使用此图形上下文的当前字体和颜色绘制由指定 string 给定的文本。

setFont();设置字体的属性。

setColor();设置颜色。

drawOval();画圆,用于画棋盘的棋子,drawoval是空心的圆形边框

fillOval();画图,用于画棋盘的棋子,fillOvail是实心的圆

drawRect();绘制指定矩形的边框。

fillRect();绘制指定实心矩形

drawImage();绘制指定图像中当前可用的图像。

3:frame类()

功能:实现主界面的布局

主要方法:主类继承自Jframe,在主类的构造函数中实现布局的设置。

setIconImage(Imageimage);设置窗体的图标,从文件filename中获得图标。

setTitle(Stringsting);设置标题为字符串string;

setDefaultCloseOperation();设置关闭窗体的操作

setResizable(Booleann);设置窗体是否为大小可以改变。

setLayout();设置窗体的布局

setBounds(intx,int y,int width,int height)设置控件的边界以及坐标

setEditable()设置文本框是否可输入。

具体的三大类已经大体说出来了,如何实现我们下篇文章见。

如果觉得《五子棋聊天java_Java如何实现五子棋小游戏(1)》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。