首页
网站开发
桌面应用
管理软件
微信开发
App开发
嵌入式软件
工具软件
数据采集与分析
其他
首页
>
> 详细
代写data程序、代做Java编程设计
项目预算:
开发周期:
发布时间:
要求地区:
2048
In this project, you are required to implement a game 2048 using the Java programming
language.
I. Game Introduction
2048 is a globally popular number puzzle game created by Italian programmer Gabriele Cirulli in
2014. The game boasts a clean interface and a strong logical gameplay that challenges players to
merge identical numbered tiles until they reach or surpass the titular goal of 2048.
II. Game Interface & Basic Elements
The game screen consists of a 4x4 grid where random numbers 2 or 4 initially populate the cells.
Players slide the entire grid up, down, left, or right, causing all tiles to move accordingly. After
each slide, a new 2 or 4 tile randomly appears in an empty cell.
III. Detailed Game Rules
1. Slide and Merge: When sliding the grid, all tiles shift towards the direction chosen until they
hit the edge or another immovable tile. If two adjacent tiles have the same number, they will
merge into one tile with the sum of their values after the movement stops and this new
merged tile will also shift along the movement direction until it cannot move further. If there
exist three identically valued tiles that are adjacent to one another, the two blocks nearest to
the end of the sliding direction will merge together.
2. New Tile Generation: Following every valid slide (where at least one tile changes position),
the game will generate a new 2 or 4 tile randomly in any empty space on the grid.
3. Game Objective: The player's aim is to continuously combine number tiles to create a tile
with a value of 2048. While it is theoretically possible to continue playing for higher scores,
reaching 2048 is typically considered the base victory condition.
4. Game Over: The game ends when there are no more moves available; this occurs when all
16 spaces on the grid are occupied and no adjacent tiles can be merged.
IV. Project Requirements
In this project, you should finish the following tasks:
Task 1: Game Initialization (10 points)
1. Realize a start frame for the game where players can choose from various initial game
modes, each allowing customizable settings such as different starting board layouts or
distinct target numbers to achieve.
2. At least one mode must generate a traditional 4x4 grid, with an initial state containing a
randomly placed tile with a value of 2 and another random tile with a value of 4.
3. The game should allow players to restart a new game at any time during gameplay. (Not
exiting the program and run it again.)
4. When starting a new game, the game data needs to be consistent with the new game.
5. Grids with different numbers should be in different colors.
Task 2: Multi-user Login (15 points) 1. Implement a login selection interface for both guests and registered users.
2. Guests can play without registration but do not have the functionality to save game
progress.
3. The user login interface includes a registration page and allows login after entering account
credentials.
4. After the program exits and is run again, previously registered users can still log in.
Task 3: Save and Load Games (15 points)
1. Each user (except guests) has the option to load their previous saved game; the save is a
single save file, and saving again will overwrite the previous save (Overwriting the original
save is the basic requirement. Additional points would not be given if multiple save slots are
implemented per user.)
2. From the game start interface, players can choose to load their last save which should
contain information about the elapsed game time, the game board's status, and the number
of moves made so far.
3. Each user's save data is unique.
4. Manual saving is a basic requirement; implementing automatic saving at timed intervals or
upon exit can earn points in the advanced section.
5. Save File Error Check: When a save file's format or contents are corrupted, the damaged
save will not be loaded, and the game will still run rather than crash. (If your game is capable
of detecting save files that have been modified by others while still maintaining the
legitimacy of the save data,it will earn the advanced points.)
Task 4: Gameplay (30 points)
1. Sliding and Merging: When a player slides the matrix, all tiles will move towards the slide
direction until they hit a boundary or an immovable block. Adjacent tiles with the same
number will merge into a single tile with their sum after the slide ends.
2. Button control: The interface must include up, down, left, and right buttons to facilitate
merging in different directions.
3. Keyboard control: Keyboard control are required for merging (up, down, left, right) in
different directions.
4. New Tile Generation: After every valid slide (where at least one tile changes position), the
game will randomly generate a new tile with a value of either 2 or 4 on any empty space.
5. Game Victory: In classic mode, the goal is to reach a 2048 tile through continuous merging of
number tiles. For different modes, you can design your own objectives. Once the objective is
met, display a victory screen.
6. Game Over: The game ends when there are no more movable spaces on the matrix, i.e., all
16 cells are occupied, and no adjacent tiles can merge.
Task 5: Graphical User Interface (GUI) (10 points)
1. Implement a graphical interface for the game using JavaFX, Swing, or any other Java
graphical framework.
2. You will earn points for this section by completing the code based on the demo provided in
the course.
3. Independently creating a GUI will count as Advanced points.
4. If your program need to input into command line,you can not get full points of this task.
Task 6: Advanced Features (20 points)
Any additional features beyond the basic requirements described above will earn points in this
advanced category, including but not limited to:1. Enhanced graphics and aesthetics
2. Implementation of AI to achieve high scores
3. Adding animated merging effects
4. Introducing a time-limited mode
5. Incorporating obstacles on the game board
6. Adding props in the game
软件开发、广告设计客服
QQ:99515681
邮箱:99515681@qq.com
工作时间:8:00-23:00
微信:codinghelp
热点项目
更多
代写dts207tc、sql编程语言代做
2024-12-25
cs209a代做、java程序设计代写
2024-12-25
cs305程序代做、代写python程序...
2024-12-25
代写csc1001、代做python设计程...
2024-12-24
代写practice test preparatio...
2024-12-24
代写bre2031 – environmental...
2024-12-24
代写ece5550: applied kalman ...
2024-12-24
代做conmgnt 7049 – measurem...
2024-12-24
代写ece3700j introduction to...
2024-12-24
代做adad9311 designing the e...
2024-12-24
代做comp5618 - applied cyber...
2024-12-24
代做ece5550: applied kalman ...
2024-12-24
代做cp1402 assignment - netw...
2024-12-24
热点标签
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
软件定制开发网!