JAVA小游戏骑士飞行棋

合集下载

飞行棋小游戏

飞行棋小游戏

飞行棋小游戏
飞行棋是一种家庭游戏,旨在让玩家通过掷骰子和移动棋子来尽快将所有棋子
带回终点。

以下是飞行棋的玩法和规则:
目标:
游戏的目标是通过掷骰子移动棋子,尽快将所有棋子带回终点。

第一个将所有
棋子带回终点的玩家获胜。

规则:
1. 每个玩家从起点开始,必须先将所有棋子移动到安全区域,然后再将它们带
回终点。

2. 每次轮到玩家时,他们可以通过掷骰子来确定移动的步数。

根据骰子的点数,玩家可以选择移动一个棋子相应的步数,或者移动一个棋子的步数并再次掷骰子。

3. 如果玩家掷骰子的点数为6,则可以选择移动一个棋子或者将新的棋子放置
在起点。

4. 当一个棋子移动到与其他玩家的棋子相同位置时,其他玩家的棋子将被送回
起点。

5. 当一个棋子移动到终点时,玩家必须掷骰子的点数刚好等于剩余步数,才能
将棋子带回终点。

术语和技巧:
1. 安全区域:每个玩家的安全区域是在棋盘上的一段区域,其他玩家无法送回
起点。

2. 阻挡对手:玩家可以选择移动一个棋子以阻挡对手的进程,或者选择移动另
一个棋子以尽快将其带回终点。

3. 利用对手:玩家可以利用对手的位置来决定移动哪个棋子,以最大程度地影响对手的进程。

通过这些规则和技巧,玩家可以制定战略来尽快将所有棋子带回终点,同时阻止对手的进程。

飞行棋是一款简单而有趣的游戏,适合家庭和朋友一起玩。

希望这些详细的说明能够帮助你充分享受飞行棋带来的乐趣!。

飞行棋小游戏

飞行棋小游戏

飞行棋小游戏
目标:玩家需要将自己的所有飞机棋子从起点飞到终点,首先完成的玩家获胜。

规则和玩法: 1. 每个玩家掷骰子确定移动步数,然后选择一个飞机棋子移动相应的步数。

如果掷到6,则可以再次掷骰子并移动相应步数的飞机棋子。

2. 如果玩家的飞机棋子落在其他玩家的飞机棋子上,被撞飞的飞机棋子需要返回到起点重新开始。

3. 在飞机棋子飞行路径上有特殊的安全点和危险点,如果飞机棋子落在安全点,则可以暂时免受被撞飞的风险;如果落在危险点,则可能被撞飞或者退回起点。

4. 当玩家的飞机棋子到达终点时,需要准确掷骰子来精确移动到终点的位置。

如果掷骰子的点数超出终点位置,则需要移动到终点后再回退相应的步数。

5. 第一个将所有飞机棋子成功飞到终点的玩家获胜,游戏结束。

术语和技巧: 1. 策略:玩家需要根据游戏情况和其他玩家的位置来制定移动策略,尽量避免被撞飞并快速飞到终点。

2. 飞机棋子的选择:在掷骰子后,玩家需要根据掷骰子的点数来选择移动哪个飞机棋子,以最大化自己的移动效益。

3. 安全点和危险点的利用:玩家可以根据飞机棋子的位置来选择移动路径,尽量避开危险点或者利用安全点来保护自己的飞机棋子。

飞行棋小游戏不仅考验玩家的运气,还需要玩家灵活运用策略来取得胜利。

希望以上规则和技巧能帮助玩家更好地享受这款经典的家庭游戏。

飞行棋游戏

飞行棋游戏

飞行棋游戏飞行棋是一款非常受欢迎的棋类游戏,它又被称为飞机棋。

这款游戏适合2-4个人一起玩,玩家需要控制自己的飞机前进并击败其他玩家。

飞行棋具有简单易懂的规则和刺激的游戏过程,深受大众喜爱。

飞行棋的游戏板由一个长方形棋盘组成,被划分为数十个小格子。

玩家起点位置分别位于棋盘四个角,每个玩家有四架飞机。

游戏目标是通过掷骰子并按照点数前进,最先将自己的四架飞机带回终点的玩家获胜。

飞行棋的规则相当简单。

每个玩家轮流掷骰子,并按照骰子上的点数选择移动一架飞机。

飞机只能在棋盘上的小格子中移动,不能倒退。

如果玩家掷出的点数是6,那么他就可以再走一次;如果他连续三次掷出的点数都是6,那他就必须将一架飞机从起点重新开始。

游戏中存在着一些特殊的格子,它们会给玩家带来不同的效果。

例如,“跳桥”格子会使得玩家飞机直接绕过一段路程,而“拐弯”格子会使得玩家飞机改变方向。

这些特殊格子的设计为游戏增加了一些策略性,玩家需要根据具体情况决定如何移动飞机。

飞行棋游戏中最有趣的部分是玩家之间的对战。

当两架飞机在同一个格子上时,后来的飞机会将前面的飞机送回起点,玩家需要重新走过一段路程。

这使得玩家之间形成了一种角力的竞争,大家都想尽快将自己的飞机安全带回终点。

飞行棋游戏适合各个年龄段的人群,无论是孩子还是成年人都可以享受其中的乐趣。

它不仅能增强玩家的集中力和判断力,还能培养玩家们的团队合作精神和竞争意识。

总的来说,飞行棋是一款经典而又受欢迎的棋类游戏,它的规则简单易懂,而游戏过程又紧张刺激。

无论是家庭团聚时还是朋友间的小型聚会,飞行棋都能给大家带来欢乐和友谊的体验。

让我们拿起骰子,控制飞机,在飞行棋的棋盘上留下美好的回忆吧!。

飞行棋小游戏

飞行棋小游戏

飞行棋小游戏飞行棋是一种非常受欢迎的小游戏,适合两到四个人玩。

游戏的目标是让你的飞机尽快飞到终点,同时阻止其他玩家的飞机。

游戏规则如下:1. 每个玩家从起点开始,拥有四架飞机。

在你的回合里,你可以选择移动一架飞机。

2. 游戏板上有一条环形路径,分为四个颜色的区域:红色、黄色、蓝色和绿色。

每个区域有十个位置,表示该区域的飞机可以停留的位置。

3. 你的飞机只能在同色区域内移动,不能跨越不同颜色的区域。

你需要掷骰子来确定每次移动的步数。

4. 如果你的飞机停在一个已经有其他玩家的飞机的位置上,你可以将该飞机击退到起点。

被击退的飞机需要重新开始。

5. 当你的飞机走完整个环形路径并回到起点时,你需要将它移动到同色区域的下一个位置。

例如,如果你的飞机在红色区域的最后一个位置,你需要将它移动到黄色区域的第一个位置。

6. 第一架到达终点的飞机即为胜利者。

游戏中的一些术语和技巧:1. 飞机的安全区:每个颜色的区域都有一个安全区,通常是该区域的第一个位置。

在安全区内,你的飞机不会被其他玩家的飞机击退。

2. 同色区域的跳跃:如果你的飞机正好停在同色区域的最后一个位置,你可以选择跳到下一个同色区域的第一个位置,而不是回到起点。

3. 阻止其他玩家:你可以选择将你的飞机停在其他玩家的飞机前面,这样当他们投掷骰子时,他们无法移动。

这是一个很有策略性的举动,可以阻止其他玩家的飞机前进。

为了增加游戏的挑战性和乐趣,你可以尝试以下创意和想象力的策略:1. 利用同色区域的跳跃:如果你的飞机快要到达终点,但是前面有其他玩家的飞机阻挡,你可以选择跳跃到下一个同色区域,绕过阻碍。

