Java 课程设计 - 蜘蛛接龙
一、团队名称、团队成员介绍、任务分配
团队名称:Panta
团队成员介绍
网络1713蔡炜明【组长】 201721123076
网络1713高枫 【组员】 201721123090
任务分配
网络1713 蔡炜明
蜘蛛纸牌界面设计
游戏帮助栏、规则栏设计
网络1713 高枫
主要负责蜘蛛纸牌主类设计及Git的提交
二、项目简介
该课程设计内容主要是模拟实现蜘蛛纸牌游戏,《蜘蛛纸牌》是由Oberon Games开发的一款休闲益智类游戏,该游戏已由Microsoft于2010年发行。同时该游戏也是Windows ME及后续版本所自带的小游戏,游戏目标是以最少的移动次数将牌面中的十叠牌以及待发的五副,共计八副牌整理移除。当所有牌都被移除整理之后,游戏获胜。
三、项目采用技术
JAVA
GUI
四、项目亮点
1、实现了简单、正常、复杂三种不同难度的玩法
2、可以显示可行性操作
五、项目git地址
https://gitee.com/xmgghhh/projects
六、项目git提交记录截图(要体现出每个人的提交记录、提交说明)
七、项目功能架构图与主要功能流程图
八、项目主要类及关键代码
//方法:显示可移动的操作
public void showEnableOperator(){
int x = 0;
out: while (true){
Point point = null;
PKCard card = null;
do{
if (point != null){
n++;
}
point = this.getLastCardLocation(n);
while (point == null){
point = this.getLastCardLocation(++n);
if (n == 10) n = 0;
x++;
if (x == 10) break out;
}
card = (PKCard) this.table.get(point);
}
while (!card.isCardCanMove());
while (this.getPreviousCard(card) != null
&& this.getPreviousCard(card).isCardCanMove()){
card = this.getPreviousCard(card);
}
if (a == 10){
a = 0;
}
for (; a < 10; a++){
if (a != n){
Point p = null;
PKCard c = null;
do{
if (p != null){
a++;
}
p = this.getLastCardLocation(a);
int z = 0;
while (p == null){
p = this.getLastCardLocation(++a);
if (a == 10) a = 0;
if (a == n) a++;
z++;
if (z == 10) break out;
}
c = (PKCard) this.table.get(p);
}
while (!c.isCardCanMove());
if (c.getCardValue() == card.getCardValue() + 1){
card.flashCard(card);
try{
Thread.sleep(800);
}
catch (InterruptedException e){
e.printStackTrace();
}
c.flashCard(c);
a++;
if (a == 10){
n++;
}
break out;
}
}
}
n++;
if (n == 10){
n = 0;
}
x++;
if (x == 10){
break out;
}
}
}
九、总结与反思
小组成员自身能力有限导致了课设进行过程出现了许多问题,刚开始进度缓慢,在参考了许多网上的代码和其他同学的帮助后,才勉强完成任务,自身有很多不足,需要在以后的学习中慢慢改进。
需要注意的开发中的问题
1、像纸牌游戏菜单栏添加监视器及处理事件的方法的实现
2、帮助栏功能的实现
3、纸牌初始化、发牌、回收过程中的算法。
上一篇: 蜘蛛 (DFS)
下一篇: Win32 游戏 - 蜘蛛接龙