在线客服
扫描二维码
下载博学谷APP
扫描二维码
关注博学谷微信公众号
相信大家对蜘蛛纸牌这个游戏本身并不陌生,它是一款桌面休闲益智类游戏。本文小编将来介绍Java课程设计——蜘蛛纸牌。本文主要总结了该项目的简介、采用技术、亮点和主要类及关键代码。

一、蜘蛛纸牌项目简介。
该课程设计内容主要是模拟实现蜘蛛纸牌游戏,《蜘蛛纸牌》是由Oberon Games开发的一款休闲益智类游戏,该游戏已由Microsoft于2010年发行。同时该游戏也是Windows ME及后续版本所自带的小游戏,游戏目标是以最少的移动次数将牌面中的十叠牌以及待发的五副,共计八副牌整理移除。当所有牌都被移除整理之后,游戏获胜。
二、蜘蛛纸牌项目采用技术。
JAVA
GUI
三、蜘蛛纸牌项目亮点。
1、实现了简单、正常、复杂三种不同难度的玩法
2、可以显示可行性操作
四、蜘蛛纸牌项目主要类及关键代码。
//方法:显示可移动的操作
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;
}
}
}
以上就是Java课程设计蜘蛛纸牌的实战项目技巧总结。大家都明白了吗?如果懂了,就赶紧自己动手编写一个吧!
— 申请免费试学名额 —
在职想转行提升,担心学不会?根据个人情况规划学习路线,闯关式自适应学习模式保证学习效果
讲师一对一辅导,在线答疑解惑,指导就业!
相关推荐 更多
Java开发运算符&和&&的区别是什么?
&和&&都可以用作逻辑与的运算符,表示逻辑与(and),当运算符两边的表达式的结果都为 true 时,整个运算结果才为 true
10624
2019-05-23 11:10:34
浅析Java并发工具类在AQS实现
众所周知,AQS是一个Java提高的底层同步工具类。本文就AQS的资源共享方式,state的作用,自定义同步器的方法,CountDownLatch,Semaphore,Semaphore和RateLimiter的区别,CyclicBarrier几方面来为大家浅析Java并发工具类。
8180
2019-08-05 20:07:43
分布式和微服务是什么关系?
分布式和微服务是什么关系?简单来说,分布式和微服务的概念比较相似,分布式属于微服务。但是分布式和微服务在架构、作用和粒度上有所区别。因此,两者的关系是既相互联系又相互区别。本文主要带大家认识分布式和微服务,并探讨一下两者的关系,感兴趣的小伙伴可以接着看下去
20118
2019-11-01 16:02:32
ServiceComb项目教程哪里有?
ServiceComb项目教程哪里有?可以选择博学谷的Apache ServiceComb原理解析精讲课程,学习ServiceComb概述、ServiceComb与SpringCloud比较、ServiceComb开放性设计思想、ServiceComb开发环境搭建等内容
5741
2019-11-08 14:22:44
学Java编程数学一定要很好吗?
数学好不好对于学Java编程没有特别的限制,编程要一定的逻辑思维能力,数学好说明逻辑思维能力强,对学好编程很有帮助,但对学编程有兴趣,即使数学不好但在学习编程的过程中会促使你去学好数学,两者相互促进。
5387
2020-10-21 14:47:43