2. 阻止其他玩家的进展:观察其他玩家的情况,如果有机会击退他们的飞机,可以选择这样做,以延缓他们的进展。

3. 选择最佳路径:在每次移动时,仔细选择最佳路径和飞机,以最大化你的进展。

有时候,移动一架飞机可能比移动其他飞机更有利。

通过清晰地理解飞行棋的规则和玩法,并运用一些创意和想象力的策略,你将能够充分享受这个有趣的小游戏带来的乐趣和挑战。

java小项目骑士飞行棋(含视频地址)

java小项目骑士飞行棋(含视频地址)

骑士飞行棋骑士飞行棋简介:《骑士飞行棋》又名《别生气》,是一款跟传统的飞行棋一模一样的小游戏。

游戏中每家有4个棋兵,谁4个兵最先到达目的地谁就赢(每一家的目的地各不相同,用颜色区别,大本营是什么颜色目的就是什么颜色)。

当没有活动的兵时,每家可以连续扔3次,直到扔出6点释放出一个兵。

之后每轮只能扔一次,棋兵前进的格数由扔出的点数决定,扔几点就走几步。

无论是前进或者后退,当棋兵最后落脚的地方踩到对方棋兵时,就把对方棋兵轰回老家,当踩到地雷就后退6格,当踩到“¤”时,就进入幸运轮盘,里面有8种运气:前进、后退、交换位置、转移、暂停一轮、奖励一次、设置地雷、轰炸(将对方棋兵炸退6步)。

一、需求分析:1、定义一个类MAP,生成游戏中的地图,地图中包括幸运轮盘“¤”的位置,地雷位置,暂停位置,时候隧道位置。

同时构造成员方法creatMap生成对战图,设置相关的成员变量;构造成员方法getGraph返回地图当前位置的对应图片。

定义构造方法showLine1输出地图的奇数行(第1、3行),定义showLine2输出地图的偶数行(第2行);定义showRLine输出地图的右竖列;定义showLLine输出地图的左数列;最后定义showMap方法显示对战图。

2、定义游戏类Game,定义相关的成员变量,包括对战图map,对战中玩家1的当前位置playerPos1,对战中玩家2的当前位置playerPos2,走或停标识设置goAndStop,对战角色playerName。

构造成员方法init()调用生成地图方法creatMap;开始游戏方法start(),同时构造成员方法setRole设置对战角色。

构造对战玩法的方法play。

其中方法play中调用掷骰子成员方法throwShifter,并返回掷出的骰子数目;构造成员方法getCurPos计算玩家此次移动后的当前位置,返回移动后的位置,构造方法judge 显示对战结果。

飞行棋小游戏

飞行棋小游戏

飞行棋小游戏
飞行棋是一款非常受欢迎的小游戏,适合两到四名玩家参与。

游戏的目标是让自己的四架飞机先回到家的中心点,而阻止其他玩家的飞机到达目的地。

玩家需要根据骰子的点数来移动自己的飞机。

每个玩家轮流掷骰子,然后根据点数来移动自己的飞机。

如果玩家掷到了6,可以再掷一次骰子并移动飞机。

当飞机经过其他玩家的飞机时,可以将对方的飞机送回起点,这就是“吃子”。

在游戏中,有一些特殊的点数和规则需要注意。

比如,如果玩家掷到了4,可以选择移动一架飞机四步,或者移动一架飞机出发。

另外,玩家需要在起飞点停留一回合后才能起飞。

而当玩家的飞机经过自己的起飞点时,可以选择停下来不起飞,也可以选择起飞。

除了基本的规则外,玩家还需要注意其他玩家的飞机位置,以避免被吃子。

同时,可以利用自己的飞机来堵住其他玩家的路径,增加游戏的策略性。

飞行棋是一款简单而有趣的小游戏,适合家庭或朋友一起玩耍。

玩家需要一定的运气和策略来取得胜利,同时也需要注意其他玩家的动向,以免被吃子。

希望你能尝试这款游戏,并且享受其中的乐趣和挑战。

简单的骑士周游问题的解法

简单的骑士周游问题的解法

"骑士周游问题"是一个经典的图论问题,它要求在一个国际象棋棋盘上,骑士(可以按照L形走动:每次移动两格横向或纵向,再一格横向或纵向)从某一格出发,访问每一格恰好一次后回到起始格子。

解决此问题没有固定的简单算法,但对于较小的棋盘尺寸,比如8x8的棋盘,可以通过穷举搜索的方式来求解。

然而,对于较大的棋盘,由于可能的路径数量呈指数级增长,穷举搜索并不实际。

一种更高效的启发式方法是采用回溯算法或A*搜索等高级搜索算法。

基本思路是设定一个状态空间树,每个节点代表骑士的一种位置状态,然后通过向前探索所有可能的移动方向,并在过程中检查是否重复访问过某个格子,以及是否已经遍历完所有格子。

另外,对于8x8的棋盘,实际上是有解决方案的,并且不止一种,具体的行走路线可以通过计算得出。

这个问题也可以转换成Hamilton回路问题来考虑,但是Hamilton回路问题是NP 完全问题,在一般图上没有多项式时间的确定性算法可以解决,但是对于棋盘这种特殊的图结构,可能存在特定的构造方法或搜索策略来找到解。

骑士飞行棋游戏

骑士飞行棋游戏

《骑士飞行棋游戏》
功能需求说明:
1. 该游戏是两人对战方式。

2. 游戏规则:(1)游戏规则和传统飞行棋一样,支持两人对战。

(2)采用100格小型游戏棋盘。

(3)双方轮流掷骰子,每轮只能掷一次骰子,前进的格数由扔出的点数决定,扔几点就走几步。

地图格子包含:■ 暂停(暂停一次掷骰子),¤幸运轮盘(交换位置或轰炸对方倒退6格),★地雷(后退6格),〓时空隧道(再前进6个),∷普通(走到普通格停下,如果踩到对方,对方被轰回老家)。

(4)连续第二次踩到相同关卡,第二次关卡不生效。

(注意:可以自行设计更多的游戏关卡)。

3. 游戏开始时,能够提供作战地图的选择,备选作战地图至少3个。

4. 中途结束游戏时,能够保存当前游戏的相关数据,如:当前作战地图、玩家名称、玩家在地图所在位置等。

5. 游戏开始时,能够提供两种运行方式:新的游戏和加载最近一次保存的游戏。

技术要求说明:
1.在项目中体现面向对象多态的应用。

2.I/O技术,即外部文件的读写。

游戏总体要求:
1.完成题目要求的基本业务功能。

2.游戏项目代码结构合理,冗余小、耦合度低,易于扩展更新地图。

3.代码有必要的注释信息。

4. 界面显示简洁,排列整齐,操作简便易懂。

三、评分标准
课程设计分数由三部分组成:程序功能检查占总分50%、回答教师提问占总分30%和项目心得占总分20%。

四、游戏运行效果截图。

飞行棋小游戏

飞行棋小游戏

飞行棋小游戏飞行棋是一款非常受欢迎的家庭休闲游戏,适合2到4名玩家参与。

游戏的目标是尽快将自己的飞机飞到终点,并在过程中尽量不被其他玩家的飞机撞到。

以下是飞行棋的详细玩法和规则。

1. 游戏设备和准备:- 游戏棋盘:飞行棋的棋盘通常是一个圆形,上面划分为多个不同颜色的区域,并标有不同的数字和图案。

