Seite 1 von 3 123 Letzte »
Ergebnis 1 bis 20 von 55

Java Spiel programmieren (Eclipse?)

  1. #1 Zitieren
    Death Overlord
    Gast
    Hi, ich will lernen PC-Spiele selbst zu programmieren und da ich in der Schule Java-programmieren lerne dachte ich mir dass das doch ein guter Einstig wäre. Leider kommen wir in der Schule erst nächstes Jahr zum projektorientierten Programmieren und damit auch kurz zu Handyspielen.

    Ich habe bis jetzt ausschließlich mit Eclipse gearbeitet und dort Programme die aber nur aus einer Class bestehen programmiert (z.B: Schaltjahrberechnen, Quadratische Gleichung...). Also so Sachen wie Schleife if-Verknüpfungen, Mehrfachauswahl kann ich schon. Grafisch habe ich aber noch nichts gemacht also nur Consolen Programme.

    Was muss ich noch lernen um Spiele zu programmieren?
    Wie kann ich mit Eclipse Grafischeoberflächen machen?
    Oder soll ich gar nicht Eclipse benutzen?

  2. #2 Zitieren
    Tieftöner Avatar von Lookbehind
    Registriert seit
    Dec 2007
    Beiträge
    15.220
    Die Frage ob Eclipse oder NetBeans ist meistens eine Glaubens und Geschmacks frage. Die beiden sind die verbreitetsten Entwicklungsumgebungen für Java, welche besser ist

    Grafik funktioniert aber auf beiden gleich, denn das hat mehr mit Java als mit der Entwicklungsumgebung zu tun.
    Um erstmal einen Einstieg überhaupt in grafische Darstellung unter Java zu bekommen, könntest du dich mal mit AWT und/oder Swing beschäftigen, und z.B. deinem Quadratgleichungen Programm eine grafische Oberfläche spendieren.
    Wenns aber um 3D-Grafiken etc geht, dann ist Java vielleicht nicht die richtige Plattform. Sicher geht das unter Java auch, aber es gibt da Sprachen, die da deutlich geeigneter für sind.
    Lookbehind ist offline

  3. #3 Zitieren
    Auserwählter Avatar von haddock
    Registriert seit
    Aug 2005
    Ort
    /dev/null
    Beiträge
    6.575
    Wieso deutlich geeigneter? Es gibt ebenso 3D Bibos für Java, wie für andere Sprachen.

    Meine Apps im AppStore:
    [Bild: frantic.png]

    haddock ist offline

  4. #4 Zitieren
    Nicht hilfreich  Avatar von walljumper
    Registriert seit
    Jun 2004
    Beiträge
    5.162
    Wieso deutlich geeigneter? Es gibt ebenso 3D Bibos für Java, wie für andere Sprachen.
    Weil Java eben für "standard" Anwendungsentwicklung gedacht ist, natürlich kann man damit auch 3D Grafik machen, das geht mit jeder Turing vollständigen Sprache und da gehört sogar Brainfuck dazu. Trotzdem machts sowas keiner. Man kann auch komplexe Numerische Programme in Java realisieren, macht aber auch keiner.
    So langsam nervt es echt, dass du in jeden Thread in dem es sich anbietet, Java als "Allheilmittel" anpreist. Es gibt nunmal keine Sprache die für alles "geeignet" ist. Ich verwende ja auch kein C++ um eine Website zu programmieren obwohl das möglich ist.

    Was muss ich noch lernen um Spiele zu programmieren?
    Um Spiele zu programmieren muss man eigentlich nur eine Programmiersprache beherrschen, aber zu einem Spiel gehört eben noch viel mehr dazu. Für kleinere Games ist Java sicher zu gebrauchen, aber wenn du mal etwas größeres anpacken willst mit moderner 3D Grafik, wäre C++ die geeignete Sprache.

    walljumper ist offline

  5. #5 Zitieren
    Ritter Avatar von ojas
    Registriert seit
    Jun 2008
    Ort
    Erde
    Beiträge
    1.787
    Zitat Zitat von walljumper Beitrag anzeigen
    Man kann auch komplexe Numerische Programme in Java realisieren, macht aber auch keiner.
    Doch, habe ich schon an einem Institut für Bauingenieurwesen in Aachen gesehen.

    Wenn man gerade Java lernt, dann ist es bestimmt besser das zu nehmen, als noch eine weitere Programmiersprache hinzuzunehmen. Und wenn sich Java wirklich als zu langsam herausstellt dann hat man wenigstens am eigenen Leib erfahren:
    1. Wenn das einzige Werkzeug, das man bedienen kann, ein Hammer ist, dann betrachtet man jede Aufgabe als Nagel.
    2. Use the right tool for the right job.
    ojas ist offline

  6. #6 Zitieren
    Auserwählter Avatar von haddock
    Registriert seit
    Aug 2005
    Ort
    /dev/null
    Beiträge
    6.575
    Zitat Zitat von walljumper Beitrag anzeigen
    So langsam nervt es echt, dass du in jeden Thread in dem es sich anbietet, Java als "Allheilmittel" anpreist. Es gibt nunmal keine Sprache die für alles "geeignet" ist. Ich verwende ja auch kein C++ um eine Website zu programmieren obwohl das möglich ist.
    Mich nervt es, dass ihr immer C++ als Allheilmittel und beste Sprache darstellt. Ich würde wetten, dass, falls wir Java in dem Forum anpreisen würden, wir deutlich mehr aktive Personen hätten und nicht nur Leute, die mal einen Thread erstellen, indem sie fragen, was sie machen sollen, daraufhin C++ eine Woche mache und dann zurecht genervt sind und verschwinden.

    Und Java ist in dem Sinne ein Allheilmittel, dass es auf der gleichen Basis (JVM) unzählige weitere Sprachen gibt, die alle für besondere Probleme besonders geeignet sind, auf die mir ein Umstieg aber nicht schwer fällt und die meistens alle interoperabel sind.

    Meine Apps im AppStore:
    [Bild: frantic.png]

    haddock ist offline

  7. #7 Zitieren
    Nicht hilfreich  Avatar von walljumper
    Registriert seit
    Jun 2004
    Beiträge
    5.162
    Mich nervt es, dass ihr immer C++ als Allheilmittel und beste Sprache darstellt. Ich würde wetten, dass, falls wir Java in dem Forum anpreisen würden, wir deutlich mehr aktive Personen hätten und nicht nur Leute, die mal einen Thread erstellen, indem sie fragen, was sie machen sollen, daraufhin C++ eine Woche mache und dann zurecht genervt sind und verschwinden.
    C++ ist sicher kein Allheilmittel, aber für bestimmte Dinge ist es eine sehr gute Sprache und außerdem eignet sie sich sehr gut für die Lehre mMn besser als Java.
    Deine Behauptungen sind im üprigen Haltlos.

    walljumper ist offline

  8. #8 Zitieren
    Mythos Avatar von Pyrokar
    Registriert seit
    May 2004
    Ort
    ..... hihihähähä hier gibt es Wände und wenn ich dagegen Lauf prall ich ab, wie ein Flummi..... hihihähähääähääääää
    Beiträge
    8.115
    Zitat Zitat von walljumper Beitrag anzeigen
    C++ ist sicher kein Allheilmittel, aber für bestimmte Dinge ist es eine sehr gute Sprache und außerdem eignet sie sich sehr gut für die Lehre mMn besser als Java.
    Deine Behauptungen sind im üprigen Haltlos.
    Lehre in welchem Sinne? Die Aussage finde ich sehr allgemein.
    [Bild: gg_schuetzen_ani.gif] | ~ DauJones ~ | ~ Klopfers-Web ~ | ~ German Bash ~ |
    Die meisten und schlimmsten Übel, die der Mensch dem Menschen zugefügt hat, entsprangen dem felsenfesten Glauben an die Richtigkeit falscher Überzeugungen.
    Bertrand Russell
    Religionskriege sind Konflikte zwischen erwachsenen Menschen, bei denen es darum geht, wer den cooleren, imaginaeren Freund hat. anonym
    Pyrokar ist offline

  9. #9 Zitieren
    Ritter
    Registriert seit
    Sep 2006
    Beiträge
    1.913
    Nur so am Rande: In Java werden durchaus 3D Spiele programmiert... *schulterzuck*
    Irian ist offline

  10. #10 Zitieren
    Halbgott
    Registriert seit
    Mar 2003
    Beiträge
    9.125
    Man kann in jeder Sprache 3D-Spiele entwickeln, das heißt aber noch lange nicht das die Grafikengine in der selben Sprache geschrieben sein muss. Man ist daher auch in keinster Weise zu C++ gezwungen sofern man die andere Sprache nur für die Spielelogik einsetzt.
    Chris ist offline Geändert von Chris (03.12.2009 um 11:34 Uhr)

  11. #11 Zitieren
    Death Overlord
    Gast
    Zitat Zitat von Chris Beitrag anzeigen
    Man kann in jeder Sprache 3D-Spiele entwickeln, das heißt aber noch lange nicht das die Grafikengine in der selben Sprache geschrieben sein muss. Man ist daher auch in keinster Weise zu C++ gezwungen sofern man es nur für die Spielelogik einsetzt.
    Ich würde am Anfang warscheinlich sowieso Blender benutzen um die Objekte, Welt zu modellieren, da ist eine Gameengine schon dabei und man kann soviel ich weis auch Java/C Quellcode einfügen.

    Angenommen ich würde es mit Java versuchen da ich es sowiso in der schule lernen muss, Wo gibts eine "einfach" erklärte Anleitung wie ich denn so das Grundgerüst für ein Spiel mache. Da kann man ja warscheinlich nicht mal mit Struktogramm machen anfangen, für so was geht das nicht oder?

  12. #12 Zitieren
    Auserwählter Avatar von haddock
    Registriert seit
    Aug 2005
    Ort
    /dev/null
    Beiträge
    6.575
    Zitat Zitat von walljumper Beitrag anzeigen
    C++ ist sicher kein Allheilmittel, aber für bestimmte Dinge ist es eine sehr gute Sprache und außerdem eignet sie sich sehr gut für die Lehre mMn besser als Java.
    Deine Behauptungen sind im üprigen Haltlos.
    Wollen wir mal Threads zählen, in denen Leute eine Woche C++ gemacht haben und danach nichts mehr gemacht haben?

    Meine Apps im AppStore:
    [Bild: frantic.png]

    haddock ist offline

  13. #13 Zitieren
    Death Overlord
    Gast
    Könnte mir bitte irgend jemand mal ein Tut oder so zeigen wo erklärt wird wie mann ein Spiel (kann für den Anfang auch 2D sein) programmiert?

  14. #14 Zitieren

    Batmanistrator
    Avatar von Thoronador
    Registriert seit
    Jul 2005
    Ort
    Morrowind, Vvardenfell-Distrikt
    Beiträge
    20.797
    Zitat Zitat von Kapitän Haddock Beitrag anzeigen
    Wollen wir mal Threads zählen, in denen Leute eine Woche C++ gemacht haben und danach nichts mehr gemacht haben?
    Wollen wir mal Threads zählen, in denen Leute eine Woche Java gemacht haben und danach nichts mehr gemacht haben?
    Was bringen solche Aufzählungen denn bitte? Nichts, außer vielleicht der Erkenntnis, dass sich viele Leute das Programmieren einfacher vorstellen als es ist und schneller Fortschritte erwarten als man sie als Anfänger macht. Vom Erstellen von komplexeren 3D-Spielen ganz zu schweigen. Es ist doch klar, dass Neulinge, welche mit so einer Erwartung rangehen, schnell enttäuscht sind und dann dazu neigen, das Programmieren einfach ganz sein zu lassen - egal in welcher Sprache.

    Aber stattdessen wollen wir hier ja darüber reden, wie man mit Java ein Spiel programmieren kann.
    Zitat Zitat von Death Overlord Beitrag anzeigen
    Könnte mir bitte irgend jemand mal ein Tut oder so zeigen wo erklärt wird wie mann ein Spiel (kann für den Anfang auch 2D sein) programmiert?
    Dafür wäre es gut, zu wissen, wie gut du dich mit Java (oder welche Sprache auch immer du nutzen möchtest) schon auskennst. Solange man in der Sprache, mit der man programmieren möchte, nicht sattelfest ist, sollte man zunächst nicht schon an Spiele denken. Was man in der Schule im Informatikunterricht zum Programmieren lernt, ist da meiner Erfahrung nach in über 90% der Fälle nicht ausreichend. Daher suche dir zunächst ein ausführliches Tutorial für Java/ die Sprache deiner Wahl und danach kann man weitersehen.
    Ich bevorzuge da ja im Allgemeinen ein richtiges, gedrucktes Buch, weil sich die Autoren da erstens meist mehr Mühe geben und zweitens auch ausführlicher sein können als in einem Onlinetutorial auf einer Webseite. Mit Java im Speziellen kenne ich mich nicht so gut aus, aber das Buch "Java ist auch eine Insel" soll ganz gut sein. Das gibt es auch als Openbook online: http://openbook.galileocomputing.de/javainsel8/
    Thoronador ist offline

  15. #15 Zitieren
    Held Avatar von Lolomoloko
    Registriert seit
    Aug 2006
    Ort
    ~/
    Beiträge
    5.700
    Auch TicTacToe ist ein spiel. Aber selbst dafür braucht man ein einigermaßen solides grundwissen. Mit den ersten erfolgen kann man jedoch trotzdem recht schnell protzen, auch wenns das erste Hello World ist. Also ganz ruhig anfangen und nicht nach einer woche "krasse sachen" machen wollen.

    Man sollte nur am anfang nicht so viel erwarten.
    Lolomoloko ist offline

  16. #16 Zitieren
    Auserwählter Avatar von haddock
    Registriert seit
    Aug 2005
    Ort
    /dev/null
    Beiträge
    6.575
    Zitat Zitat von Thoronador Beitrag anzeigen
    Wollen wir mal Threads zählen, in denen Leute eine Woche Java gemacht haben und danach nichts mehr gemacht haben?
    Was bringen solche Aufzählungen denn bitte? Nichts, außer vielleicht der Erkenntnis, dass sich viele Leute das Programmieren einfacher vorstellen als es ist und schneller Fortschritte erwarten als man sie als Anfänger macht. Vom Erstellen von komplexeren 3D-Spielen ganz zu schweigen. Es ist doch klar, dass Neulinge, welche mit so einer Erwartung rangehen, schnell enttäuscht sind und dann dazu neigen, das Programmieren einfach ganz sein zu lassen - egal in welcher Sprache.
    Wenn dann aber wir ankommen und sagen, lies mal die beiden Bücher und dann schaffste das, tun wir nichts dagegen.

    Auch hast du jetzt wieder geschrieben "Man sollte nicht an Spiele denken" geschrieben. Spiele sind aber nicht nur 3D Monster mit ewig langem Aufwand. Ein Spiel kann auch sein, 1 Minute zu haben und möglichst oft die Enter Taste in einer Konsolen ab drücken zu müssen. Und sowas ist umsetzbar. Kleine projektbezogene Arbeit hilft oft weiter, als generisches Bücherlesen.

    Meine Apps im AppStore:
    [Bild: frantic.png]

    haddock ist offline

  17. #17 Zitieren
    Ritter Avatar von ojas
    Registriert seit
    Jun 2008
    Ort
    Erde
    Beiträge
    1.787
    Zitat Zitat von Kapitän Haddock Beitrag anzeigen
    ... 1 Minute zu haben und möglichst oft die Enter Taste in einer Konsolen ab drücken zu müssen.
    390 mal.
    ojas ist offline

  18. #18 Zitieren
    Death Overlord
    Gast
    Zitat Zitat von Thoronador Beitrag anzeigen
    Ich bevorzuge da ja im Allgemeinen ein richtiges, gedrucktes Buch, weil sich die Autoren da erstens meist mehr Mühe geben und zweitens auch ausführlicher sein können als in einem Onlinetutorial auf einer Webseite. Mit Java im Speziellen kenne ich mich nicht so gut aus, aber das Buch "Java ist auch eine Insel" soll ganz gut sein. Das gibt es auch als Openbook online: http://openbook.galileocomputing.de/javainsel8/
    Ich habe mal angefangen in dem Buch(im Internet) zu lesen, aber irgendwie versteh ich bei dem nicht mal die Sachen die ich schon kann.


    Zitat Zitat von Thoronador Beitrag anzeigen
    Dafür wäre es gut, zu wissen, wie gut du dich mit Java (oder welche Sprache auch immer du nutzen möchtest) schon auskennst.
    Ich habe bis jetzt im Unterricht gelernt mit Java Konsolenprogramme zu programmieren(Quadratische Gleichung lösen, Währungsrechner,...) also noch nichts Grafisches. Ich weiß wie man If verzweigungen macht, Mahrfachauswahl, Schleife mit Eintrittsbedingung, Ausdrittsbedingung..., Einlesen, Ausgeben, Class erstellt.


    Zitat Zitat von Kapitän Haddock Beitrag anzeigen
    Auch hast du jetzt wieder geschrieben "Man sollte nicht an Spiele denken" geschrieben. Spiele sind aber nicht nur 3D Monster mit ewig langem Aufwand. Ein Spiel kann auch sein, 1 Minute zu haben und möglichst oft die Enter Taste in einer Konsolen ab drücken zu müssen. Und sowas ist umsetzbar. Kleine projektbezogene Arbeit hilft oft weiter, als generisches Bücherlesen.
    Wo gibt es denn Java Tutorials bei dennen man alles auf so eine Art lert indem man immer wieder so kleine Sachen programmiert bei dennen man das dan so lernt?
    Es ist klar dass es am Anfang keine 3D Spiele werden(das ist das Endziel) es reichen am Anfang auch kleine Spiele oder Programme bei dennen ich was lern.

  19. #19 Zitieren
    Mythos Avatar von Pyrokar
    Registriert seit
    May 2004
    Ort
    ..... hihihähähä hier gibt es Wände und wenn ich dagegen Lauf prall ich ab, wie ein Flummi..... hihihähähääähääääää
    Beiträge
    8.115
    Da du bisher hauptsächlich Programme mit einer Klasse geschrieben hast und dabei vermutlich in erster Linie elementare Datentypen (wow, sogar hier gibts also nen Euphemismus ) und vielleicht Strings genutzt hast, würde ich dir empfehlen, dich intensiver mit Klassen, Objekten, Referenzen und der damit mehr oder weniger zwangsläufig verbundenen Objektorientierung zu beschäftigen.
    Das sind Dinge, die man für die objektorientierte Programmierung sowieso brauch, egal in welcher Sprache. Das Grundwissen und -verständnis ist unabhängig von der Sprache, in der man sich da herantastet.

    Als Beispiel für ein mittelfristiges Ziel würde mir hier ein Kartenspiel einfallen, das einfach Regeln hat, Krieg und Frieden etwa. Dabei würde ich zunächst auf eine grafische Oberfläche verzichten.
    [Bild: gg_schuetzen_ani.gif] | ~ DauJones ~ | ~ Klopfers-Web ~ | ~ German Bash ~ |
    Die meisten und schlimmsten Übel, die der Mensch dem Menschen zugefügt hat, entsprangen dem felsenfesten Glauben an die Richtigkeit falscher Überzeugungen.
    Bertrand Russell
    Religionskriege sind Konflikte zwischen erwachsenen Menschen, bei denen es darum geht, wer den cooleren, imaginaeren Freund hat. anonym
    Pyrokar ist offline

  20. #20 Zitieren

    Batmanistrator
    Avatar von Thoronador
    Registriert seit
    Jul 2005
    Ort
    Morrowind, Vvardenfell-Distrikt
    Beiträge
    20.797
    Zitat Zitat von Death Overlord Beitrag anzeigen
    Ich habe mal angefangen in dem Buch(im Internet) zu lesen, aber irgendwie versteh ich bei dem nicht mal die Sachen die ich schon kann.
    Hmm. Möglicherweise liegt das daran, dass in Büchern die Kapitel normalerweise aufeinander aufbauen, und wenn man sich dann mittendrin was rauspickt, die Vorarbeit aus den vorigen Kapiteln dazu fehlt. Oder es liegt daran, dass das Buch vielleicht doch nicht so gut ist wie man mir mal sagte.

    Zitat Zitat von Death Overlord Beitrag anzeigen
    Ich habe bis jetzt im Unterricht gelernt mit Java Konsolenprogramme zu programmieren(Quadratische Gleichung lösen, Währungsrechner,...) also noch nichts Grafisches. Ich weiß wie man If verzweigungen macht, Mahrfachauswahl, Schleife mit Eintrittsbedingung, Ausdrittsbedingung..., Einlesen, Ausgeben, Class erstellt.
    Gut, das ist doch schon was. Damit könnte man auch schon ein kleines Spiel auf Konsolenebene machen, wir nehmen mal ein Zahlenratespiel.
    Folgende Aufgabenstellung dazu:
    Entwickle einen Algorithmus zu einem Spielprogramm, welches eine von einem menschlichen Mitspieler ausgedachte ganze Zahl aus einem vorgegebenen Intervall [u, o] mit möglichst wenigen Versuchen errät. Dabei sollen zunächst zwei ganze Zahlen u und o nach einer entsprechenden Eingabeaufforderung so lange eingelesen werden, bis u < o gilt.

    Das Spielprogramm soll nun wiederholt auf eine Zahl aus diesem Intervall tippen, wobei der menschliche Mitspieler jeweils antwortet, ob diese Zahl richtig, zu klein oder zu groß ist (ohne dabei zu mogeln). Das Spielprogramm erwartet vom menschlichen Mitspieler als Tastatureingabe das Zeichen "=", wenn es die richtige Zahl erraten hat, ansonsten das Zeichen "<" bzw. ">", wenn die getippte Zahl zu klein bzw. zu groß war.
    Sobald die gedachte Zahl erraten wurde, soll die Anzahl der vom Spielprogramm benötigten Rateversuche mit begleitendem Kommentar ausgegeben werden. Falls eine Eingabe des menschlichen Mitspielers früheren Eingaben widerspricht, soll der Algorithmus dies erkennen und das Spielprogramm nach Ausgabe einer entsprechend formulierten Meldung beendet werden. Anderenfalls soll gefragt werden, ob der Mitspieler ein weiteres Mal spielen möchte. Entsprechend der Antwort (Eingabe) ist ein neues Spiel zu beginnen oder das Spielprogramm zu beenden.

    Entwickle einen Algorithmus, der diese Aufgabenstellung möglichst effizient löst. Der Algorithmus sollte schnell sein, d.h. mit möglichst wenigen Abfragen (auch für den ungünstigsten Fall) auskommen, also eine Art Risikominimierung betreiben.
    Schreibe für diesen Algorithmus ein Programm und teste dieses mit geeigneten Daten.

    Zusatzaufgabe:
    Versuche, einen mathematischen Zusammenhang zwischen der Anzahl der in Frage kommenden ganzen Zahlen n = o − u + 1 und der maximal erforderlichen Anzahl der Rateversuche k abzuleiten.

    Die Aufgabe stammt zwar aus der Anfangszeit einer Vorlesung zu Fortran95, aber sowas sollte man auch mit Java und den von dir genannten Sachen lösen können.


    Als nächstes könnte man dann das von Pyrokar vorgeschlagene Kartenspiel probieren, auch zunächst als Konsolenprogramm, und sobald du dich dann mit Grafik(bibliotheken(?)) für Java befasst, könnte man dazu eine grafische Ausgabe gestalten.
    Thoronador ist offline

Seite 1 von 3 123 Letzte »

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •