Cannon-Tower Spiel in Java

Status
Nicht offen für weitere Antworten.

lolcat3000

Mitglied
Moinsen!

Ich hab mal eben lust dazu bekommen ein Spiel in Java zu programmieren, so ein "Cannon-Tower" Game. Ist im Prinzip wie Worms nur mit Türmen die sich nicht bewegen.

Also ich habs mir mal so vorgestellt:

Rechnerklasse: Flugbahn und Schaden. Die Richtung kann man mit dafür vorgesehenen Buttons ändern mit dem Event actionPerformed

GUI-Klasse: Steuerung und Anzeige

Mehr bräuchte ich ja nicht oder was meint ihr?

Oder soll ich lieber auf einer schon bestehenden Spiel-Engine aufbauen. Wenn ja welche?

Falls das für mich, einen Anfänger in Java (Machs erst seit 5 Monaten an der Schule), zu schwer sein sollte, könnt ihrs ruhig sagen und mir nen anderen Vorschlag machen. ;)
 

Quaxli

Top Contributor
Tja, ich kenn' Dich nicht und kann Dich daher nicht einschätzen. Machbar ist es schon.
Auf einer Engine würde ich nicht aufbauen. Du lernst mehr, wenn Du es selbst macht.
Den Aufbau selbst, stellst Du Dir vielleicht etwas zu einfach vor, das sollte man schon etwas komplexer aufziehen.

Guck Dir mal mein Tutorial an (Link in der Signatur), dann bekommst Du vielleicht eine Idee. Auf der Basis des Tutorials ist z. B. DefendYourCastle entstanden. Es ist nicht ganz so toll und inzwischen würde ich einiges besser machen (ganz besonder den Sound), aber es enthält Elemente, die Du so ähnlich umsetzen willst.
 
Zuletzt bearbeitet:

lolcat3000

Mitglied
Also ich werd mir auf jedenfall dein Tutorial reinziehen Quaxli :)

Also ich gehe die Dinge generell sehr einfach an - ich mag es nicht unbedingt gleich von Anfang an komplex zu denken. Da reicht mir schon ein schlichter Aufbau wie ich es gemacht hab :D

Zu meiner Erfahrung in Java - 5 Monate in der Schule + privat ein bisschen gelernt und bin atm bei der GUI. Hab von Normalen Rechen-Programmen (Heizkostenrechner z.B) bis zu den Programmmen wo man schon Collections benötigt (pythagoreische Tripel, Fibonacci,...).
 

Marco13

Top Contributor
Also ich gehe die Dinge generell sehr einfach an - ich mag es nicht unbedingt gleich von Anfang an komplex zu denken. Da reicht mir schon ein schlichter Aufbau wie ich es gemacht hab :D

Genau DAS ist ja das Problem, das man im Vorfeld durch Überlegen abzumildern versucht: Glaub' mir, komplex wird so ein Programm von ganz alleine.... (das hat wohl was mit Entropie zu tun... ;) )
 

dayaftereh

Top Contributor
Ich muss Marco13 recht geben, wenn man von anfang an nicht richtig Überlegt und die Grundsteine setzt, dan wird alles was nach oben geht Schief gehen.
 

lolcat3000

Mitglied
Noch ne Frage:

Welche Klassen und Methoden benötige ich für Java Spiele und warum?

Bevor ich mir ein 156-Seitiges Tutorial ansehe, will ich lieber wissen warum ich grad das mache. Falls jemand in ein paar Sätzen mir eine Antwort geben kann wäre ich froh:)

greetz lolcat3000
 

Marco13

Top Contributor
Welche Klassen und Methoden benötige ich für Java Spiele und warum?
Dasfür, dass sie die Antwort auf diese (und allgemeinere und speziellere Fragen) finden (oder kennen) kriegen Softwareentwickler das ganze Geld :rolleyes:
"Für Java-Spiele" ist ZU allgemein. Für dieses Cannon-Tower dingens könnte man sich was überlegen...
 

