首页
网站开发
桌面应用
管理软件
微信开发
App开发
嵌入式软件
工具软件
数据采集与分析
其他
首页
>
> 详细
Java编程语言调试、program程序设计辅导、讲解Java编程 讲解R语言编程|调试Web开发
项目预算:
开发周期:
发布时间:
要求地区:
20F Java A Project -Aeroplane Chess
Introduction
Aeroplane Chess (飞行棋) is a Chinese cross-and-circle board game. In this project, you
are required to program the game with customized rules. The introduction to this
game below is mainly adopted from Wikipedia.
Chestboard
M’m’m
Objective
Two to four players each try to get all their own plane pieces from their hangars,
located at the corners of the board, into the base of their own colour in the centre of
the board. Each player takes a turn by rolling the two dice. On a turn a player may do
the following:
l Take a piece out of the hangar onto the board. This can only be done by rolling a 6
with either of the dice (e.g., roll a 3-6, or 6-2, or 6-6).
l Move a piece that is on the board clockwise around the track. The number of
spaces moved is derived from the dices with arithmetic operations, maximum 12.
For example, rolling a 2 and a 4 will let you to move any one of your plane by 2, 4,
2+4=6, 4-2=2, 4*2=8, or 4/2=2 spaces. Note that a 4 and a 3 cannot make a move
of int(4/3) spaces.
l When a player lands on an opponent's piece, the opponent returns that piece to
its hangar.
l When a plane lands on a space of its own colour, it immediately jumps to the next
space of its own colour. Any opposing planes sitting on these squares are sent
back to their hangars.
Besides the above basic rules, there are additional rules for you to implement:
l There are additional shortcut squares. When a plane lands on one of these of its
own colour, it may take the shortcut, and any opposing planes in the path of the
shortcut are sent back to their hangars.
l If the sum of the two dices is no less than 10, whether they are used to enter or
move a piece, gives that player another roll. A second sum no less than 10 gives the
player a third roll with enter or move. If the player rolls a third sum no less than 10,
any pieces moved by the first two steps must return to their hangar and play passes to
the next player.
l When a plane lands on another plane in its own color, the player can choose to stack
the pieces and move them as one piece until they reach the centre or are landed on by
an opponent. When stacked pieces are sent back to their hangar by an opponent
landing on them, they are no longer stacked.
l When a plane lands on an opposing plane, players determine which gets sent back to
its hangar by rolling one die, with the high roll determining the winner. When one
plane attacks a stack of planes, it must battle each one by rolling the die. When a stack
attacks another stack, the planes battle each other with a series of successive die rolls
until only one player occupies the square. This rule replaces the third basic rule above.
Ending
A plane must fly into the centre base on an exact roll. When a plane does so, it is
placed face down back in its own hangar, indicating that it is done for the game. If a
player cannot move pieces into the centre base by an exact roll, then they must move their piece
backwards according to number rolled. The first player to get all four of their planes to the
centre of the board wins.The rest play until there is only one loser.
Project Requirement
Task 1: Initialize Game. (20)
l Initialize a new game, and the board of which is cross-shaped, and any overlap of
different components cannot be appeared.
l All routes, landing points, two components represent two dices, and different
colors should be arranged in a suitable position on board.
l The game should includes four players.
l Can restart a game by clicking a button rather than closing it and open the game
again.
Task 2: Load and Save a Game (20)
l Your program should be able to load an existing game from a text (or other type)
file with a pre-defined format by clicking a button. After loading, all the
components should be placed at their positions given in the text (or other type )
file.
prepared following test cases by yourself:
1. An successful case that contains stacked planes
2. An successful case that one of the four players can win the game within
four steps.
3. Multiple successful cases that can test one of the eight rules with one or
two steps.
l Your program should be able to perform error check.
prepared following test cases by yourself:
1. An error case that the count of players is not four.
2. An error case that the count of cells in 4-players' route are not same.
3. An error case that lacking of landing points.
4. An error case that the count of dice is not two.
l Your program should be able to save the current game into a text (or other type)
file.
Task 3: Play the game (25)
l Your program should detect the winning status of the game, and end the game
when there is a winner.
l In a round, the number of steps that each airplane can take depends on the sum,
difference, product and quotient of the results of the two dice. Other than that, in
a round a maximum step should be set in the game.
l During one game, your program should be enable to switch between the normal
mode and the cheating mode where the dice numbers can be manually selected,
so that it is convenient for testing.
l All four basic rules in the Objective section are implemented.
l All four additional rules in the Objective section are implemented.
Task 4: Graphical User Interface (15)
l Your program should have a graphical user interface using Java Swing. (FX can also
be accepted)
Advanced Requirements (20)
l Design Human vs. Machine Mode, and make the machine player smarter.
l Design a platform for your game, such as multi-loading, ranking list, adding start
menu for different functions of the game, etc.
l Design a game mall to sell props, that can be used in game to make your game
more interesting.
l Make your game looks nicer, such as changing the theme, adding sound effect,
adding background music, adding more prompt label when playing the game,
showing possible moves after dicing, playing animations of the moving of airplain.
l Support on-line mode in Local Area Network.
l More.
软件开发、广告设计客服
QQ:99515681
邮箱:99515681@qq.com
工作时间:8:00-23:00
微信:codinghelp
热点项目
更多
代写math 1151, autumn 2024 w...
2024-11-14
代做comp4336/9336 mobile dat...
2024-11-14
代做eesa01 lab 2: weather an...
2024-11-14
代写comp1521 - 24t3 assignme...
2024-11-14
代写nbs8020 - dissertation s...
2024-11-14
代做fin b377f technical anal...
2024-11-14
代做ceic6714 mini design pro...
2024-11-14
代做introduction to computer...
2024-11-14
代做cs 353, fall 2024 introd...
2024-11-14
代做phy254 problem set #3 fa...
2024-11-14
代写n1569 financial risk man...
2024-11-14
代写csci-ua.0202 lab 3: enco...
2024-11-14
代写econ2226: chinese econom...
2024-11-14
热点标签
mktg2509
csci 2600
38170
lng302
csse3010
phas3226
77938
arch1162
engn4536/engn6536
acx5903
comp151101
phl245
cse12
comp9312
stat3016/6016
phas0038
comp2140
6qqmb312
xjco3011
rest0005
ematm0051
5qqmn219
lubs5062m
eee8155
cege0100
eap033
artd1109
mat246
etc3430
ecmm462
mis102
inft6800
ddes9903
comp6521
comp9517
comp3331/9331
comp4337
comp6008
comp9414
bu.231.790.81
man00150m
csb352h
math1041
eengm4100
isys1002
08
6057cem
mktg3504
mthm036
mtrx1701
mth3241
eeee3086
cmp-7038b
cmp-7000a
ints4010
econ2151
infs5710
fins5516
fin3309
fins5510
gsoe9340
math2007
math2036
soee5010
mark3088
infs3605
elec9714
comp2271
ma214
comp2211
infs3604
600426
sit254
acct3091
bbt405
msin0116
com107/com113
mark5826
sit120
comp9021
eco2101
eeen40700
cs253
ece3114
ecmm447
chns3000
math377
itd102
comp9444
comp(2041|9044)
econ0060
econ7230
mgt001371
ecs-323
cs6250
mgdi60012
mdia2012
comm221001
comm5000
ma1008
engl642
econ241
com333
math367
mis201
nbs-7041x
meek16104
econ2003
comm1190
mbas902
comp-1027
dpst1091
comp7315
eppd1033
m06
ee3025
msci231
bb113/bbs1063
fc709
comp3425
comp9417
econ42915
cb9101
math1102e
chme0017
fc307
mkt60104
5522usst
litr1-uc6201.200
ee1102
cosc2803
math39512
omp9727
int2067/int5051
bsb151
mgt253
fc021
babs2202
mis2002s
phya21
18-213
cege0012
mdia1002
math38032
mech5125
07
cisc102
mgx3110
cs240
11175
fin3020s
eco3420
ictten622
comp9727
cpt111
de114102d
mgm320h5s
bafi1019
math21112
efim20036
mn-3503
fins5568
110.807
bcpm000028
info6030
bma0092
bcpm0054
math20212
ce335
cs365
cenv6141
ftec5580
math2010
ec3450
comm1170
ecmt1010
csci-ua.0480-003
econ12-200
ib3960
ectb60h3f
cs247—assignment
tk3163
ics3u
ib3j80
comp20008
comp9334
eppd1063
acct2343
cct109
isys1055/3412
math350-real
math2014
eec180
stat141b
econ2101
msinm014/msing014/msing014b
fit2004
comp643
bu1002
cm2030
联系我们
- QQ: 9951568
© 2021
www.rj363.com
软件定制开发网!