-
Notifications
You must be signed in to change notification settings - Fork 0
/
README.html
111 lines (107 loc) · 7.75 KB
/
README.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>[LPOO-2020-G72](https://web.fe.up.pt/~arestivo/page/courses/2020/lpoo/project/)</title>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/Microsoft/vscode/extensions/markdown-language-features/media/markdown.css">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/Microsoft/vscode/extensions/markdown-language-features/media/highlight.css">
<style>
.task-list-item { list-style-type: none; } .task-list-item-checkbox { margin-left: -20px; vertical-align: middle; }
</style>
<style>
body {
font-family: -apple-system, BlinkMacSystemFont, 'Segoe WPC', 'Segoe UI', 'Ubuntu', 'Droid Sans', sans-serif;
font-size: 14px;
line-height: 1.6;
}
</style>
<style>
body { font-family: 'Roboto Slab', serif; text-align: justify; font-size: 16px; } h2 { background-color: #b8b8b8; font-size: 28px; color: #ffffff; text-transform: uppercase; padding-left: 8px; border-left: 6px solid grey; } h3 { font-size: 24px; } h4 { font-size: 20px; } a { color: grey; } blockquote { font-size: 28px; border-color: gray; color: #5f5f5f; }
</style>
</head>
<body class="vscode-light">
<link href="https://fonts.googleapis.com/css2?family=Roboto+Slab:wght@700&display=swap" rel="stylesheet">
<h6 id="lpoo-2020-g72"><a href="https://web.fe.up.pt/~arestivo/page/courses/2020/lpoo/project/">LPOO-2020-G72</a></h6>
<h1 id="bombardier-ii--the-revenge-of-the-skyscrapers">Bombardier II : The Revenge of The Skyscrapers</h1>
<blockquote>
<p>A suicide helicopter tries to bomb a city taken by the forces of evil, while escaping from monsters moving in its direction.</p>
</blockquote>
<pre><code class="language-java"><div>
\-O
<-/-{
_
|
<-(-( W
T T T
# S # S #
# # # R R R R # #
# # # # # # Q# Q # # Q
# # P # R# # # # ## # # # #
# # # # O ## # # # ## # # # #
# # N # N# # N ## N # # # ## # # # # N
# # # # ## # M # ## # # # # ## # # M# # #
L # # # # L ## # # L # ## # # # # L ##L # # ## # #
# # # K # # # ## # # # # ## # # # # # ### # # ## K # #
# J # # # #J# # ## J # # #J #J ## # # # # # ### # # ## # # #
# # # # # ###I# ## # # # ## ## ## # # # # # ### # #I## # # #
# # # # # ##### ## # # #H ## ## ## # # # # # ### # #### # # #
G# # # # # G ##### ## # # ##G ## ##G ## # # # #G# ### # #### # # #
## # # # F # #F##### ## #F# ### ## ### ##F # # F# ### ### # ####F#FF# #
## # # # # # E####### ## ### ### ## ### ### #E#E ## ### ### E#E######### #
## # D# #D#D# ######## ## ### ### ## ### ### D#### ## ###D ### ############ #
## # ## #####C ######## ## ###C###C## ### ### ##### ## #### ###C ############ #
##B#B## ######B######## ## ##########B### ### #####B##B #### ####B############ #
####### ###############A##A############## ### ######### #### ################# #
==========Blocks: <span class="hljs-number">0700</span>/<span class="hljs-number">0700</span>, City: OPorto (<span class="hljs-number">01</span>), Score: -<span class="hljs-number">1</span>=========
</div></code></pre>
<h2 id="description">Description</h2>
<p><em>This is a more elaborate version of the <a href="https://www.uvlist.net/game-187836-bombardier">Bombardier</a> game for Linux.</em></p>
<h3 id="there-will-be-a-helicopter-skyscrapers-and-some-flying-monsters">There will be a helicopter, skyscrapers and some flying monsters!</h3>
<p>The helicopter, starting from the top left corner of the scene, will have to destroy the buildings bellow. It may launch some bombs to avoid colliding with them, while losing altitude. At the same time, the monsters will be moving towards it, from the right side. The helicopter will have to launch frontal missiles to defeat them, being able to boost up or down, a little bit, to escape or face the monsters.</p>
<hr>
<p>This project was developed by Diana Freitas (<a href="mailto:[email protected]">[email protected]</a>) and Eduardo Brito (<a href="[email protected]">[email protected]</a>) for LPOO 2019⁄2020.</p>
<h2 id="main-features">Main Features</h2>
<h3 id="initial-scene">Initial Scene</h3>
<h4 id="objects">Objects</h4>
<p>There will be a helicopter, placed in the top left corner of the screen, some randomly generated monsters moving towards the helicopter in the top right corner and buildings below them.</p>
<h3 id="movement-control-and-time-factor">Movement Control and Time Factor</h3>
<h4 id="vertical-movement">Vertical Movement</h4>
<p>The vertical movement of the helicopter is controlled not only by the player, but also by a time factor.</p>
<ul>
<li>The player can move the helicopter up or down a little bit, using the arrow keys, to escape the monsters that are flying towards him from the right side.</li>
<li>The altitude of the helicopter decreases by one unit each time it enters the scene from the left side.</li>
<li>The monsters randomly change their vertical position by one or two units, as they fly towards the helicopter.</li>
</ul>
<h4 id="horizontal-movement">Horizontal Movement</h4>
<ul>
<li>The velocity of the helicopter's horizontal movement gives the user time to launch the bombs and shoot the monsters without making it too hard or too easy to finish the game.</li>
<li>The flying monsters are moving horizontally towards the helicopter, possibly with different moving techniques and speeds.</li>
</ul>
<h3 id="bomb--missile-launching">Bomb & Missile Launching</h3>
<ul>
<li>The right arrow key will allow the user to launch a frontal missile.</li>
<li>Pressing the space key will launch a bomb onto the buildings.</li>
<li>The number of missiles and bombs should be limited and, therefore, should be updated every time the user presses the space or right arrow key. Also, every time the helicopter comes from the left side, this number should be recalculated.</li>
</ul>
<h3 id="collision-detection">Collision Detection</h3>
<ul>
<li>If the helicopter collides with a skyscraper, the game ends.</li>
<li>Colliding with monsters weakens the helicopter, reducing its energy.</li>
</ul>
<h3 id="score">Score</h3>
<p>The score will be shown on the bottom of the screen. This will be increased every time the helicopter successfully reaches the right side, or when it destroys monsters or buildings.</p>
<h3 id="energy">Energy</h3>
<p>The helicopter has limited energy. This will also be shown on the bottom of the screen and will be reduced every time there is a collision with a monster.</p>
<h3 id="game-messages">Game Messages</h3>
<p>The player should be presented with a message when starting or ending the game, giving him instructions or showing him the final score.</p>
<h3 id="ending">Ending</h3>
<p>The game ends for three reasons:</p>
<ul>
<li>As mentioned before, if the helicopter collides with a building;</li>
<li>If it loses all the energy, from clashing with monsters;</li>
<li>Or if every building is successfully put on the ground by its bombs.</li>
</ul>
<h3 id="restarting">Restarting</h3>
<p>It should be possible to restart the game when it ends.</p>
</body>
</html>