JPT
d5092bd668
Remove leftover Rectangle code.
2014-11-08 18:21:05 +01:00
JPT
50a898aeef
Draw a small white border around the HealthBar.
2014-11-08 18:20:26 +01:00
JPT
1f78309a98
Use ints instead of Rectangles for collision detection.
2014-11-08 18:20:10 +01:00
JPT
cf3e6b93a5
Add stat target to Makefile.
2014-11-08 17:43:56 +01:00
JPT
0d90b387c3
Set CollisionDamage for Player and Enemies.
2014-11-08 15:19:44 +01:00
JPT
d444b36351
Bugfix: Enemies do not hurt the player, player does not properly die.
2014-11-08 15:17:45 +01:00
JPT
1086effdad
Huge update. See detailed notes.
...
Keine Lust auf englischen Text gerade, hier die Übersicht:
Es gibt jetzt eine eigene Datenstruktur, die im Grunde nichts weiter
ist, als eine recht stumpfe, verkettete Liste. Besonderheit: Sie macht
sich weniger Gedanken über Modifikationen während des Iterierens und
wächst momentan etwas stetig.
Es gibt eine neue Methode die() im LivingEntity, die per default
Explosion auslöst und das Entity danach wegräumt. Wenn Items gedroppt
werden sollen oder sonstwas passieren soll, bitte Overriden.
Die Kollisionserkennung wurde in den CollisionHelper ausgelagert,
zunächst aber noch mit Rectangles weitergeführt. Wer mutig genug ist,
darf sich gerne austoben und eine Kollisionserkennung mit vielen If und
ints bauen. :-)
LivingEntity implementiert zunächst Hittable.
Der Player kümmert sich selbst um Kollisionen mit Items aka aufsammeln.
Das Collidable-Interface enthält alles notwendige für
Kollisionserkennung auf int-Basis.
Der Screen gibt nur noch Iteratoren für die Entity-Liste aus.
Ich glaube, das wars.
2014-11-08 15:09:29 +01:00
JPT
dda0fb8313
Move Entity interfaces into a spi (Service Providing Interfaces) package.
2014-11-07 21:03:45 +01:00
JPT
17aafe11f9
Comment interfaces, expand the hittable interface.
2014-11-07 21:01:13 +01:00
JPT
2295d83ff9
The Entity now knows whether it is able to move.
2014-11-07 20:54:00 +01:00
JPT
d9b7128456
Rename DamageValue to ShootDamage to avoid confusion with Shot logic.
2014-11-07 20:47:07 +01:00
JPT
3c5e96791b
Move GameFrame to root package, healthbar to gui package.
...
The Gui Package shall contain all elements that we create and use in our
game that are actual gui elements like menu buttons, health bars,
highscore stuff and more.
2014-11-07 20:23:06 +01:00
JPT
d4a19e76e0
Comment ShootingEntity. Make createShot private.
2014-11-07 20:20:23 +01:00
JPT
c0211181e1
Comment the LivingEntity.
2014-11-07 20:08:34 +01:00
JPT
f0a9e8a6ad
Comment Entity, make x and y private, add transpose method for easy movement.
2014-11-07 20:00:07 +01:00
JPT
496e6792c3
Move package item from background to entity.
2014-11-06 23:29:33 +01:00
JPT
76b7b33938
Comment the Shot class.
2014-11-06 23:27:03 +01:00
JPT
506a5ae620
Document the double buffering, move GameFrame title to GameConfig.
2014-11-06 23:19:46 +01:00
JPT
1caf4818eb
Add comments to screen package.
2014-11-06 23:09:27 +01:00
JPT
a12ef61f7b
Comment the SoundSystem.
2014-11-06 22:58:07 +01:00
JPT
3d80faddef
Clarify naming in the Loader, add comments.
2014-11-06 22:46:40 +01:00
JPT
b60abdc577
Remove unused method from Shot class.
2014-11-06 19:44:27 +01:00
JPT
c3fb13e3eb
Create subfolders for shot images and item images.
2014-11-06 19:40:51 +01:00
lubiana
8f4bad07a5
ist schöner so
2014-11-06 19:04:57 +01:00
lubiana
8a70490c47
Merge branch 'yoloshots'
2014-11-06 19:02:37 +01:00
lubiana
090b7ec5b3
Merge branch 'master' of github.com:teamteamteam/SpaceScooter
2014-11-06 19:02:23 +01:00
lubiana
a3875a5e97
dumlubi ist dumm, rennt jetzt
2014-11-06 19:02:03 +01:00
lubiana
a16ef5d7a7
nullllpointrrrr
2014-11-06 18:51:08 +01:00
lubiana
6f2857946d
80 Zeichen pls
2014-11-06 18:41:03 +01:00
JPT
c4ab7c3530
Replace LinkedList with List, so it is possible to change its implementation later - if needed.
2014-11-06 18:19:35 +01:00
JPT
9542131e4a
Avoid creating a new anonymous Runnable each frame.
...
Since the Runnable that is passed to the EventQueue does never change,
it now is created in the constructor. This should avoid a lot of
overhead.
2014-11-06 17:34:20 +01:00
lubiana
1525c358c1
Merge branch 'master' of github.com:teamteamteam/SpaceScooter
2014-11-06 16:15:54 +01:00
lubiana
3df49e2be6
gegner ballern nun rot
2014-11-06 16:15:50 +01:00
JPT
eb4bdc6ada
Remove @Override from Interface implementing methods in Player class.
2014-11-06 14:58:09 +01:00
JPT
46efd1e04e
Create overridable method that actually spawns Shot objects.
2014-11-05 22:54:54 +01:00
JPT
0c270c8665
Implement asynchronous playing of sounds.
2014-11-05 09:37:51 +01:00
JPT
2f6eddcb46
Add Sound support to Loader and Makefile.
2014-11-05 09:02:44 +01:00
lubiana
1f65979f41
Merge branch 'master' of github.com:teamteamteam/SpaceScooter
2014-11-05 01:00:25 +01:00
lubiana
64c061b68f
zwei enemies gepixelt
2014-11-05 01:00:16 +01:00
JPT
b1e72da839
Cleanup unneccessary ArrayList in class Background.
2014-11-04 23:28:57 +01:00
JPT
0a695432a0
Bugfix: GamePausedScreen did not correctly replace the GameScreen when going to MainMenu.
2014-11-04 21:31:47 +01:00
JPT
4017d369b1
Make sure Explosions cleanup after themselves.
...
Apparrently, == 0 was not enough.
2014-11-04 21:06:36 +01:00
JPT
48e3ac275c
Da hab ich doch glatt das super.update() übersehen.
2014-11-04 20:51:34 +01:00
JPT
74ba66451b
Entities without image now have 0x0 dimensions.
...
Maybe this is just an ugly hack until we move the setImage() part into
the constructor call to make sure every Entity _HAS_ an image before
updating and painting occurs.
2014-11-04 20:35:13 +01:00
JPT
c716bc2187
Minor Bugfix: Add missing super call, catch potential NullPointer.
2014-11-04 20:23:52 +01:00
JPT
95f3e05fed
Have the Screen call remove() on all Entities before removing them.
2014-11-04 20:23:21 +01:00
JPT
a91a60381c
Add canShoot attribute to ShootingEntity.
2014-11-04 20:22:51 +01:00
JPT
aedbd55159
Bugfix: Have the player actually deregister itself from the Keyboard on remove().
2014-11-04 19:53:44 +01:00
JPT
e87ec69e97
Actually have the entity take care of adding it to the current screen. Whoopsie.
2014-11-04 19:46:19 +01:00
JPT
e2c34366e3
Remove superfluos calls to currentScreen.addEntity()
...
Since the entity class itself takes care that all entities are on the
screen, you don't need to worry about this. :-)
2014-11-04 19:41:15 +01:00