- 飞机棋子:每个玩家有4架飞机棋子,可以选择不同的颜色来区分。

- 扑克牌:使用一副扑克牌,除去大小王,剩下的牌按照点数和花色与棋盘上的区域相对应。

2. 游戏规则:- 每个玩家从起点开始,通过掷骰子来移动自己的飞机。

- 掷骰子的点数决定了飞机可以前进的步数。

- 玩家可以选择移动任意一架飞机,也可以选择不移动。

- 如果玩家的飞机经过或停在其他玩家的飞机所在的位置,其他玩家的飞机会被撞回起点。

- 当玩家的飞机走到终点时,该飞机获得胜利。

3. 游戏进行:- 游戏开始时,每个玩家将自己的4架飞机放在起点。

- 每位玩家轮流掷骰子,根据点数移动自己的飞机。

- 如果掷骰子的点数是6,玩家可以再次掷骰子,并将飞机移动相应的步数。

- 如果玩家的飞机经过起点,可以选择停在起点或继续前进。

- 如果玩家的飞机经过其他玩家的飞机所在的位置,其他玩家的飞机会被撞回起点。

- 如果玩家的飞机经过特殊区域,如“加油站”或“停机坪”,可以按照相应的规则进行操作。

- 玩家可以选择移动任意一架飞机,也可以选择不移动,但每次只能移动一架飞机。

- 第一个将所有飞机都飞到终点的玩家获得胜利。

4. 术语和技巧:- 撞击:当玩家的飞机经过或停在其他玩家的飞机所在的位置时,其他玩家的飞机会被撞回起点。

- 加油站:在某些特殊区域,玩家可以选择停下来加油,使自己的飞机可以多移动一次。

- 停机坪:在某些特殊区域,玩家可以选择停下来停机,使自己的飞机免受被撞击的风险。

- 策略:玩家可以根据自己和其他玩家的飞机位置,选择合适的飞机移动顺序和路径,以最大限度地避免被撞击,同时尽快将自己的飞机飞到终点。

飞行棋的设计与实现

飞行棋的设计与实现

飞行棋的设计与实现摘要:飞行棋是典型的战旗类游戏(slg),其开发主要包括游戏界面的设计、游戏规则的设计;经过分析,笔者使用 sun 公司的java 语言,利用java 语言提供的各种面向对象的开发工具,在短时间内建立游戏原型,然后,对初始原型进行需求迭代,不断修正和改进,直到形成用户满意的可行系统。

关键词:飞行棋;java;游戏地图;游戏the design and implementation of flight chessxie yunyan(harbin normal university,institute of computer science and information engineering, harbin150025,china) abstract: the flight chess is a battle flag games (slg), includes the development of the game interface design, the design of the rules of the game; after analysis, the author uses sun java language provided by the java language object-oriented development tools, in a short time to establish a prototype of the game, then demand iteration of the initial prototype, constantly revised and improved, until the formation of a viable system of customer satisfaction. keywords: flight chess; java; game map; game一、飞行棋历史起源关于飞行棋发明的年代和发明人,在网络上似乎还没有相关的线索。

飞行棋小游戏玩法攻略

飞行棋小游戏玩法攻略

飞行棋小游戏玩法攻略飞行棋小游戏玩法攻略飞行棋是由四种颜色组成的,上面画有飞机的图形,最多可以四个人各拿一种颜色一起玩,你知道其中的一些攻略吗?下面是飞行棋小游戏玩法攻略,欢迎参阅。

飞行棋小游戏玩法攻略一、开局掷到了6点一定要让飞机起飞,尽量少出飞机(视情况随机应变,不要犯教条主义)。

二、中局:1、一定要好好利用你的机场堡垒,你的机场是你防守的基地,机场没有待机的飞机,则你的机场为不设防,就会给对手顺利通过的机会,所以一定要有飞机停在机场,严阵以待,只要对手的飞机一经过你家大门口,你就毫不留情的打它,呵呵,打的对手大叫“疼”。

2、注意一定要让自己的飞机去尾追对手飞机,千万要防止被对手飞机咬住。

3、飞机叠了罗汉,视作战情形机动分开,你叠罗汉,对手就飞不过去,你可再派飞机来追,大不了与对手同归于尽,但要注意分辨一下价值量的大小。

三架飞机叠在一起时,敌人即使打上,也只能打掉两架。

4、对局时要与搭档交替防守,注意防守感觉的形成,呵呵,配合要默契呀。

5、搭档缺6,有未起飞的飞机,你就要保留安全区(注意:单飞时飞机停在安全区第三格是不安全的,一旦对家给你来个穿心术,你岂不是要心疼的哭死,呵呵),但也要留飞机在你自己安全区,必要时走走秀,呵呵,有时该走闲招也得走。

6、自己的飞机被对手咬住,要尽量将飞机降在搭档的地盘,给敌人追击上造成一些障碍,即使被击落,还会有搭档替你复仇,呵呵~~。

7、小心敌人起落架上飞机的(6+1)这个点子,很准的,千万留意!!8、搭档要互相鼓励,对局中要大声喊6!6呀,再爱我一次吧!或趁对手不注意,把一大把6塞进搭档的口袋里,呵呵~~。

及时为搭档加油,一定要团结协作,并肩飞向胜利的高空。

三、中局要旨:一定要尽量将对手打裸,战术上是放过一个人,合力猛打点背的那个人;但任何时候都要当心别把自己走裸,要惴惴小心,如临深渊!要用细心观察,善于总结经验教训,有投入就有回报。

四、终局:1、掷到6点时,有时库里的飞机可以不起飞,让外面的飞机死追敌人重要目标,甚至派两三架飞机去追。

骑士飞行棋——精选推荐

骑士飞行棋——精选推荐