Quaxli

Top Contributor
@lolcat3000:

Allerdings haben die o.g. Softwareentwickler etwas, das Dir fehlt: Erfahrung.
Das soll jetzt nicht böse gemeint sein, das ist einfach so, wenn man sich erst seit Kurzem mit Java im Allgemeinen und Spielen im Besonderen beschäftigt.
Da bringt es aber nur bedingt etwas, nach Sinn und Zweck bestimmter Methoden zu fragen, dann wir das hier eine uendliche Geschichte.
Wie hier of so schön zitiert wird: Programmieren lernt man durch programmieren. Lies Dir ein paar Grundlagen an, aus meinem Tutorial oder einem der anderen, die man so findet und nimm daraus mit, was Dir gut erscheint. Es geht dabe weniger um Details als um ein paar grundlegende Konzepte: Wie sieht ein GameLoop aus, wie steuere ich mein Raumschiff/Kanonenturm/Rennauto mit der Tastatur, etc.

Und wenn Du Dir ein paar Konzepte angesehen hast: Fang an, probiere aus, lerne dazu. Das ist ein ganz normaler Prozeß. Viele kleine Spielchen und grafische Spielereien würde ich heute so nicht mehr basteln - gelaufen sind sie trotzdem. Und über vieles was ich heute verbreche, werde ich nächstes Jahr ganz bestimmt den Kopf schütteln und denken, daß ich das hätte besser machen können.

Also, ran an die Tastatur und losklappern ;)
 
Zuletzt bearbeitet:

ARadauer

Top Contributor
Für Java-Spiele" ist ZU allgemein. Für dieses Cannon-Tower dingens könnte man sich was überlegen...
stimmt... aber grundsätzlich, wenn es eine deinem Design keine CannonTower.java gibt, wäre ich skeptisch ob das sauber objektorientiert ist...
 

Marco13

Top Contributor
Irgendjemand hat mal in einem anderen Thread eine Empfehlung gepostet, auf die ich nicht gekommen wäre, die mir aber gut gefallen hat:

~ Schreibe auf etwa einer DIN-A4-Seite einen Text auf, in dem du NUR in Worten möglichst genau beschreibst, woraus das Spiel bestehen soll, und welche Funktionen es haben soll. Dann untersreichst du die Substantive - das sind die Klassen in deinem Programm. Dann unterstreichst du die Verben - das sind die Methoden in deinem Programm. ~
 

Developer_X

Top Contributor
machs doch ganz einfach, fang einfach mit dem Spiel an,
so, ein Tipp:
Wenn du einen Thread benutzt damit die Kanone Hochfliegt, dann musst du den Thread dort stoppen, wo die Kanone am höchsten ist, und dann umkehren, ok?
 

babuschka

Top Contributor
machs doch ganz einfach, fang einfach mit dem Spiel an
Ja genau, einfach mal anfangen... ABER: nach SEHR kurzer Zeit wird man dann merken, dass das wunderbare "Gefrickele" hinten und vorne klemmt und eigentlich gar nicht so funktioniert, wie man es gerne hätte... Und erweitern...?


damit die Kanone Hochfliegt
Meinst Du damit eine Kanonenkugel? Für die gelten die Gesetze des sog. Schiefen Wurfs.
Ein gutes Applet zur Demonstration: Schiefer Wurf. Die Formeln stehen in einem Link, der sich daran anschließt.
 

Marco13

Top Contributor
@ARadauer: Jup, das meinte ich - es wirkt vielleicht im ersten Moment befremdlich, dass sowas (für Außenstehende) hochgestochen klingendes wie "Objektorientiertes Programmieren" sowas einfaches sein soll, wie sich überlegen, WER dort WAS macht, aber ... so ist es (wenn auch leider wirklich NUR für den Anfang, in erster Näherung)

Developer_X: Wenn du einen Thread benutzt damit die Kanone Hochfliegt, dann musst du den Thread dort stoppen, wo die Kanone am höchsten ist, und dann umkehren, ok?

