在线客服
扫描二维码
下载博学谷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学习中关于并发编程的问题总结
Java编程开发学习需要掌握的知识点很多,并发编程作为Java学习中的难点,也是实际应用中最常用的。编写优质的碧昂发代码并不是一件容易的事情。但是如果我们对并发编程有了更多的认识和实践,就会有更多的方案和更好的选择来实现并发编程。下面就是针对Java学习中关于并发编程的问题总结。
10807
2019-08-08 14:08:47
iHRM实战项目教程课程学什么?
要学习Activiti7工作流引擎、SAAS-HRM系统概述与搭建环境、SAAS-HRM-数据库设计与前端框架、SAAS-HRM系统用户权限设计概述、权限分配与jwt概述、权限分配与jwt概述、JWT的权限控制与Shiro入门、Shiro高级及SaaS-HRM的认证授权等内容。
8543
2019-11-08 10:24:19
MySQL数据库性能优化是什么?
MySQL数据库目前已被Oracle收购,并发展处多个版本。MySQL是一种开放源代码的关系型数据库管理系统RDBMS,使用最常用的数据库管理语言--结构化查询语言SQL进行数据库管理。
6626
2019-11-22 15:44:54
重庆Java培训哪家好?应该如何选择?
重庆Java培训哪家好?应该如何选择?受疫情的影响,传智播客的所有线下课程都转到了线上,因此重庆的学员如果想要学习Java,可以直接上博学谷官网进行Java的在线学习。下面我们一起来看看选择博学谷的四大理由,即高品质的教学内容,紧跟市场的热门技术点,资深负责的教学团队以及全方位的线上教学服务,同时这些也是大家选择培训机构时,可以参照考虑的地方。
6150
2020-02-18 18:58:53
Java架构师应具备的职业技能有哪些?
Java架构师应具备的职业技能有哪些? 在互联网开发领域架构师可以分为业务架构师、中间件架构师、系统架构师。如何区分三者的区别方法很简单,可以去招聘网站看看,了解架构师相关的招聘需求是什么样的。
5113
2022-04-27 11:26:56
