JAVA课程设计—连连看最终版要点
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
JAVA课程设计报告
实验题目:“连连看”游戏程序设计
小组成员:王飞铭、毛建平、陈银银、黄庭威
成员分工:
组长:王飞铭
王飞铭:actionPerformed():重来一局按钮的响应事件及remove()判断移去方法
毛建平:xiao()消去方法、estimateEven()方法陈
银银:init()方法:游戏主界面和main()方法实现
产生随机数方法、fraction()刷新黄庭威:randomBuild()
方法
(一):内容:
1:功能需求和分析:
(1)该游戏界面为:数字方格类型,由6竖7横的直线平行垂直交叉而组成,分别是6行5列凹方块拼接,共有30格小方块。方块上随机分布一些数字,数字的要求是至少两两相同,位置随机打乱。
(2)游戏规则是:将相同数字的方块连接,但要满足只能至少单边无阻碍呈直线趋势连接,否则视为无效,如果一对数字连接成功,那么就会消失在界面,并且分数标签会加分,继续游戏,直到游戏
结束。
(3)帮助项目:在游戏过程中,如果出现没有可以连接的数字对
时候,可按界面下方按钮刷新重新排列,便可以可继续游戏。(4)退出游戏:可以鼠标点击“退出”按钮,结束游戏。(5)再
来一局:本局结束或者中途不想继续玩本局,可以点击界面下方的
再来一局,系统会自动再次重新开始。
(二):主要方法:
首先我们定义了一个lianliankan类,实现了接口ActionListener:
1)init()方法:实现游戏主界面;
2)randomBuild()方法:用来产生游戏按钮上的随机数;3) fraction()方法:游戏界面最上面用来加分;
4)reload()方法:用来刷新,重载,窗体界面;
5)estimateEven()方法:判断按钮数字是否满足消去的条件
linePassOne()方法:判断第一按钮同左右侧空按钮之间
⑦rowPassOne()方法:判断第一按钮同列空按钮与第二按钮;
6)actionPerformed(ActionEvent e)方法:用来实现重来一
局按钮的响应事件;
7)main(String[] args)方法:主函数;
8)xiao()方法:消去方法
(三):界面要求:用图形界面实现,参考下
系统流程图如下
NO
(四):代码设计
package数字版;
/**本游戏是连连看,上面出现的都是数字,
点击两个相邻的或者之间没有第三个的,便可以消去。。。
如果不能消除完,便可以按重列,
这样会把剩余的重新排列。便可以继续玩了,
或者您可以按重置,重新再来一局!!!!*/
import javax.swing.*;//调用图形界面类布局
import java.awt.*;
import java.awt.event.*;
public class lianliankan implements ActionListener
{ //继承一个监听器
JFrame mainFrame;//游戏主面板用布局管理器
Container thisContainer;//一个容器
JPanel centerPanel,southPanel,northPanel;//子面板JButton diamondsButton[][] = new JButton[6][5];//
游戏按钮数组
JButton exitButton,resetButton,newlyButton;//退出,重列,重新开始按钮
JLabel fractionLable=new JLabel("0"); //分数标签显示您玩游戏得了多少分!!!!!!!!)
JButton firstButton,secondButton; //分别记录两次被选中的按钮
int grid[][] =new int[8][7];//储存游戏按钮位置
static boolean pressInformation=false; //判断是否有按钮被选中
int
x0=0,y0=0,x=0,y=0,fristMsg=0,secondMsg=0,validate LV; //游戏按钮的位置坐标
int i,j,k,n;//消除方法控制
public void init(){
mainFrame=new JFrame("数字版连连看");
thisContainer =mainFrame.getContentPane();
thisContainer.setLayout(new BorderLayout());
//setLayout()设置用户界面上的屏幕组件的格式布局,是java
图形界面编程的常用方法。此处是方位布局
centerPanel=new JPanel(); //中间部分(用来放游戏显示内容)
southPanel=new JPanel();//下面部分(用来放退出,重列,重新开始按钮)
northPanel=new JPanel(); //上面部分(用来记录得分情况)
centerPanel.setBackground(new
Color(145,145,44));//灰色
northPanel.setBackground(new
Color(245,252,252));//颜色red
thisContainer.add(centerPanel,"Center"); thisContainer.add(southPanel,"South"); thisContainer.add(northPanel,"North"); centerPanel.setLayout(new GridLayout(6,5)); //设置游戏图标
for(int cols =0;cols< 6;cols++){
for(int rows =0;rows<
5;rows++){ diamondsButton[cols][ro
ws]=new
JButton(String.valueOf(grid[cols+1][rows+1])); //换下一行
diamondsButton[cols][rows].setBackground(new
Color(199,190,33));//颜色
diamondsButton[cols][rows].setFont(new