Commit Graph

206 Commits

Author SHA1 Message Date
248e5f685a Move RenderingHints into GameFrame method. 2014-11-10 20:40:06 +01:00
c37662f7f8 Minor optimization in TimedThread class. 2014-11-09 23:03:28 +01:00
d59fbafd8c Add preloading for non-anonymous classes. 2014-11-09 22:12:31 +01:00
ramapcsx2
189c526b67 Fixing ü via utf8-zeichentabelle.de. Also enabled anti aliasing for fonts 2014-11-09 19:36:43 +01:00
e75f99d71b Remove EntityContainer.java. 2014-11-09 11:44:36 +01:00
eccc317bea Remove the need for an Iterator within the lists remove method. 2014-11-09 11:33:50 +01:00
64039fdee7 Change error output in GameFrame.draw() to something more explanatory. 2014-11-09 11:17:56 +01:00
904e13f4cf Avoid creating tons of iterators instead of recycling them.
Use reset() on the ConcurrentIterator before iterating.
2014-11-09 11:10:19 +01:00
ec48c042f6 Finalize methods in Screen and TimedThread. 2014-11-09 10:36:43 +01:00
f8246956c4 Reuse free null-nodes in the list to add new entities. 2014-11-08 18:46:54 +01:00
a4c788ad22 Create image folder for explosions. 2014-11-08 18:29:10 +01:00
d5092bd668 Remove leftover Rectangle code. 2014-11-08 18:21:05 +01:00
50a898aeef Draw a small white border around the HealthBar. 2014-11-08 18:20:26 +01:00
1f78309a98 Use ints instead of Rectangles for collision detection. 2014-11-08 18:20:10 +01:00
cf3e6b93a5 Add stat target to Makefile. 2014-11-08 17:43:56 +01:00
0d90b387c3 Set CollisionDamage for Player and Enemies. 2014-11-08 15:19:44 +01:00
d444b36351 Bugfix: Enemies do not hurt the player, player does not properly die. 2014-11-08 15:17:45 +01:00
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
dda0fb8313 Move Entity interfaces into a spi (Service Providing Interfaces) package. 2014-11-07 21:03:45 +01:00
17aafe11f9 Comment interfaces, expand the hittable interface. 2014-11-07 21:01:13 +01:00
2295d83ff9 The Entity now knows whether it is able to move. 2014-11-07 20:54:00 +01:00
d9b7128456 Rename DamageValue to ShootDamage to avoid confusion with Shot logic. 2014-11-07 20:47:07 +01:00
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
d4a19e76e0 Comment ShootingEntity. Make createShot private. 2014-11-07 20:20:23 +01:00
c0211181e1 Comment the LivingEntity. 2014-11-07 20:08:34 +01:00
f0a9e8a6ad Comment Entity, make x and y private, add transpose method for easy movement. 2014-11-07 20:00:07 +01:00
496e6792c3 Move package item from background to entity. 2014-11-06 23:29:33 +01:00
76b7b33938 Comment the Shot class. 2014-11-06 23:27:03 +01:00
506a5ae620 Document the double buffering, move GameFrame title to GameConfig. 2014-11-06 23:19:46 +01:00
1caf4818eb Add comments to screen package. 2014-11-06 23:09:27 +01:00
a12ef61f7b Comment the SoundSystem. 2014-11-06 22:58:07 +01:00
3d80faddef Clarify naming in the Loader, add comments. 2014-11-06 22:46:40 +01:00
b60abdc577 Remove unused method from Shot class. 2014-11-06 19:44:27 +01:00
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
c4ab7c3530 Replace LinkedList with List, so it is possible to change its implementation later - if needed. 2014-11-06 18:19:35 +01:00
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
eb4bdc6ada Remove @Override from Interface implementing methods in Player class. 2014-11-06 14:58:09 +01:00
46efd1e04e Create overridable method that actually spawns Shot objects. 2014-11-05 22:54:54 +01:00
0c270c8665 Implement asynchronous playing of sounds. 2014-11-05 09:37:51 +01:00
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