Habt ihr schonmal was programmiert
lima-city → Forum → Sonstiges → Spam und sonstiges Unvergütetes
code
datei
download
fehler
file
grad
http
image
index
jahr
level
null
paar
problem
programm
spiel
sprache
testen
windows
zeile
-
Nett. Hallwa wächst und gedeiht. ^^
Aber eine kurze Anleitung wäre schon gut. Und wenn man weniger als 100 Dinge eingetragen hat, und auf << 100 drückt sollte es 0 sein und keine MsgBox geben. -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
@lol4me
nur leider wenn ich das puzzel oder den editor öffne ist das \"java-fenster\" weiß und nix passiert...
Du musst es erst in einen Ordner extrahieren und erst dann starten. Manchmal startet es auch so nicht, bitte versuche es 2 - 3 mal wenn es Probleme gibt. Die Kompatiblität ist leider auch nicht so gut, bis jetzt gab es immer bei meinen Programmen unter Linux und Mac Probleme damit, nur unter XP und Vista lief es bisher. -
Sach mal lol4me ... sehe ich das richtig, dass Du für Dein Spiel nur eine einzige Klasse verwendet hast?
-
Ist das schlecht?
Ist ja nur eine While die prüft ob das Level beendet ist, das neue Level ausließt und das nächste Feld aufbaut, den Rest erledigt der KeyListener mit dem Update der Variablen und die paint um das Feld aufzubauen. -
Ich hab ein Spiel geproggt das ist noch inner testphase und ich werde es vorerst nich hochladen. is n kleines spiel in delphi, das an kaiser orientiert is: sprich minimale grafik, kleiner umfang. ich kann auch erst seit vieleicht nem halben jahr programmieren. momentan lern ich C++. meine stärke is immer noch html
Beitrag geändert: 15.5.2008 17:53:09 von herrrscher
Beitrag geändert: 15.5.2008 20:26:52 von herrrscher -
Ist das schlecht?
Ist ja nur eine While die prüft ob das Level beendet ist, das neue Level ausließt und das nächste Feld aufbaut, den Rest erledigt der KeyListener mit dem Update der Variablen und die paint um das Feld aufzubauen.
Schlecht ist relativ ... aber Logik sollte schon von der GUI getrennt sein.
Und Du arbeitest somit absolut nicht objektorientiert.
Okay, bei solch einem kleinen Projekt ist das akzeptabel, aber sobald es größer wird, musst Du Dir anderes angewöhnen:
Objekte, Model-View-Controller Konzept, eventuell Pattern usw.
Die ganzen if-Anweisung sind ein Graus in Deinem Code ... jedenfalls für mich *g* -
Ich weiß, meine erste \"echte\" (Skript-)Sprache war PHP wo das ja leider keine Pflicht ist.
Hab schon vorher andere Sprachen verwendet (QuickBasic, GWBasic, Visual Basic, DarkBasic), aber mich damit nur gespielt und nie ernsthaft Anwendungen geschrieben.
Die IF nerfen mich auch schon langsam, vor allem weil ich gestern Nacht einen kleinen Bug hatte der das ganze Spiel wenn man nach oben drückt nachdem man einen Stein \"einlocht\" einfriert.
Wenn du schon da bist hilf mir bitte gleich.
Ich will jetzt in den Backbuffer zeichnen um das flackern loszuwerden. Aber wie heißt die Methode dazu um Bilder reinzuzeichnen?
Habe jetzt in der paint ein
BufferStrategy bb = this.getBufferStrategy();
und in der keyPressed
bb.show();
bb.drawImage gibt es leider nicht so wie in Graphics. -
Also um das Flackern so loszuwerden, kann ich Dir folgenden Link geben:
http://javaboutique.internet.com/tutorials/Java_Game_Programming/BildschirmflackernEng.html
Dort ist ein wenig beschrieben, wie man ein Image richtig buffert. -
Danke.
Aber wie wählt man jetzt ein Bild aus?
Der Code von der Seite:
/** Update - Method, implements double buffering */ public void update (Graphics g) { // initialize buffer if (dbImage == null) { dbImage = createImage (this.getSize().width, this.getSize().height); dbg = dbImage.getGraphics (); } // clear screen in background dbg.setColor (getBackground ()); dbg.fillRect (0, 0, this.getSize().width, this.getSize().height); // draw elements in background dbg.setColor (getForeground()); paint (dbg); // draw image on the screen g.drawImage (dbImage, 0, 0, this); }
-
Du solltest Dir schon das Image irgendwie besorgen...
z.B.
Image image = Toolkit.getDefaultToolkit().getImage(getClass().getResource(\"image.jpg\"));
Ansonsten dürfte noch Graphics2D funktionieren. -
Ich habe es jetzt so:
public void paint(Graphics g) { Toolkit tk = getToolkit(); int picx = 5; int picy = 23; Image bild = null; [b]Image dbImage = null;[/b] [b]Graphics dbg = null;[/b] [b]if(dbImage == null)[/b] [b]{[/b] [b]dbImage = this.createImage(this.getSize().width,this.getSize().height);[/b] [b]dbg = dbImage.getGraphics();[/b] [b]}[/b] [b]dbg.setColor(this.getBackground());[/b] [b]dbg.fillRect(0,0,this.getSize().width,this.getSize().height);[/b] [b]dbg.setColor(this.getForeground());[/b] [b]paint(dbg);[/b] for(int i = 0; i <= 399; i++) { if(feldinfos[i] == 0) bild = tk.getImage(\"img/mauer.png\"); else if(feldinfos[i] == 1) bild = tk.getImage(\"img/fliesse.png\"); else if(feldinfos[i] == 2) bild = tk.getImage(\"img/stein.png\"); else if(feldinfos[i] == 3) bild = tk.getImage(\"img/kreis.png\"); else if(feldinfos[i] == 4) { bild = tk.getImage(\"img/player_fliesse.png\"); player = i; } else if(feldinfos[i] == 5) { bild = tk.getImage(\"img/player_kreis.png\"); player = i; } else if(feldinfos[i] == 6) bild = tk.getImage(\"img/stein_eingelocht.png\"); g.drawImage(bild, picx, picy, this); picx = picx + 20; if(picx >= 400) { picy += 20; picx = 5; } } }
Die Zeilen in den Bold-Tag sind neu. (Ja, ich wusste bisher nicht das man in einer Code-Zeile nicht fett schreiben kann.)
Bekomme aber den Fehler:
java.lang.OutOfMemoryError: Java heap space
Alles weißt auf die Zeile \"paint(dbg);\".
-
Ich seh schon, das wird zu langwierig und umständlich...
Eventuell etwas simpler und verständlicher:
BufferedImage img = ImageIO.read(new File(\"image.jpg\")); int w = img.getWidth(null); int h = img.getHeight(null); BufferedImage bi = new BufferedImage(w, h, BufferedImage.TYPE_INT_ARGB); Graphics g = bi.getGraphics(); g.drawImage(img, 0, 0, null);
Das Tutorial dazu von Sun:
http://java.sun.com/docs/books/tutorial/2d/images/index.html
PS:
Probieren, nicht immer fragen. -
ich hab zwar nur was \"billiges\" aber ich setlls mal rein:
http://splinters-hp.pytalhost.com/downloads/HI-LO.exe
Heheee... Das erinnert mich an meinen allerersten Versuch in Python. ^^
Die \'Vorlage\' dazu habe ich aus dem openbook zu Python aus dem \'Galileo Computing\'-Verlag genommen.
http://www.galileocomputing.de/openbook/python/python_kapitel_05_002.htm#mj83b554a635b0f208af41da6b6f8bc232
Das war mir aber schlichtweg zu simpel, deswegen habe ich es zumindest ein wenig erweitert. Ist natürlich immer noch nicht besonders, aber stolz wie Oskar ist man natürlich trotzdem darauf (gewesen).
Nicht über die Größe der .exe wundern, Python ist eine Interpreter-Sprache, also muss dieser quasi mit in die Binary eingebacken werden.
Mal schauen, ob ich das Ganze noch um eine GUI erweitere und ein paar weitere Extras einbaue... Je nachdem, was mir so in den Sinn kommt. ^^
=> http://download.lima-city.de/olliander/zahlenraten.exe
GrEetz, Olliander
Beitrag geändert: 15.5.2008 2:21:37 von olliander -
ich hab zwar nur was \"billiges\" aber ich setlls mal rein:
http://splinters-hp.pytalhost.com/downloads/HI-LO.exe
Heheee... Das erinnert mich an meinen allerersten Versuch in Python. ^^
Die \'Vorlage\' dazu habe ich aus dem openbook zu Python aus dem \'Galileo Computing\'-Verlag genommen.
http://www.galileocomputing.de/openbook/python/python_kapitel_05_002.htm#mj83b554a635b0f208af41da6b6f8bc232
Das war mir aber schlichtweg zu simpel, deswegen habe ich es zumindest ein wenig erweitert. Ist natürlich immer noch nicht besonders, aber stolz wie Oskar ist man natürlich trotzdem darauf (gewesen).
Nicht über die Größe der .exe wundern, Python ist eine Interpreter-Sprache, also muss dieser quasi mit in die Binary eingebacken werden.
Mal schauen, ob ich das Ganze noch um eine GUI erweitere und ein paar weitere Extras einbaue... Je nachdem, was mir so in den Sinn kommt. ^^
=> http://download.lima-city.de/olliander/zahlenraten.exe
GrEetz, Olliander
Beitrag geändert: 15.5.2008 2:21:37 von olliander
Jetzt hat man nur unter Linx das Problem, das das dann so nicht läuft -.- -
Ich hab nen kleinen Vokabeltrainer geschrieben und diverse Datenbankanwendungen mit Access (Scheiss Programm).
Aber was größeres hab ich mir zeitlich noch nicht erlauben können. -
Ich hab nen kleinen Vokabeltrainer geschrieben und diverse Datenbankanwendungen mit Access (Scheiss Programm).
Aber was größeres hab ich mir zeitlich noch nicht erlauben können.
Aber ein Karpfen macht doch nicht mehr als gelangweilt im Wasser herumzublubbern -
Blubb oO ;)
-
Ich seh schon, das wird zu langwierig und umständlich...
Eventuell etwas simpler und verständlicher:
BufferedImage img = ImageIO.read(new File(\"image.jpg\")); int w = img.getWidth(null); int h = img.getHeight(null); BufferedImage bi = new BufferedImage(w, h, BufferedImage.TYPE_INT_ARGB); Graphics g = bi.getGraphics(); g.drawImage(img, 0, 0, null);
Das Tutorial dazu von Sun:
http://java.sun.com/docs/books/tutorial/2d/images/index.html
PS:
Probieren, nicht immer fragen.
Danke.
Ich probiere ja immer, aber das ist als müsste man einen gramatikalisch richtigen Satz einer wildfremden Sprache erraten und macht nicht gerade spaß.
Beitrag geändert: 15.5.2008 10:58:16 von lol4me -
Soda, hier die vermutlich letzte Version vom Puzzlespiel.
http://download.lima-city.de/lol4me/puzzle11puzzledie10.exe
Ist diesmal ein selbstenpakendes Archiv um das Problem zu verhindern, das auftritt wenn man direkt aus dem Archiv startet.
Der Source ist diemal direkt im File drinnen, jar-Dateien könnt ihr mit WinRAR extrahieren. Der Source steht in der Datei *.java die ihr auch einfach mit nen ANSI-Editor lesen könnt.
Viel Spaß.
Jetzt muss ich noch überlegen was ich als nächstes mache.
Wollte eine kleine Wirtschaftssimulation machen aber habe gleich gemerkt das ich so weit noch lange nicht bin.
Noch 3 Fragen am Rande:
1. Gibt es eine Möglichkeit um den Fensterrand auszublenden und so Vollbild zu emulieren?
2. Liefert Java eine Möglichkeit mit ohne externe Softwareschnittstelle eine Access zu bearbeiten? Zum Beispiel als Ersatz für die txts.
3. Liefert Java eine Möglichkeit mit um mit einen bestimmten Schlüssel eine Zeichenfolge zu verschlüsseln um zu verhindern das jemand gespeicherte Datensätze vor Bearbeitungen mit Hexadezimaleditoren zu schützen?
Beitrag geändert: 15.5.2008 13:02:56 von lol4me -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage