Ich will auch keine beginnen, ich sehe mir dein spiel auch an, aber ganz ehrlich - das wird nie zum erfolg führen.
Zum Spiel:
[ul]
[li]Variablen bitte IMMER klein schreiben. du bist ja kein anfänger mehr.[/li][li]Bei jedem Menüpunkt wird ein neues Fenster aufgemacht… das wirkt echt mies. Wie wärs mit nem cardlayout?[/li][li]-[/li][li]Die schrift… ich glaube du hast dir sehr viel mühe gegeben (wenns nicht grad aus dem netz ist), aber die ist echt unleserlich. (in den menüs meine ich)[/li][li]Ist der sound aus dem netz oder selbst produziert?[/li][li]Wer braucht schon 12 Spielstände?? Sogar mario hat meistens 3…[/li][li]angreifen ist irgendwie unmöglich - irgendwas mit taste L ? Ich checks nicht[/li][li]Immer wenn man zu einem neuen menü punkt kommt beginnt die musik von neu. mies.[/li][li]Ich würde eher tauschen - im menü keine musik, in game mit. (oder eben bei beidem)[/li][li]Das glaub ich ja jetzt nicht: Fußling.add(new Fußling(new Point(Portal.get(0).getX(), Portal.get(0).getY())));[/li] Fußling.add(new Fußling(new Point(Portal.get(1).getX(), Portal.get(1).getY()))); Fußling.add(new Fußling(new Point(Portal.get(2).getX(), Portal.get(2).getY()))); Fußling.add(new Fußling(new Point(Portal.get(3).getX(), Portal.get(3).getY()))); Fußling.add(new Fußling(new Point(Portal.get(4).getX(), Portal.get(4).getY()))); Fußling.add(new Fußling(new Point(Portal.get(5).getX(), Portal.get(5).getY()))); Fußling.add(new Fußling(new Point(Portal.get(6).getX(), Portal.get(6).getY()))); Fußling.add(new Fußling(new Point(Portal.get(7).getX(), Portal.get(7).getY())));
wie wärs mit einer schleife? o.O
[li]schreit ebenfalls nach einer array deklaration und anschliessender schleife: [/li]code
[spoiler]``` walk_northwest_animation.add(ImageLoader.loadImage(„skelett_northwest_0.png“));
walk_northwest_animation.add(ImageLoader.loadImage(„skelett_northwest_1.png“));
walk_northwest_animation.add(ImageLoader.loadImage(„skelett_northwest_2.png“));
walk_northwest_animation.add(ImageLoader.loadImage(„skelett_northwest_3.png“));
walk_northwest_animation.add(ImageLoader.loadImage(„skelett_northwest_4.png“));
walk_northwest_animation.add(ImageLoader.loadImage(„skelett_northwest_5.png“));
walk_northwest_animation.add(ImageLoader.loadImage(„skelett_northwest_6.png“));
walk_northwest_animation.add(ImageLoader.loadImage(„skelett_northwest_7.png“));
walk_northeast_animation.add(ImageLoader.loadImage("skelett_northeast_0.png"));
walk_northeast_animation.add(ImageLoader.loadImage("skelett_northeast_1.png"));
walk_northeast_animation.add(ImageLoader.loadImage("skelett_northeast_2.png"));
walk_northeast_animation.add(ImageLoader.loadImage("skelett_northeast_3.png"));
walk_northeast_animation.add(ImageLoader.loadImage("skelett_northeast_4.png"));
walk_northeast_animation.add(ImageLoader.loadImage("skelett_northeast_5.png"));
walk_northeast_animation.add(ImageLoader.loadImage("skelett_northeast_6.png"));
walk_northeast_animation.add(ImageLoader.loadImage("skelett_northeast_7.png"));
walk_north_animation.add(ImageLoader.loadImage("skelett_north_0.png"));
walk_north_animation.add(ImageLoader.loadImage("skelett_north_1.png"));
walk_north_animation.add(ImageLoader.loadImage("skelett_north_2.png"));
walk_north_animation.add(ImageLoader.loadImage("skelett_north_3.png"));
walk_north_animation.add(ImageLoader.loadImage("skelett_north_4.png"));
walk_north_animation.add(ImageLoader.loadImage("skelett_north_5.png"));
walk_north_animation.add(ImageLoader.loadImage("skelett_north_6.png"));
walk_north_animation.add(ImageLoader.loadImage("skelett_north_7.png"));
walk_west_animation.add(ImageLoader.loadImage("skelett_west_0.png"));
walk_west_animation.add(ImageLoader.loadImage("skelett_west_1.png"));
walk_west_animation.add(ImageLoader.loadImage("skelett_west_2.png"));
walk_west_animation.add(ImageLoader.loadImage("skelett_west_3.png"));
walk_west_animation.add(ImageLoader.loadImage("skelett_west_4.png"));
walk_west_animation.add(ImageLoader.loadImage("skelett_west_5.png"));
walk_west_animation.add(ImageLoader.loadImage("skelett_west_6.png"));
walk_west_animation.add(ImageLoader.loadImage("skelett_west_7.png"));
walk_east_animation.add(ImageLoader.loadImage("skelett_east_0.png"));
walk_east_animation.add(ImageLoader.loadImage("skelett_east_1.png"));
walk_east_animation.add(ImageLoader.loadImage("skelett_east_2.png"));
walk_east_animation.add(ImageLoader.loadImage("skelett_east_3.png"));
walk_east_animation.add(ImageLoader.loadImage("skelett_east_4.png"));
walk_east_animation.add(ImageLoader.loadImage("skelett_east_5.png"));
walk_east_animation.add(ImageLoader.loadImage("skelett_east_6.png"));
walk_east_animation.add(ImageLoader.loadImage("skelett_east_7.png"));
walk_south_animation.add(ImageLoader.loadImage("skelett_south_0.png"));
walk_south_animation.add(ImageLoader.loadImage("skelett_south_1.png"));
walk_south_animation.add(ImageLoader.loadImage("skelett_south_2.png"));
walk_south_animation.add(ImageLoader.loadImage("skelett_south_3.png"));
walk_south_animation.add(ImageLoader.loadImage("skelett_south_4.png"));
walk_south_animation.add(ImageLoader.loadImage("skelett_south_5.png"));
walk_south_animation.add(ImageLoader.loadImage("skelett_south_6.png"));
walk_south_animation.add(ImageLoader.loadImage("skelett_south_7.png"));
walk_southwest_animation.add(ImageLoader.loadImage("skelett_southwest_0.png"));
walk_southwest_animation.add(ImageLoader.loadImage("skelett_southwest_1.png"));
walk_southwest_animation.add(ImageLoader.loadImage("skelett_southwest_2.png"));
walk_southwest_animation.add(ImageLoader.loadImage("skelett_southwest_3.png"));
walk_southwest_animation.add(ImageLoader.loadImage("skelett_southwest_4.png"));
walk_southwest_animation.add(ImageLoader.loadImage("skelett_southwest_5.png"));
walk_southwest_animation.add(ImageLoader.loadImage("skelett_southwest_6.png"));
walk_southwest_animation.add(ImageLoader.loadImage("skelett_southwest_7.png"));
walk_southeast_animation.add(ImageLoader.loadImage("skelett_southeast_0.png"));
walk_southeast_animation.add(ImageLoader.loadImage("skelett_southeast_1.png"));
walk_southeast_animation.add(ImageLoader.loadImage("skelett_southeast_2.png"));
walk_southeast_animation.add(ImageLoader.loadImage("skelett_southeast_3.png"));
walk_southeast_animation.add(ImageLoader.loadImage("skelett_southeast_4.png"));
walk_southeast_animation.add(ImageLoader.loadImage("skelett_southeast_5.png"));
walk_southeast_animation.add(ImageLoader.loadImage("skelett_southeast_6.png"));
walk_southeast_animation.add(ImageLoader.loadImage("skelett_southeast_7.png"));
attack_east_animation.add(ImageLoader.loadImage("skelett_attack_east_0.png"));
attack_east_animation.add(ImageLoader.loadImage("skelett_attack_east_1.png"));
attack_east_animation.add(ImageLoader.loadImage("skelett_attack_east_2.png"));
attack_east_animation.add(ImageLoader.loadImage("skelett_attack_east_3.png"));
attack_east_animation.add(ImageLoader.loadImage("skelett_attack_east_4.png"));
attack_east_animation.add(ImageLoader.loadImage("skelett_attack_east_5.png"));
attack_east_animation.add(ImageLoader.loadImage("skelett_attack_east_6.png"));
attack_east_animation.add(ImageLoader.loadImage("skelett_attack_east_7.png"));
attack_east_animation.add(ImageLoader.loadImage("skelett_attack_east_8.png"));
attack_east_animation.add(ImageLoader.loadImage("skelett_attack_east_9.png"));
attack_west_animation.add(ImageLoader.loadImage("skelett_attack_west_0.png"));
attack_west_animation.add(ImageLoader.loadImage("skelett_attack_west_1.png"));
attack_west_animation.add(ImageLoader.loadImage("skelett_attack_west_2.png"));
attack_west_animation.add(ImageLoader.loadImage("skelett_attack_west_3.png"));
attack_west_animation.add(ImageLoader.loadImage("skelett_attack_west_4.png"));
attack_west_animation.add(ImageLoader.loadImage("skelett_attack_west_5.png"));
attack_west_animation.add(ImageLoader.loadImage("skelett_attack_west_6.png"));
attack_west_animation.add(ImageLoader.loadImage("skelett_attack_west_7.png"));
attack_west_animation.add(ImageLoader.loadImage("skelett_attack_west_8.png"));
attack_west_animation.add(ImageLoader.loadImage("skelett_attack_west_9.png"));```[/spoiler]
[li]~[/li][li]Das hier: setLocation(Toolkit.getDefaultToolkit().getScreenSize().width / 2 - getWidth() / 2, Toolkit.getDefaultToolkit().getScreenSize().height / 2 - getHeight() / 2);
kann man auch einfach so machen: setLocationRelativTo(null);
fertig ;)[/li][li]könnte man nicht arraylist orc, arraylist fußling… in arraylist zusammenfassen? also klasse enemy und alle davon ableiten…[/li][li]Man kann den Hintergrund schwarz weiss auch mit g2d.setPaint(new GradientPaint(black, white)); und g2d.fillRect(…); hinkriegen…[/li][li]Wieso für alles was diese komische schrift hat ein bild? Einfach schriftdatei reinladen und buttons usw entsprechend beschriften[/li][li]wieso erstelle ich save 1 und bekomme im saves ordner 1, 2, 4 ?[/li][li]Was bringt die verschlüsselung, wenn man das programm eh dekompilieren kann?[/li][li]Man sollte doppelte klassennamen vermeiden, auch wenn man die andere nicht benutzt: zB Frame[/li][li]Wäre es nicht sinnvoll im folgenden Teil mit else if zu arbeiten? (Eventuell werden die nicht aktiven zeiten übersprungen, oder nicht?) [/li]code
if(attack_animation_time>0){ image = attack_east_animation.get(0); } if(attack_animation_time>5){ image = attack_east_animation.get(1); } if(attack_animation_time>10){ image = attack_east_animation.get(2); } if(attack_animation_time>15){ image = attack_east_animation.get(3); } if(attack_animation_time>20){ image = attack_east_animation.get(4); } if(attack_animation_time>25){ image = attack_east_animation.get(5); } if(attack_animation_time>30){ image = attack_east_animation.get(6); }
[li]+[/li][li]Bei den animationen (also den bildern) hast du dir echt viel mühe gegeben. Manch andere (ich zB xD) hätten nie diese Geduld 30 verschiedene Bilder die fast gleich aussehen zu zeichnen…[/li][li]Ansonsten ganz witzige spielidee. (auch wenn nicht neu)[/li][li]Läuft im gegensatz zu deinen anderen dingern recht flüssig.[/li][li]Wünsch dir noch viel spass in der weiteren enwicklung, und hoffe das du mal bei einer sache bleibst :p[/li][/ul]