骑⼠飞⾏棋⼀个棋牌类⼩游戏先写⼀个地图类:public class Map {int[] map = new int[100]; //对战地图int[] luckyTurn = {6, 23, 40, 55, 69, 83}; //幸运轮盘int[] landMine = {5, 13, 17, 33, 38, 50, 64, 80, 94}; //地雷位置int[] pause = {9, 27, 60, 93}; //暂停int[] timeTunnel = {20, 25, 45, 63, 72, 88, 90}; //时空隧道/*** ⽣成地图:* 关卡代号为:1:幸运轮盘 2:地雷 3: 暂停 4:时空隧道 0:普通*/public void createMap(){int i = 0;//在对战地图上设置幸运轮盘for(i = 0; i < luckyTurn.length; i++){map[luckyTurn[i]] = 1;}//添加代码实现在对战地图上设置地雷for(i = 0; i < landMine.length; i++)map[landMine[i]] = 2;//添加代码实现在对战地图上设置暂停for(i = 0; i < pause.length; i++)map[pause[i]] = 3;//添加代码实现在对战地图上设置时空隧道for(i = 0; i < timeTunnel.length; i++)map[timeTunnel[i]] = 4;}/*** 显⽰地图关卡对应的图形* @param i 地图当前位置的关卡代号* @param index 当前地图位置编号* @param playerPos1 玩家1的当前位置* @param playerPos2 玩家2的当前位置* @return地图当前位置的对应图⽚*/public String getGraph(int i, int index, int playerPos1, int playerPos2){String graph = "";//添加代码if(playerPos1 == index && playerPos2 == index)graph = "@@";else if(playerPos1 == index)graph = "A";else if(playerPos2 == index)graph = "B";else{switch(i){case 1: graph = "¤"; break;case 2: graph = "★"; break;case 3: graph = "■"; break;case 4: graph = "〓"; break;default : graph = "∷"; break;}}return graph;}/*** 输出地图的奇数⾏(第1、3⾏)* @param start 输出的起始点在地图上的位置* @param end 输出的结束点在地图上的位置* @param playerPos1 玩家1的当前位置* @param playerPos2 玩家2的当前位置*/public void showLine1(int start, int end, int playerPos1, int playerPos2){//添加代码for(int i = start; i < end; i++)System.out.print(getGraph(map[i], i, playerPos1, playerPos2));}/*** 输出地图的偶数⾏(第2⾏)* @param start 输出的起始点在地图上的位置* @param end 输出的结束点在地图上的位置* @param playerPos1 玩家1的当前位置* @param playerPos2 玩家2的当前位置*/public void showLine2(int start, int end, int playerPos1, int playerPos2){ for(int i = end-1; i >= start; i-- ){System.out.print(getGraph(map[i], i,playerPos1, playerPos2));}}/*** 输出地图的右竖列* @param start 输出的起始点在地图上的位置* @param end 输出的结束点在地图上的位置* @param playerPos1 玩家1的当前位置* @param playerPos2 玩家2的当前位置*/public void showRLine(int start, int end, int playerPos1, int playerPos2){for(int i = start; i< end; i++){for(int j = 29; j > 0; j--){ //输出29个空格System.out.print(" ");}System.out.print(getGraph(map[i], i,playerPos1, playerPos2));System.out.println();}}/*** 输出地图的左竖列* @param start 输出的起始点在地图上的位置* @param end 输出的结束点在地图上的位置* @param playerPos1 玩家1的当前位置* @param playerPos2 玩家2的当前位置*/public void showLLine(int start, int end, int playerPos1, int playerPos2){//添加代码for(int i = start; i < end; i++){System.out.print(getGraph(map[i], i, playerPos1, playerPos2));System.out.println();}}/*** 显⽰对战地图* @param playerPos1 玩家1的当前位置* @param playerPos2 玩家2的当前位置*/public void showMap(int playerPos1, int playerPos2){//显⽰地图第⼀⾏showLine1(0, 31, playerPos1, playerPos2);//换⾏System.out.println();//显⽰地图右竖⾏showRLine(31, 35, playerPos1, playerPos2);//显⽰地图第⼆⾏showLine2(35, 66, playerPos1, playerPos2);//换⾏System.out.println();//显⽰地图左竖⾏showLLine(66, 69, playerPos1, playerPos2);//显⽰地图第3⾏showLine1(69, 100, playerPos1, playerPos2);}}接下来是游戏类:import java.util.*;public class Game {//声明地图Map map;//声明对战中玩家1的当前位置int playerPos1;//声明对战中玩家2的当前位置int playerPos2;//声明⾛或停标识设置String[] goAndStop = new String[2];//声明对战⾓⾊String[] playerName = new String[2];/*** 初始化游戏的⼀局*/public void init(){//创建Map对象map = new Map();//⽣成地图map.createMap();//设置玩家1起始位置playerPos1 = 0;//设置玩家2起始位置playerPos2 = 0;//记录玩家1下⼀次⾛或停goAndStop[0] = "on";//设置玩家2下⼀次⾛或停goAndStop[1] = "on";}/*** 开始游戏*/public void start(){//调⽤初始化⽅法init();//显⽰游戏界⾯System.out.print("※※※※※※※※※※※※※※※※※※※※※※※※※\n");System.out.println("// //");System.out.println("// //");System.out.println("// 骑⼠飞⾏棋 //"); System.out.println("// //");System.out.println("// //");System.out.print("※※※※※※※※※※※※※※※※※※※※※※※※※\n");System.out.println();System.out.println();System.out.println();System.out.println("~~~~~~~~~~~~~~~~~~两⼈对战~~~~~~~~~~~~~~~~~~~"); System.out.println();System.out.println("请选择⾓⾊: 1. 戴⾼乐 2. 艾森豪威尔 3. 麦克阿瑟 4. 巴顿");//⾓⾊设置System.out.print("请玩家1选择⾓⾊:");Scanner input = new Scanner(System.in);int role1 = input.nextInt();int role2;do{System.out.print("请玩家2选择⾓⾊:");role2 = input.nextInt();}while(role1 == role2);setRole(1, role1);setRole(2, role2);//开始游戏play();}/*** 设置对战⾓⾊* @param no 玩家次序 1:玩家1 2:玩家2* @param role ⾓⾊代号*/public void setRole(int no, int role){switch(role){case 1:playerName[no-1] = "戴⾼乐";break;case 2://设置玩家名称为"艾森豪威尔"playerName[no-1] = "艾森豪威尔";case 3://设置玩家名称为"麦克阿瑟"playerName[no-1] = "麦克阿瑟";case 4://设置玩家名称为"巴顿"playerName[no-1] = "巴顿";default:break;}}/*** 两⼈对战玩法*/public void play(){System.out.println("\n\n\n\n");System.out.print("\n\n****************************************************\n");System.out.print(" Game Start \n");System.out.print("****************************************************\n\n");//显⽰对战双⽅⼠兵样式System.out.println("^_^" + playerName[0] + "的⼠兵: A");System.out.println("^_^" + playerName[1] + "的⼠兵:B\n");//显⽰对战地图System.out.println("\n图例: " + "■暂停 ¤ 幸运轮盘★地雷〓时空隧道∷普通\n"); map.showMap(playerPos1, playerPos2);//游戏开始int step; //存储骰⼦数⽬while(playerPos1 < 99 && playerPos2 < 99){ //有任何⼀⽅⾛到终点,跳出循环//轮流掷骰⼦if(goAndStop[0].equals("on")){//玩家1掷骰⼦step = throwShifter(1); //掷骰⼦System.out.println("\n-----------------"); //显⽰结果信息System.out.println("骰⼦数: "+ step);playerPos1 = getCurPos(1, playerPos1, step); //计算这⼀次移动后的当前位置System.out.println("\n您当前位置: "+ playerPos1);System.out.println("对⽅当前位置:"+ playerPos2);System.out.println("-----------------\n");map.showMap(playerPos1, playerPos2); //显⽰当前地图if(playerPos1 == 99){ //如果⾛到终点break; //退出}}else{System.out.println("\n" + playerName[0] +"停掷⼀次!\n"); //显⽰此次暂停信息goAndStop[0] = "on"; //设置下次可掷状态}System.out.println("\n\n\n\n");if(goAndStop[1].equals("on")){//玩家2掷骰⼦step = throwShifter(2); //掷骰⼦System.out.println("\n-----------------"); //显⽰结果信息System.out.println("骰⼦数: "+ step);playerPos2 = getCurPos(2, playerPos2, step); //计算这⼀次移动后的当前位置System.out.println("\n您当前位置: "+ playerPos2);System.out.println("对⽅当前位置:"+ playerPos1);System.out.println("-----------------\n");map.showMap(playerPos1, playerPos2);if(playerPos2 == 99){ //如果⾛到终点break; //退出}}else{System.out.println("\n" + playerName[1] + "停掷⼀次!\n"); //显⽰此次暂停信息goAndStop[1] = "on"; //设置下次可掷状态}System.out.println("\n\n\n\n");}//游戏结束System.out.println("\n\n\n\n");System.out.print("****************************************************\n");System.out.print(" Game Over \n");System.out.print("****************************************************\n\n");judge();}/*** 掷骰⼦* @param no 玩家次序* @return step 掷出的骰⼦数⽬*/public int throwShifter(int no){//定义变量存储骰⼦数⽬int step = 0;//提⽰玩家启动掷骰⼦System.out.print("请输⼊任意key并回车开始掷骰⼦:");Scanner input = new Scanner(System.in);input.next();//模拟掷骰⼦:产⽣⼀个1~6的数字作为玩家掷的骰⼦数⽬step = (int)(Math.random()*10) % 6 + 1;return step;}/*** 计算玩家此次移动后的当前位置* @param no 玩家次序* @param position 移动前位置* @param step 掷的骰⼦数⽬* @return position 移动后的位置*/public int getCurPos(int no, int position, int step){position = position + step; //第⼀次移动后的位置if(position >= 99){return 99;}Scanner input = new Scanner(System.in);switch(map.map[position]){ //根据地图中的关卡代号进⾏判断case 0: //⾛到普通格if(no == 1 && position == playerPos2){ //添加条件:玩家1与对⽅骑兵相遇 //添加代码实现:踩到对⽅,对⽅回到起点playerPos2 = 0;System.out.println(":-D 哈哈哈哈...踩到了!");}if (no == 2 && position == playerPos1){ //添加条件:玩家2与对⽅骑兵相遇 //添加代码实现:踩到对⽅,对⽅回到起点playerPos1 = 0;System.out.println(":-D 哈哈哈哈...踩到了!");}break;case 1: //幸运轮盘System.out.println("\n◆◇◆◇◆欢迎进⼊幸运轮盘◆◇◆◇◆");System.out.println(" 请选择⼀种运⽓:");System.out.println(" 1. 交换位置 2. 轰炸");System.out.println("=============================\n");int choice = input.nextInt();int temp; //交换时的临时变量switch(choice){case 1: //交换位置if(no == 1){//添加代码实现交换:position与playerPos2数值互换temp = playerPos2;playerPos2 = position;position = temp;}else if(no == 2){//添加代码实现交换:position与playPos1数值互换temp = playerPos1;playerPos1 = position;position = temp;}break;case 2: //轰炸if(no==1 && playerPos2<6){ //no为1并且玩家2位置⼩于6//添加代码实现:计算玩家2当前位置playerPos2 = 0;}else{//添加代码实现:计算玩家2当前位置playerPos2 -= 6;}if(no==1 && playerPos1<6){ //no为2并且玩家1位置⼩于6//添加代码实现: 计算玩家1当前位置playerPos1 = 0;}else{//添加代码实现:计算玩家1当前位置playerPos1 -= 6;}break;}break;case 2: //踩到地雷//添加代码实现:踩到地雷退6步position -= 6;System.out.println("~:-( " + "踩到地雷,⽓死了...");break;case 3: //下⼀次暂停⼀次//添加代码实现:设置下次暂停掷骰⼦goAndStop[no-1] = "off";System.out.println("~~>_<~~ 要停战⼀局了。

飞行棋小游戏

飞行棋小游戏

飞行棋小游戏飞行棋是一种非常受欢迎的家庭小游戏,可以供两到四个人玩。

游戏目标是让你的棋子尽快从起点飞到终点,同时阻止其他玩家完成任务。

以下是飞行棋的规则和玩法的详细说明。

1. 游戏目标:- 将你的四个棋子从起点飞到终点,并尽量早地完成任务。

- 阻止其他玩家完成任务,通过攻击或阻挡他们的棋子。

2. 游戏设备:- 飞行棋棋盘:通常是一个圆形的棋盘,上面有一条从起点到终点的路径,路径上有一些特殊的方格。

- 飞行棋棋子:每个玩家有四个棋子,可以选择不同的颜色或形状。

3. 游戏规则:- 每个玩家轮流掷骰子,根据骰子的点数移动自己的棋子。

- 根据骰子的点数,你可以选择移动一个棋子,或者将点数分配给两个棋子移动。

- 如果你掷出的点数是6,你可以额外掷一次骰子,并且如果你连续掷出三次6,你可以选择将一个棋子放到起点的空格上。

- 当你的棋子落在一个没有其他玩家的棋子的方格上时,你可以占领该方格,将对方的棋子移回起点。

- 当你的棋子落在一个已经被其他玩家占领的方格上时,你的棋子会被送回起点。

- 当你的棋子落在一个特殊方格上时,例如“跳跃”或“转弯”,你必须按照该方格上的指示进行移动。

- 当你的棋子到达终点时,你必须掷出一个点数刚好足够到达终点的点数,否则你需要将棋子移回以前的位置。

4. 术语和技巧:- 占领方格:通过将棋子放在没有其他玩家棋子的方格上,可以将该方格占为己有,阻止其他玩家通过。

- 阻挡:通过将你的棋子放在其他玩家的棋子后面,阻止他们的前进。

- 攻击:通过将你的棋子放在其他玩家的棋子上,将他们的棋子送回起点。

- 策略:根据骰子的点数和当前棋局情况,制定最佳的移动策略,同时考虑阻止其他玩家的策略。

飞行棋是一款简单而有趣的游戏,不仅可以提高玩家的决策能力和策略思维,还可以增进家庭成员之间的互动和娱乐。

通过尝试不同的策略和方法,你可以提高自己的技能,并享受游戏带来的挑战和乐趣。

祝你玩得愉快!。

飞行棋小游戏

飞行棋小游戏

飞行棋小游戏飞行棋是一款非常受欢迎的家庭桌游,它的目标是让你的飞机飞行一圈,最先回到起点的玩家获胜。

下面是飞行棋的详细规则和玩法。

1. 游戏准备:- 将游戏棋盘放在桌面上,每个玩家选择一个颜色,并将相应的飞机放在起点位置。

- 每个玩家掷骰子,谁掷到的点数最大,就先开始游戏。

2. 游戏规则:- 游戏开始后,每个玩家轮流掷骰子并按照骰子的点数移动自己的飞机。

- 根据骰子的点数,玩家可以选择移动一个飞机的步数,或者移动两个飞机的步数之和。

- 玩家可以选择沿着棋盘上的路径向前移动,也可以选择在自己的飞机附近的任意位置起飞。

- 如果玩家的飞机落在已经有其他玩家的飞机的位置上,被堵住的飞机需要返回起点重新开始。

- 如果玩家的飞机经过起点,可以选择停留一回合,或者继续向前移动。

- 玩家可以选择在某些特殊的格子上停留,例如“拐弯”格子,可以改变飞机的移动方向;“加油站”格子,可以额外移动一次;“暂停”格子,需要停留一回合等等。

3. 胜利条件:- 玩家的目标是让自己的飞机飞行一圈,最先回到起点的玩家获胜。

- 如果有多个玩家的飞机同时回到起点,那么根据谁先回到起点来决定胜负。

4. 术语和技巧:- 飞机被堵住后,可以选择其他飞机起飞,或者等待其他玩家的飞机移动。

- 利用特殊格子的效果,例如拐弯格子可以改变移动方向,加油站格子可以额外移动一次等等。

- 观察其他玩家的飞机位置,选择合适的时机堵住对手的飞机。

- 考虑使用一些策略,例如选择移动两个飞机的步数之和,或者选择停留在起点等等。

希望以上的详细规则和玩法能够帮助你完全理解飞行棋,并让你充分享受这款游戏的乐趣。

记住,创造性和想象力是取得胜利的关键,尝试不同的策略和方法,让游戏更具挑战性和乐趣。

祝你玩得愉快!。

飞行棋CocosCreatorTypeScript

飞行棋CocosCreatorTypeScript

飞行棋CocosCreatorTypeScript 飞行棋是一款经典的桌面游戏,在不同地区有着不同的名称,比如天地人、飞机棋等。

随着技术的进步,飞行棋也进入了电子游戏的领域。

本文将介绍如何使用CocosCreator和TypeScript来开发一款飞行棋游戏。

一、概述飞行棋是一种多人对战的棋盘游戏,玩家通过投掷骰子并按照点数前进相应的步数,目标是第一个到达终点。

游戏中还设有一些特殊点,玩家经过这些点时会触发不同的事件,增加游戏的趣味性。

二、游戏规则1. 游戏初始化游戏开始时,每个玩家的棋子都位于起点位置,玩家按照顺时针的方式进行游戏。

2. 投掷骰子玩家轮流掷骰子,每次掷骰子后,可以向前移动相应步数的格子。

3. 目标和终点玩家的目标是尽快到达终点,终点位置由每个玩家的起点位置加上固定的步数得到。

4. 特殊点游戏棋盘上有一些特殊的点,玩家经过这些点时会触发不同的事件,比如前进或后退若干步,交换位置等。

三、开发环境准备在开始开发之前,我们需要准备好开发环境。

首先,确保已安装CocosCreator和Node.js。

然后,创建一个新的CocosCreator项目,选择TypeScript作为开发语言。

四、游戏界面设计1. 棋盘背景游戏的主界面是一个棋盘背景,可以使用CocosCreator的Sprite 组件加载一个棋盘背景图片,或者绘制一个棋盘背景精灵。

2. 棋子每个玩家都有一个棋子,可以使用精灵或者动画来表示。

通过控制棋子的位置来实现前进或者后退的效果。

3. 骰子游戏中需要一个骰子来掷出点数,可以使用按钮或者点击屏幕的方式来模拟掷骰子的动作。

在TypeScript中,可以使用事件监听来实现这一功能。

五、游戏逻辑实现在游戏逻辑实现中,可以使用TypeScript来管理游戏的状态和玩家的操作。

以下是一些主要的逻辑实现步骤:1. 游戏初始化在游戏开始时,需要初始化游戏的状态,包括玩家的初始位置、当前玩家等信息。

飞行棋小游戏

飞行棋小游戏

飞行棋小游戏飞行棋是一种非常受欢迎的家庭娱乐游戏,它结合了运气和策略,适合2到4个玩家参与。

游戏目标是让自己的飞机先飞到终点。

游戏规则如下:1. 游戏开始前,每个玩家选择一种颜色的飞机,并将其放置在起点位置。

2. 游戏使用一个特殊的棋盘,上面有一条环绕的路径,路径上有一些特殊的位置,如起飞点、停机坪等。

3. 游戏开始时,每个玩家轮流掷骰子,并根据所掷骰子的点数移动自己的飞机。

每个玩家每次只能移动一个飞机。

4. 飞机只能顺着路径移动,不能倒退。

如果玩家掷骰子的点数大于飞机离终点的距离,那么玩家只能停在离终点最近的位置。

5. 在路径上有一些特殊的位置,如起飞点、停机坪等。

当玩家的飞机经过起飞点时,可以选择起飞一个新的飞机。

当玩家的飞机经过停机坪时,可以选择停下来休息一回合,以免被其他玩家撞飞。

6. 如果玩家的飞机经过其他玩家的飞机所在的位置,那么其他玩家的飞机将被撞飞,并返回到起点重新开始。

7. 游戏中还有一些特殊的道具卡,如加速卡、减速卡、转向卡等,玩家可以使用这些道具来影响游戏进程。

8. 第一个将自己的飞机飞到终点的玩家即为胜利者。

在游戏中,玩家可以根据自己的策略选择移动哪个飞机,使用道具卡来干扰其他玩家,以及决定何时起飞或停机休息。

玩家需要根据棋盘上的情况和其他玩家的行动来做出决策,以尽可能快地将自己的飞机飞到终点。

一些策略和技巧可以帮助玩家提高胜率:1. 尽量保持自己的飞机在一起,这样可以形成一个保护盾,减少被其他玩家撞飞的机会。

2. 在起飞点附近放置多个飞机,以增加起飞的机会。

3. 根据棋盘上的情况和其他玩家的位置,合理使用道具卡,干扰其他玩家的行动。

4. 在接近终点时,尽量避免停在离终点较近的位置,以免被其他玩家撞飞。

5. 注意其他玩家的行动,尽量预测他们的下一步并做出相应的应对。

通过灵活运用策略和技巧,玩家可以提高自己的胜率,并享受飞行棋带来的乐趣和挑战。

不同的玩家可以尝试不同的策略和方法,使游戏更具变化和挑战性。

飞行棋小游戏

飞行棋小游戏

飞行棋小游戏飞行棋是一种非常受欢迎的棋盘游戏,它可以供2到4个玩家一起玩。

游戏的目标是让你的飞机尽快飞行到终点。

游戏规则:1. 每个玩家都有4架飞机,开始时它们都位于起点。

2. 游戏使用一个特殊的棋盘,上面有一条环形的飞行路径,上面标有各种颜色的方块。

3. 每个玩家轮流掷骰子,并根据骰子的点数移动飞机。

你可以选择移动任何一架飞机,也可以选择不移动。

4. 如果你掷出的点数是6,你可以再掷一次骰子,并移动同一架飞机或者移动另一架飞机。

5. 如果你的飞机经过起点,你可以选择在起点上放置一架新的飞机。

6. 如果你的飞机经过其他玩家的飞机,你可以将其击退到起点。

7. 如果你的飞机经过一个颜色方块,你可以继续前进相应数量的格子。

8. 如果你的飞机经过一个星星方块,你可以选择继续前进相应数量的格子,也可以选择停在星星方块上。

9. 第一个将所有飞机飞行到终点的玩家获胜。

术语和技巧:1. 路径:飞行棋的飞行路径是一个环形的,玩家需要按照路径上的方块移动飞机。

2. 骰子:玩家通过掷骰子来确定移动飞机的步数。

3. 起点:每个玩家的飞机开始时都位于起点,经过起点时可以放置新的飞机。

4. 终点:玩家需要将所有飞机飞行到终点才能获胜。

5. 颜色方块:路径上有各种颜色的方块,经过这些方块时可以继续前进相应数量的格子。

6. 星星方块:路径上有星星方块,经过这些方块时可以选择继续前进相应数量的格子,或者停在星星方块上。

7. 击退:如果你的飞机经过其他玩家的飞机,你可以将其击退到起点。

创造性和想象力:在飞行棋中,你可以尝试不同的策略和方法来达到终点。

你可以选择移动一个已经接近终点的飞机,也可以选择放置新的飞机来增加你的机会。

你还可以利用击退其他玩家的飞机来阻止他们的进展。

此外,你可以根据路径上的颜色方块和星星方块来制定更具挑战性的策略,例如选择继续前进还是停在星星方块上。

通过发挥创造力和想象力,你可以使游戏更加有趣和具有挑战性。

飞行棋小游戏

飞行棋小游戏

飞行棋小游戏飞行棋是一种经典的棋盘游戏,旨在让玩家的棋子尽快飞行到终点。

以下是该游戏的详细玩法和规则。

目标:游戏的目标是尽快将自己的棋子飞行到终点,并击败其他玩家。

游戏规则:1. 飞行棋棋盘上有一条环形的飞行路径,上面标有不同的颜色和数字。

2. 每个玩家选择一种颜色的棋子,并将其放置在起点位置。

3. 游戏开始时,每个玩家掷骰子决定谁先开始,并按照顺时针方向依次行动。

4. 掷骰子后,玩家将棋子沿着路径上移动相应的步数。

如果玩家掷得是6,可以再次掷骰子。

5. 如果玩家的棋子落在一个空格上,可以选择停留或继续移动。

如果选择继续移动,可以按照骰子掷出的步数继续前进。

6. 如果玩家的棋子落在一个颜色方块上,可以按照方块上标有的数字移动到相应的位置。

如果有其他玩家的棋子在目标位置上,将其击退到起点。

7. 如果玩家的棋子落在一个特殊方块上,例如“暂停”或“反弹”,必须按照方块上的指示执行相应的操作。

8. 第一个将所有棋子都飞行到终点的玩家获胜。

术语和技巧:1. 飞行棋中常用的术语包括起点、终点、颜色方块、特殊方块等。

熟悉这些术语可以更好地理解游戏规则和策略。

2. 策略是飞行棋中的关键。

玩家可以选择快速飞行,以尽快到达终点,或者采取攻击其他玩家的策略,以击退他们的棋子。

3. 了解每个颜色方块上标有的数字是很重要的,因为这将决定玩家棋子的移动距离。

4. 特殊方块可以在游戏中起到关键作用。

玩家需要根据方块上的指示来调整自己的策略。

创造性和想象力:飞行棋是一种非常灵活的游戏,玩家可以根据自己的创造力和想象力来制定不同的策略和方法。

例如,玩家可以选择与其他玩家合作,以击退领先的玩家,或者选择尽量快速飞行,以在最短时间内到达终点。

此外,玩家还可以尝试不同的掷骰子技巧,以获得更好的移动结果。

总结:飞行棋是一款简单而有趣的棋盘游戏,适合朋友和家人一起玩。

通过理解游戏的规则和策略,并发挥自己的创造力和想象力,玩家可以享受到这款游戏带来的挑战和乐趣。

骑士飞行棋代码

骑士飞行棋代码

好几天没更新了,是因为给大家写这个小游戏去了,好久没写了,逻辑上出了问题,调试了好久终于出来了,我自己测试了下没什么大问题,不过应该还是会有BUG,希望大家下载后找到BUG了给我说下,呵呵,谢谢!代码:如下地图类Map():package com.yx.dao;/*** 地图类* @author Administrator**/public class Map {// 定义地图的大小int [] map = new int[100];int[] dilei = {5,16,56,72,80,85}; // 定义地雷的位置int[] luck = {15,50,88}; // 定义幸运大罗盘的位置int[] pulse = {9,25,35,48,65,85,92,95}; // 定义暂停的位置int[] time = {20,39,47,68,81,90}; // 定义时空隧道public int index = 0; // 定义起始位置public int playerA = 0; // 玩家A的位置public int playerB = 0; // 玩家B的位置/*** 找到定义地雷、幸运大罗盘等的位置,然后给他第一个数字来代替,为后面的判断做准备*/public void initialMap(){// 循环找出所有的地雷,并把它暂时标记为1for(int i = 0; i < 100; i++) {map[i] = 0;}for(int i =0; i < dilei.length; i++) {map[dilei[i]] = 1;}for(int i = 0; i < luck.length; i++) {map[luck[i]] = 2;}for(int i = 0; i < pulse.length; i++) {map[pulse[i]] = 3;}for(int i = 0; i < time.length; i++) {map[time[i]] = 4;}// 以下为判断玩家A或玩家B是否到达终点,是否该结束游戏if(playerA > 99) {map[playerA] = 99;}if(playerB > 99) {map[playerB] = 99;}// 以下是判断玩家A和玩家B是不是在同一个位置上if(playerA != playerB) {map[playerA] = 5;map[playerB] = 6;}else {map[playerA] = 7;}}// 指定地雷、幸运星等在地图上的团public void printMap() {switch(map[index]) {case 0:System.out.print("::");break;case 1:System.out.print("●");break;case 2:System.out.print("◑");break;case 3:System.out.print("〓");break;case 4:System.out.print("◎");break;case 5:System.out.print("A");break;case 6:System.out.print("B");break;case 7:System.out.print("♦");break;}}// 以下为地图的制作方法/*** 现实第一行横排地图*/public void showMap1() {for(index = 0; index < 30; index++) {printMap();}}/*** 现实右边一列的地图*/public void showMapRight() {for(index = 30; index < 35; index++) {System.out.println();System.out.print("\t\t\t\t\t\t ");printMap();}}/*** 显示第三行地图*/public void showMap2() {for(index = 64; index >= 35; index--) { printMap();}}/*** 显示左边列的地图*/public void showMapLeft() {for(index = 65; index < 70; index++) { System.out.println();printMap();}}/*** 最后一行的地图*/public void showMap3() {for(index = 70; index < 100; index++) { printMap();}}/*** 现实所有的地图*/public void showMap() {initialMap();showMap1();showMapRight();System.out.println();showMap2();showMapLeft();System.out.println();showMap3();System.out.println();}}游戏逻辑处理类Game():package com.yx.dao;import java.util.Scanner;/*** 游戏类* @author Administrator**/public class Game {Scanner input = new Scanner(System.in);Map map = new Map();String person1 = ""; // 玩家1名字String person2 = ""; // 玩家2名字boolean game1 = true; // 默认玩家1没有赢boolean game2 = true; // 默认为家2没有赢/*** 打印提示语句以及规定说明等*/public void init() {System.out.println("※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※");System.out.println("////");System.out.println("////");System.out.println("// 骑士飞行棋//");System.out.println("////");System.out.println("////");System.out.println("※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※\n\n");System.out.println("∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽两人对站∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽");System.out.println("请选择角色:1.戴高乐2.艾森豪威尔3.麦克阿瑟4.巴顿");System.out.println("请玩家1选择角色:");int Game1 = input.nextInt();System.out.println("请玩家2选择角色:");int Game2 = input.nextInt();switch (Game1) {case 1:person1 = "戴高乐";break;case 2:person1 = "艾森豪威尔";break;case 3:person1 = "麦克阿瑟";break;case 4:person1 = "巴顿";break;}switch (Game2) {case 1:person2 = "戴高乐";break;case 2:person2 = "艾森豪威尔";break;case 3:person2 = "麦克阿瑟";break;case 4:person1 = "巴顿";break;}/** 两人对战的玩法*/System.out.println("******************************************************************* *****\n");System.out.println(" Game Start \n");System.out.println("******************************************************************* *****\n");// 显示对战双方士兵的样式System.out.println("^-^" + person1 + "的士兵:A\n");System.out.println("^-^" + person2 + "的士兵:B\n");// 显示对战地图System.out.println("\n图例:" + "◐地雷※幸运转盘◑暂停〓时空隧道∷普通\n");map.showMap();do {if (game1) {System.out.println( person1 + "扔筛子产生一个随机数开始:");input.next();int number = (int) (Math.random() * 6 + 1);map.playerA += number;checkGameA();if (map.playerA >= 99) {map.showMap();System.out.println("\n"+person1 + "获得胜利!");judge();break;}} else {game1 = true;// 玩家可以重新移动}if (game2) {System.out.println(person2+ "扔筛子产生一个随机数开始:");input.next();int number = (int) (Math.random() * 6 + 1);map.playerB += number;checkGameB();System.out.println();if (map.playerB >= 99) {map.showMap();System.out.println("\n"+person2 + "获得胜利!");judge();break;}} else {game2 = true;// 玩家可以重新移动}map.showMap();} while (true);}public void checkGameA() {for (int i = 0; i < map.dilei.length; i++) {if (map.playerA == map.dilei[i]) {System.out.println("哎,真衰,踩到地雷了!");int number = (int) (Math.random() * 6 + 1);// 减去的是一个随机数map.playerA -= number;return;}}for (int i = 0; i < map.luck.length; i++) {if (map.playerA == map.luck[i]) {System.out.println("嘿嘿,遇上幸转盘了,我真幸运!");System.out.println("1.交换位置2.轰炸");System.out.println("您选择的是:");int num = input.nextInt();switch (num) {case 1:int temp = map.playerB;map.playerB = map.playerA;map.playerA = temp;break;case 2:map.playerA -= 10;break;}return;}}for (int i = 0; i < map.pulse.length; i++) {if (map.playerA == map.pulse[i]) {System.out.println("唉,得休息一会了!");game1 = false;return;}}for (int i = 0; i < map.time.length; i++) {if (map.playerA == map.time[i]) {System.out.println("哈哈,时空隧道!");map.playerA += 10;return;}}}public void checkGameB() {for (int i = 0; i < map.dilei.length; i++) {if (map.playerB == map.dilei[i]) {System.out.println("哎,真衰,踩到地雷了!");int number = (int) (Math.random() * 6 + 1);map.playerB -= number;// 减去一个随机数return;}}for (int i = 0; i < map.luck.length; i++) {if (map.playerB == map.luck[i]) {System.out.println("嘿嘿,遇上幸转盘了,我真幸运!");System.out.println("1.交换位置2.轰炸");System.out.println("您选择的是:");int num = input.nextInt();switch (num) {case 1:int temp = map.playerB;map.playerB = map.playerA;map.playerA = temp;break;case 2:map.playerA -= 10;break;}return;}}for (int i = 0; i < map.pulse.length; i++) {if (map.playerB == map.pulse[i]) {System.out.println("唉,得休息一会了!");game2 = false;return;}}for (int i = 0; i < map.time.length; i++) {if (map.playerB == map.time[i]) {System.out.println("哈哈,时空隧道!");map.playerA += 10;return;}}}public void judge() {System.out.println("******************************************************************* *****\n");System.out.println(" Game Over \n");System.out.println("******************************************************************* *****\n");}}测试类,游戏入口类Star():package com.yx.test;import com.yx.dao.Game;//import com.yx.dao.Map;public class test {/*** @param args*/public static void main(String[] args) {Game game = new Game();game.init();}}我这是分了两个包建立的,希望大家建立的时候注意下,或者可以直接加QQ,你可以直接下载到项目然后导入就可以了,这样就不存在其它问题了,呵呵。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

switch (map.map[position]) {
case 0:
if (no == 1 && play2 == position) {
play2 = 0; System.out.println("哈哈哈~~~~~踩到了,你回去吧"); } if (no == 2 && play1 == position) { play1 = 0; System.out.println("哈哈哈~~~~~踩到了,你回去吧"); } break; case 1:
} }
//显示右竖行 public void showRLine(int start, int end, int play1, int play2){
for(int i = start ; i <= end ; i++){ for(int j = 54 ; j > 0 ; j --){ System.out.print(" "); } System.out.print(gerGrap(map[i],i,play1,play2)); System.out.println();
}
}
/// 显示偶数行 public void showLine2(int start, int end, int play1, int play2){
for(int i = end-1 ; i >= start ; i--){ System.out.print(gerGrap(map[i],i,play1,play2));
位置 int[] pause = { 9, 27, 60, 93 }; // 暂停 int[] timeTunnel = { 20, 25, 45, 63, 72, 88, 90 }; // 时空隧道
/** * 给各个关卡赋值 */
public void createMap() { int i = 0; // g各个数组的下标值。 for (i = 0; i < luckyTurn.length; i++) { map[luckyTurn[i]] = 1; } for (i = 0; i < landMine.length; i++) { map[landMine[i]] = 2; } for (i = 0; i < pause.length; i++) { map[pause[i]] = 3; } for (i = 0; i < timeTunnel.length; i++) { map[timeTunnel[i]] = 4; }
/** * 显示当前地图 * @param play1玩家1的当前位置 * @param play2玩家2的当前位置 */
public void showMap(int play1,int play2){ System.out.println("\n图例: " + "■ 暂停 ¤ 幸运轮盘 ★ 地雷 〓 时
System.out.println("========================================== ==");
System.out.println("欢迎进入幸运轮盘"); System.out.println("请选择一种运气:1、交换位置 2、轰炸对方");
System.out.println("========================================== ==");
///初始化 public void init() {
map = new Map(); map.createMap(); play1 = 0; play2 = 0; goOrStop[0] = "on"; goOrStop[1] = "on"; }
/** * 设置玩家角色 * @param no 玩家次序 * @param role 玩家角色名称 */
public void setRole(int no, int role) { switch (role) { case 0: playRole[no - 1] ="电脑"; break; case 1: playRole[no - 1] = "艾森豪威尔"; break; case 2: playRole[no - 1] = "戴高乐"; break;
} if (position < 0) {
return 0; } else if (position > 99) {
return 99; } return position;
}
/** * 操作游戏玩法 * @param model 对战模式:1、双人对战 2、人机对战! */
public void play(int model) { System.out.println("\n\n\n\n"); System.out
JAVA 小游戏骑士飞行棋
—e com.sibin.flyingChess;
public class Map { int[] map = new int[100]; // 对战地图 int[] luckyTurn = { 6, 23, 40, 55, 69, 83 }; // 幸运轮盘 int[] landMine = { 5, 13, 17, 33, 38, 50, 64, 80, 94 }; // 地雷
}
/** * 显示奇数行 * @param start * @param end * @param play1 * @param play2 */
public void showLine1(int start, int end, int play1, int play2) {
for(int i = start; i <=end ; i++){ System.out.print(gerGrap(map[i],i,play1,play2));
int temp; int choice = input.nextInt(); if (choice == 1) {
if(no==1){ temp=position; position=play2; play2=temp;
}else if(no==2){ temp=position; position=play1; play1=temp;
}
}else if(choice==2){ if(no == 1 && play2 < 6){ play2 = 0; }else { play2=play2-6; } if(no==2&&play1<6){ play1=0; }else { play1=play1-6; }
} break; case 2:
}
}
游戏类:
package com.sibin.flyingChess;
import java.util.Scanner;
public class Game { Map map; int play1; int play2; String[] goOrStop = new String[2]; String[] playRole = new String[2];
} }
//显示左竖行 public void showLLine(int start, int end, int play1, int play2){
for(int i = start ; i < end ; i++){
System.out.println(gerGrap(map[i],i,play1,play2)); } }
position = position - 6; System.out.println("踩到地雷了,气死我了!"); break; case 3: goOrStop[no - 1] = "off"; System.out.println("要停战一局了!"); break; case 4: position = position + 10; System.out.println("进入时空隧道真爽!"); break;
System.out.println("^_^" + playRole[0] + "的士兵: A"); System.out.println("^_^" + playRole[1] + "的士兵: B"); System.out.println("\n图例: " + "■ 暂停 ¤ 幸运轮盘 ★ 地雷 〓 时 空隧道 ∷ 普通\n"); map.showMap(play1, play2); // 游戏开始
case 3: playRole[no - 1] = "麦克阿瑟"; break;
case 4: playRole[no - 1] = "巴顿"; break;
} }
//玩家掷骰子操作 public int throwShifter(int no) {
int step = 0; System.out.println("\n\n" + playRole[no - 1] + "请输入\"Y\"开 始掷骰子!"); Scanner input = new Scanner(System.in); String s = input.next(); if (s.equals("y")) {
相关文档
最新文档