Besser ist es, wenn du für jeden Pixel des Bildes einen Thread startest, der den Pixel genau im richtigen Moment mit der richtigen Farbe einfärbt. Durch Multithreading werden alle Programme effizienter, besonders wenn man einen Quad-Core hat :cool:


(Na, wer hat's gemerkt? ;) )


Also, wenn du in dem Teil, den du selbst schreibst, mehr als einmal "new Thread()" oder "thread.start()" stehen hast, beschreib' nochmal, was du damit erreichen willst.

Aber so weit ist das ganze ja noch nicht - erstmal solltest du dir überlegen, wie die Struktur und Abläufe in deinem Programm sein sollen...
 

hdi

Top Contributor
Wenn du einen Thread benutzt damit die Kanone Hochfliegt, dann musst du den Thread dort stoppen, wo die Kanone am höchsten ist, und dann umkehren, ok?
Nein, nicht okay!
Ich hab jetzt schon einige solcher "Tipps" von dir gesehen. Hör bitte damit auf, du weisst nicht was du erzählst. Einen Thread umdrehen, wenn die Kugel am höchsten ist? Und dann die run-Methode von hinten nach vorne durchlaufen oder was... omg ey bitte was für ein S C H E E E E I S S...
Und in einem Spiel macht man keinen thread der eine Kanonenkugel hochfliegen lässt, da läuft alles in 2 Threads: EDT & Hauptprogramm, fertig.

Dass du uns aufn Sack gehst ist das eine, aber dass du hier gemeingefährliche "Tipps" austeilst, obwohl du selber von allen registrierten Usern hier im Forum der mit der wenigsten Ahnung bist, finde ich nicht akzeptabel. Das geht auf Kosten von Leuten, die etwas lernen wollen. Also halt dich zurück, selber helfen kannste noch lange nicht.
 

Ebenius

Top Contributor
Ich glaub, hier vergreifst Du Dich im Ton. Developer_X muss noch viel lernen und steht sich selbst ständig im Weg, weil er unbedingt die großen Sachen gleich machen will, ohne zu Begreifen, warum und wie das eine oder andere funktioniert. Das verbietet ihm trotzdem nicht, Vorschläge zu machen; eher im Gegenteil: Die meisten Anfänger kommen her, stellen immer wieder Fragen und geben nie etwas zurück. Der Hinweis nebst kurzer Erklärung, warum seine Lösung nicht funktioniert genügt völlig. Wenn es Dir gar zu blöd ist, dann antworte gar nicht.

Anbei möchte ich erwähnen, dass mir das schon ein paar mal aufgefallen ist: Wenn Developer_X in einem Thema schreibt, dann kloppen sich alle anderen nur noch um seinen Kommentar und gehen nie wieder aufs Thema ein. Das ist dann mehr Eure (manchmal auch meine :( ) Schuld als seine.

Das drückt natürlich auch nur meine Meinung aus und soll innerhalb dieses Themas keine Grundsatzdiskussion auslösen. Bei Bedarf schreibe ich gern in der Plauderecke weiter.

Ebenius
 

hdi

Top Contributor
Das drückt natürlich auch nur meine Meinung aus und soll innerhalb dieses Themas keine Grundsatzdiskussion auslösen.
Ich glaube kaum dass dir da jemand widersprechen wird. Du hast ja Recht. Nur manchmal handelt man dem Recht zuwider, obwohl man's weiss.. Weil man einfach nicht zu jeder Zeit der kontrollierte, emotionslose Mensch ist (wär ja langweilig). Ich finde aber man sollte als Anfänger sich dessen bewusst sein, und verstehen, dass es manchmal genau das Gegenteil von Hilfe sein kann, wenn man anderen Anfängern etwas als "Lösung" präsentiert. Zumindest ein Kommentar, dass man selber Anfänger ist, sollte schon hin. Das is jetzt wiederum nur meine Meinung. Ich hab die ersten paar Monate hier jeden Tag ein paar Threads erstellt, und nie jmd. anderem geholfen. Aber nicht, weil ich irgendwie asozial bin oder so, sondern weil ich mir halt dachte, ich kann dazu einfach nix sagen.

Naja, zu der Developer-Sache : Ich habs ja mal geschafft mich 3 Wochen gar nich drum zu kümmern und all seine Posts zu ignorieren. Jetzt hat's mich wieder gepackt ;) Ich denke, ich sollte das wieder in Angriff nehmen, und wirklich nix mehr dazu schreiben.
 

lolcat3000

Mitglied
So Leute,

hab ne kurze Frage zu den Threads:

Sind dass so eine Art Rechenprozesse? Also die jetzt z.B. die Flugbahn berechnen würden oder die Geschwindigkeit?
 

hdi

Top Contributor
Ein Thread ist ein "Programmstrang". Ein Programm besteht aus 1+ Threads. Ein Thread kann die CPU für sich reservieren und dann eben rumrechnen. In Computern laufen permanent viele Threads, wobei immer nur 1 einziger (pro echtem CPU-Kern) arbeiten darf. Das Betriebssystem oder eine andere Instanz regelt das "Scheduling", also wann gewechselt wird.

Im normalen Betrieb (zB Windows) wird pro Sekunde hundertfach zwischen ein dutzend Threads gewechselt. Bsp: Maus bewegen und gleichzeitig Musik hören -> 2 Threads, wobei immer nur ein einziger gleichzeitig aktiv ist! In Wahrheit kannst du nicht die Maus bewegen und gleichzeitig Musik abspielen (nur bei Multi-Core PC's die diese Multi-Cores auch entsprechend nutzen), aber weil so verdammt schnell gewechselt wird, kommt es dir so vor.

Threads sind in der Programmierung eine komplizierte Sache.

Zu deiner Frage: Nein, du brauchst für die Kanonenkugel keinen neuen Thread. Warum auch, du hast ja schon einen. (Nämlich ein Programm selber, also quasi der "Root"-Thread des Programms. Das ist der, der in die main()-MEthode geht und ab dort das Programm übernimmt).
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
B Fehlerhafte Mob Bewegungen in Tower Defense Spiel Spiele- und Multimedia-Programmierung 2
D Tower defense Spiele- und Multimedia-Programmierung 2
T Assault 2400 - Tower Defense Spiele- und Multimedia-Programmierung 45
G Tower Defense mit Gamegrid von aplu Spiele- und Multimedia-Programmierung 10
V Tower-Def. KonzeptFrage Spiele- und Multimedia-Programmierung 9
N Hilfe bei Tower Defense Spiele- und Multimedia-Programmierung 22
C Tower Defense Spiel in Java Spiele- und Multimedia-Programmierung 4
xFearofdarkness Feinde überlappen sich in Java Spiel Spiele- und Multimedia-Programmierung 3
ItundMathe1994 TicTacToe Spiel programmieren Spiele- und Multimedia-Programmierung 2
JEP1 Hilfe bei Spiel Spiele- und Multimedia-Programmierung 1
P Pokemon Spiel Funktioniert nicht ? Spiele- und Multimedia-Programmierung 3
Leon.tr3x Mein erstes Programm/Spiel Spiele- und Multimedia-Programmierung 10
O Texas Hold'em Poker als Online-Spiel mit Freunden Spiele- und Multimedia-Programmierung 5
Drachenbauer Speicher-Tool für ein Spiel schreiben Spiele- und Multimedia-Programmierung 13
M Spiel Mühle-Programmierung Java Spiele- und Multimedia-Programmierung 9
Excess Spiel abzugeben Spiele- und Multimedia-Programmierung 1
I Superhelden - Spiel Spiele- und Multimedia-Programmierung 14
E Hauptmenü und Spiel ???? Spiele- und Multimedia-Programmierung 2
L Sound in Java Spiel Spiele- und Multimedia-Programmierung 5
R Interaktives Spiel Spiele- und Multimedia-Programmierung 5
L Spiel im Editor testen Spiele- und Multimedia-Programmierung 4
Jackii dispatchUncaughtException in Quiz Spiel mit GUI Layout Spiele- und Multimedia-Programmierung 6
D Textbasiertes Spiel Spiele- und Multimedia-Programmierung 8
K Android Spiel Programmieren Spiele- und Multimedia-Programmierung 6
L BrickBreaker Spiel Spiele- und Multimedia-Programmierung 3
A Spiel Figur ansprechen und bewegen Spiele- und Multimedia-Programmierung 3
it_is_all Dialogbox im Spiel - Text in Blöcke aufteilen Spiele- und Multimedia-Programmierung 4
F Koordinieren und Essen von Snake - Spiel Spiele- und Multimedia-Programmierung 14
G Entity Verwaltung in einem 2D Spiel Spiele- und Multimedia-Programmierung 1
E Möchte Spiel Programmieren Spiele- und Multimedia-Programmierung 7
S Connect6 Spiel - Code in ei Spiele- und Multimedia-Programmierung 2
A Spiel nach Abfrage beenden oder neustarten Spiele- und Multimedia-Programmierung 1
G Welten Generierung 2D Spiel Spiele- und Multimedia-Programmierung 4
G Java 2D Spiel mit LWJGL verbinden Spiele- und Multimedia-Programmierung 1
N Problem mit 2D Spiel Spiele- und Multimedia-Programmierung 17
T Probleme bei "Pixel-Fighting"-Spiel: Unausgewogene Mannschaften??? Spiele- und Multimedia-Programmierung 4
R Pong Spiel Problem Spiele- und Multimedia-Programmierung 1
L Coordinate Space JavaFX 2d Spiel Spiele- und Multimedia-Programmierung 0
C Vier Gewinnt Spiel Programmiertipp Spiele- und Multimedia-Programmierung 11
N Jump and run Spiel - wo anfangen / weitermachen? Spiele- und Multimedia-Programmierung 11
K Spiel zum zuordnen von Dienstgraden und Dienstgradabzeichen Spiele- und Multimedia-Programmierung 5
M Textbasiertes Spiel programmieren Spiele- und Multimedia-Programmierung 4
T 2d-Spiel Licht Spiele- und Multimedia-Programmierung 5
S Jump 'n' Run-Spiel Kollisionserkennung Spiele- und Multimedia-Programmierung 3
T Spiel rendern Spiele- und Multimedia-Programmierung 2
Grevak Sounds im Spiel Spiele- und Multimedia-Programmierung 5
F Spiel ähnlich wie SimCity/o.ä programmieren Spiele- und Multimedia-Programmierung 5
X Erklärung zu einem Tic Tac Toe Spiel Spiele- und Multimedia-Programmierung 1
I Spectator Modus für Spiel ähnlich zu Terraria Spiele- und Multimedia-Programmierung 8
I Textbasiertes Spiel - Umsetzungsfrage & Schleifen Problem Spiele- und Multimedia-Programmierung 26
M Kollisions abfrage bei 3D spiel? Spiele- und Multimedia-Programmierung 12
D JAVA Basiertes Spiel aus dem Internet in eigenem Client laden Spiele- und Multimedia-Programmierung 1
P [Spiel]Welche Bilder sind gleich Spiele- und Multimedia-Programmierung 2
E GUI zum Spiel hinzufügen Spiele- und Multimedia-Programmierung 19
S 2D Spiel - Physics Spiele- und Multimedia-Programmierung 16
S 2D Spiel "Der Sprung" Spiele- und Multimedia-Programmierung 7
A 2D Spiel ohne Tiles Spiele- und Multimedia-Programmierung 10
V welche vorgehensweise beforzieht ihr bei einfachem Quizz Spiel ? Spiele- und Multimedia-Programmierung 4
S Quaxli's Heli Spiel läuft nicht nach Plan Spiele- und Multimedia-Programmierung 2
G Methode sleepen während das Spiel weiterläuft Spiele- und Multimedia-Programmierung 3
T Spiel Überprüfung Spiele- und Multimedia-Programmierung 3
P Spiel laggt nach unbestimmter Zeit tierisch. Spiele- und Multimedia-Programmierung 27
S Hilfe bei Spiel Spiele- und Multimedia-Programmierung 6
B Hauptmenü für Spiel Spiele- und Multimedia-Programmierung 1
W Spiel ist langsam/laggt Spiele- und Multimedia-Programmierung 18
J Ascii Spiel Spiele- und Multimedia-Programmierung 1
Androbin Mein Spiel will sich nicht zeichnen lassen !!! Spiele- und Multimedia-Programmierung 7
O Vollständige Musik in Spiel einbauen (wav - Format) Spiele- und Multimedia-Programmierung 8
Y Quiz Spiel Spiele- und Multimedia-Programmierung 1
J Conways Spiel des Lebens nachprogrammiert Spiele- und Multimedia-Programmierung 1
B Spiel Programmieren, die Anfänge Spiele- und Multimedia-Programmierung 6
D [OpenGL] Spiel in der Art von Age of Empires Spiele- und Multimedia-Programmierung 4
lord239123 suche Graphiker für ein Pokemon-Spiel Spiele- und Multimedia-Programmierung 6
S Spiel installeren lassen und organisieren Spiele- und Multimedia-Programmierung 3
J Lichtupdate in tile-basiertem Spiel Spiele- und Multimedia-Programmierung 4
P Erstes Spiel (Strategie) Spiele- und Multimedia-Programmierung 31
J Mein erstes Spiel [Spielevorstellung] Spiele- und Multimedia-Programmierung 2
Bananabert Spiel Renderer Images und Strings Spiele- und Multimedia-Programmierung 4
N Spiel Menü error ! Spiele- und Multimedia-Programmierung 5
S Anfangsmenü mit Spiel verknüpfen Spiele- und Multimedia-Programmierung 16
S Spiel ruckelt trotz 50 fps Spiele- und Multimedia-Programmierung 16
D Spiel-Bilddaten auswerten Spiele- und Multimedia-Programmierung 7
Creylon [LWJGL] Spiel Exportieren Spiele- und Multimedia-Programmierung 2
L Hilfe bei Klassendesign für Spiel Spiele- und Multimedia-Programmierung 2
Devil0s Spiel laggt trotz 90 FPS (bei der Anzeige) Spiele- und Multimedia-Programmierung 9
N Webanwendung als eine Art Spiel Spiele- und Multimedia-Programmierung 8
L Korrekte Darstellung von Wasser in 2D Spiel Spiele- und Multimedia-Programmierung 4
F Ideen für spiel Spiele- und Multimedia-Programmierung 4
J wohin mit der Logik des Spiel Spiele- und Multimedia-Programmierung 2
R Experimente mit Quaxlis Spiel Spiele- und Multimedia-Programmierung 12
W Spiel-Grundlagen selbst austüfteln: Kollisionen? Spiele- und Multimedia-Programmierung 3
Kenan89 Java 2D Spiel Spiele- und Multimedia-Programmierung 39
M Automaten Spiel Spiele- und Multimedia-Programmierung 27
J Tic tac toe spiel Neustart Spiele- und Multimedia-Programmierung 5
S 2D Spiel im Vollbild langsamer als im Fenster Spiele- und Multimedia-Programmierung 11
A TicTacToe Spiel Spiele- und Multimedia-Programmierung 3
S Verbesserungvorschläge Spiel Z Spiele- und Multimedia-Programmierung 31
S Spiel abbrechen Spiele- und Multimedia-Programmierung 3
J Greenfoot "Little Crab" Spiel Erweiterungen Spiele- und Multimedia-Programmierung 6
P Spiel HUD erstellen Spiele- und Multimedia-Programmierung 6

Ähnliche Java Themen

Neue Themen


Oben