Out of memory Error (Java-OpenGL)

Συζητήσεις για γλώσσες προγραμματισμού και θέματα σχετικά με προγραμματισμό.
User avatar
ThOdOr1s
Mbyte level
Mbyte level
Posts: 961
Joined: Thu Oct 25, 2012 5:17 pm
Academic status: 4th year
Gender:
Location: 36.86588,25.51602
Contact:

Out of memory Error (Java-OpenGL)

Postby ThOdOr1s » Wed Aug 14, 2013 1:29 pm

Λοιπων, εχω κατεβασει την LWJGL, και εχω αρχισει να πειραματιζομαι λιγακι με τα του OpenGL, σε java. Και εχω ενα θεμα...

Spoiler: εμφάνιση/απόκρυψη
1.PNG

Σε πρωτη φαση, ολα φαινονται να δουλευουν κομπλε, και μετα απο καποιο χρονο αρχιζει γκρινιαζει το pc για μνημη!
Ακομα και στα πιο απλα renders (σε φαση 3 PNG εικονιτσες, 200x200) το pc τα παιζει (το λαπτοπακι μου, μονο αργο δεν το λες...) και εχω 4G RAM!!!
Δεν μπορω να καταλαβω τι φταει, προσπαθησα να κουρεψω ο,τι αντικειμενα ειχα, και να τα αντικαταστησω (οσο αυτο γινεται) με static μεθοδους, και ενω στην αρχη ειδα δραματικη βελτιωση (σε φαση δουλευε κομπλε) οταν πηγα να φτιαξω καφε και γυρισε παλι ειχε πεταξει error.

Και δεν κανω τιποτα... Μια ArrayList φτιαχνω (στο eclipse), πεταω textures μεσα με ενα TextureLoader, και μετα τα δινω σε μια αλλη κλαση που τα σχεδιαζει με GL11...

Spoiler: εμφάνιση/απόκρυψη
2.PNG

Μηπως ξερει κανενας τι κανω λαθος, και μου το πεταει αυτο αρχηκα...
και υστερα, μηπως εχει κανενας καμια συμβουλη για το πως αποφευγει κανεις τετοιες "out of memory" καταστασεις στη java?
You do not have the required permissions to view the files attached to this post.
User avatar
Jami
Venus Former Team Member
Posts: 1065
Joined: Mon Nov 01, 2010 7:17 pm
Academic status: Alumnus/a
Gender:

Re: Out of memory Error (Java-OpenGL)

Postby Jami » Wed Aug 14, 2013 2:44 pm

Απο οτι ξερω μπορεις να βαλεις μια παραμετρο την ωρα του execute οπως αυτη -Xmx512. Μπορει να εχεις πολλα γιγα ram αλλα στο java virtual machine δινεται ενα μερος.Με μια τετοια εντολη το λες να δωσει περισσοτερο.
User avatar
Spongebobu
Mbyte level
Mbyte level
Posts: 702
Joined: Mon Jul 02, 2012 6:54 pm
Academic status: Alumnus/a
Gender:
Location: In yo house

Re: Out of memory Error (Java-OpenGL)

Postby Spongebobu » Wed Aug 14, 2013 3:03 pm

Θα ήταν χρήσιμο να έδινες και τον κώδικα. Τσέκαρε μήπως φτιάχνεις συνεχώς τα αντικείμενα σε κάθε κύκλο. Αν δεν ακολουθείς κάποιο tutorial μπορεί να έχεις κάνει κάποιο βασικό λάθος χωρίς να το ξέρεις.
Every time you make a typo the errorists win.

Fabio 2 - 1 Funk
User avatar
ThOdOr1s
Mbyte level
Mbyte level
Posts: 961
Joined: Thu Oct 25, 2012 5:17 pm
Academic status: 4th year
Gender:
Location: 36.86588,25.51602
Contact:

Re: Out of memory Error (Java-OpenGL)

Postby ThOdOr1s » Wed Aug 14, 2013 6:04 pm

Spongebobu wrote:Θα ήταν χρήσιμο να έδινες και τον κώδικα. Τσέκαρε μήπως φτιάχνεις συνεχώς τα αντικείμενα σε κάθε κύκλο. Αν δεν ακολουθείς κάποιο tutorial μπορεί να έχεις κάνει κάποιο βασικό λάθος χωρίς να το ξέρεις.

Δυστυχως δεν εχω internet στο λαπτοπ μου, ειμαι απο αλλο, και το φλασακι που περασα τις εικονες ηταν δανεικο (δεν μου εκοψε να βαλω ολον τον φακελο με τον κωδικα στο φλασακι, γι αυτο το περιεγραψα κιολας, θα προσπαθησω να postαρω τον κωδικα με καποιο τροπο αργοτερα... Τωρα ως αναφορα τα αντικειμενα, οταν τα διεγραψα ειδα δραματικη βελτιωση τοσο στην αποκριση του προγραμματος οσο και στο χρονο που του πηρε για να κρασαρει τελικα, αλλα και παλι ειχα το ιδιο αποτελεσμα αργοτερα. Τωρα οντως ακολουθω ενα tutorial. Αλλα αυτος δουλευει σε mac και linux. Εγω στο λαπτοπ μου δεν εχω linux. Εκανα import τα πραγματα απο το win φακελο του LWJGL engine (και δουλευει, για λιγο τουλαχιστον). Αναρωτιεμαι ομως... Επειδη συνηθως τα Windows γκρινιαζουν για μνημη, μηπως ειναι θεμα του OS? :-k
User avatar
ja_the_invincible
Wow! Terabyte level
Wow! Terabyte level
Posts: 2414
Joined: Tue Dec 01, 2009 12:33 am
Academic status: N>4
Gender:
Location: Κάπου στο matrix...

Re: Out of memory Error (Java-OpenGL)

Postby ja_the_invincible » Wed Aug 14, 2013 7:04 pm

Χωρίς να έχω δει τον κώδικα : Μήπως κάθε εικόνα αντιστοιχεί σε ένα αντικείμενο?Και αν ναι μήπως την ξαναφορτώνεις κάθε φορά που δημιουργείς ένα νέο αντικείμενο?Αν ναι , τότε αυτό που πρέπει να κάνεις είναι να φορτώσεις μια φορά όλα τα εξωτερικά αρχεία ( εικόνα , ήχο ) σε κάποια δομή/πίνακα και μετά να αναφέρεσαι σε αυτή την δομή κατευθείαν - χωρίς να δημιουργείς αντίγραφα.
Spoiler: εμφάνιση/απόκρυψη
α) Καλό που ασχολείσαι με opengl αλλά μην το κάνεις σε java.Κάνε πρώτα c++/c και μετά δες την κανονικά.
β) Επειδή όλοι κάποτε έχουμε πει τα ίδια : σχεδόν ποτέ δεν φταίει το λειτουργικό σύστημα / γλώσσα / compiler .Κατά 99,99% η μογγολιά θα είναι δική σου :-p .
f**k robin and batman i'm robbin with a bat man
User avatar
ThOdOr1s
Mbyte level
Mbyte level
Posts: 961
Joined: Thu Oct 25, 2012 5:17 pm
Academic status: 4th year
Gender:
Location: 36.86588,25.51602
Contact:

Re: Out of memory Error (Java-OpenGL)

Postby ThOdOr1s » Wed Aug 14, 2013 9:22 pm

Λοιπον, εβαλα internet στο λαπτοπ.... Aaaaaaaaaaaaaaaaaand it's code time!

OpenGLRenders: καλω απο main τον constructor της.

Code: Select all

package jscroller;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;

//import java.lang.IndexOutOfBoundsException;

import java.util.ArrayList;

import static org.lwjgl.opengl.GL11.*;

import org.lwjgl.LWJGLException;
import org.lwjgl.opengl.Display;
import org.lwjgl.opengl.DisplayMode;
import org.lwjgl.input.Keyboard;
//import org.lwjgl.input.Mouse.*;
//import org.lwjgl.input.Keyboard.*;

import org.newdawn.slick.opengl.Texture;
import org.newdawn.slick.opengl.TextureLoader;

public class OpenGLRenders {

   ArrayList<Texture> texture = new ArrayList<Texture>();

   public OpenGLRenders() {   
      try{
         Display.setDisplayMode(new DisplayMode(800,600)); //Size of the primary window.
         Display.setTitle("Dreamland Engine"); //Name of the Window
         Display.create(); //Generates window.
      }
      catch (LWJGLException e){
         e.printStackTrace(); //Things are bad...
      }
      
      //OpenGl parameters...
      glMatrixMode(GL_PROJECTION); //Enabling the Canvas
      glLoadIdentity(); //??? Does not seem to work without this... I have no idea what it does...
      glOrtho(0,800,600,0,1,-1); //(x,y,z,0,1,-1) for 2D
      glMatrixMode(GL_MODELVIEW);
      
      while (!Display.isCloseRequested()){
         glClear(GL_COLOR_BUFFER_BIT);

         texture.add(LoadTexture("PNG","tiles1")); //0

               ObjGen.Tile(400,400,500,500,texture.get(0));
                     ObjGen.Tile(100,100,300,300,texture.get(0));
                     ObjGen.Tile(300,300,400,400,texture.get(0));

         Display.update();
         Display.sync(60); //FPS
      }
      Display.destroy();
   }   
   
   private Texture LoadTexture(String format, String filename){
      try {
         return TextureLoader.getTexture("PNG", new FileInputStream(new File("res/"+filename+".png")));
      } catch (FileNotFoundException e) {
         //yaw
         e.printStackTrace();
      } catch (IOException e) {
         //yaw
         e.printStackTrace();
      }
      return null;
   }
}


Και ενα δειγμα του κωδικα της ObjGen, οπως ειναι τωρα που δεν δημιουργει αντικειμενα αλλα εχει static μεθοδους!

Code: Select all

package jscroller;

import static org.lwjgl.opengl.GL11.*;

import org.newdawn.slick.opengl.Texture;

public class ObjGen {
         
   public static void Tile(int pointAi, int pointAj, int pointBi, int pointBj, Texture texture){
      if (texture == null){
          ObjGen.PrTile(pointAi, pointAj, pointBi, pointBj);
      }
      else{
         texture.bind();
         glBegin(GL_QUADS);

        glTexCoord2f(0,0);
            glVertex2i(pointAi,pointAj);
            glTexCoord2f(0,1);
            glVertex2i(pointAi,pointBj);
            glTexCoord2f(1,1);
            glVertex2i(pointBi,pointBj);
            glTexCoord2f(1,0);
            glVertex2i(pointBi,pointAj);
         
         glEnd();
      }
   }
}


Για πειτε? Τι εξωφρενικα ηληθιο λαθος εχω κανει και τα παιζει τοσο ασχημα...? :smt016
User avatar
Spongebobu
Mbyte level
Mbyte level
Posts: 702
Joined: Mon Jul 02, 2012 6:54 pm
Academic status: Alumnus/a
Gender:
Location: In yo house

Re: Out of memory Error (Java-OpenGL)

Postby Spongebobu » Wed Aug 14, 2013 10:32 pm

Αν και έχω δει ελάχιστη OpenGL μου φένεται οτι φορτώνεις κάθε φορά την εικόνα, 60 φορές το δευτερόλεπτο, μέσα στο render loop.

ThOdOr1s wrote: while (!Display.isCloseRequested()){
glClear(GL_COLOR_BUFFER_BIT);

texture.add(LoadTexture("PNG","tiles1")); //0

ObjGen.Tile(400,400,500,500,texture.get(0));
ObjGen.Tile(100,100,300,300,texture.get(0));
ObjGen.Tile(300,300,400,400,texture.get(0));


Display.update();
Display.sync(60); //FPS
}


Δοκίμασε να την φορτώσεις έξω απ' το loop.
Παίζει να είμαι άκυρος εντελώς πάντως, γιαυτό ας πεί και κάποιος άλλος που ξέρει.
Every time you make a typo the errorists win.

Fabio 2 - 1 Funk
User avatar
ja_the_invincible
Wow! Terabyte level
Wow! Terabyte level
Posts: 2414
Joined: Tue Dec 01, 2009 12:33 am
Academic status: N>4
Gender:
Location: Κάπου στο matrix...

Re: Out of memory Error (Java-OpenGL)

Postby ja_the_invincible » Wed Aug 14, 2013 11:41 pm

++ σποντζιμπομπού.
f**k robin and batman i'm robbin with a bat man
User avatar
moody
Gbyte level
Gbyte level
Posts: 1082
Joined: Sun Oct 16, 2011 11:38 am
Gender:
Contact:

Re: Out of memory Error (Java-OpenGL)

Postby moody » Wed Aug 14, 2013 11:45 pm

Περισσότερες από 60 :-p

import org.newdawn.slick.opengl.Texture;
import org.newdawn.slick.opengl.TextureLoader;
βρες κανα tutorial χωρίς το slick.
modie is balanced ¯\_(ツ)_/¯
User avatar
ThOdOr1s
Mbyte level
Mbyte level
Posts: 961
Joined: Thu Oct 25, 2012 5:17 pm
Academic status: 4th year
Gender:
Location: 36.86588,25.51602
Contact:

Re: Out of memory Error (Java-OpenGL)

Postby ThOdOr1s » Thu Aug 15, 2013 8:06 pm

Spongebobu wrote:Αν και έχω δει ελάχιστη OpenGL μου φένεται οτι φορτώνεις κάθε φορά την εικόνα, 60 φορές το δευτερόλεπτο, μέσα στο render loop.

ThOdOr1s wrote: while (!Display.isCloseRequested()){
glClear(GL_COLOR_BUFFER_BIT);

texture.add(LoadTexture("PNG","tiles1")); //0

ObjGen.Tile(400,400,500,500,texture.get(0));
ObjGen.Tile(100,100,300,300,texture.get(0));
ObjGen.Tile(300,300,400,400,texture.get(0));


Display.update();
Display.sync(60); //FPS
}


Δοκίμασε να την φορτώσεις έξω απ' το loop.
Παίζει να είμαι άκυρος εντελώς πάντως, γιαυτό ας πεί και κάποιος άλλος που ξέρει.

LOL, οποτε loading stuff εκτως loop... got it! :smt023
εξωφρενικα ηληθιο λαθος... check! (οντως επρεπε να το δω αυτο... :smt016 )

---------------------------------

Καμια συμβουλη για το πως να εξοικονομει κανεις resources σε Java?
Last edited by MoonShadow on Fri Aug 16, 2013 12:56 am, edited 1 time in total.
Reason: double post
User avatar
necrofear_13
Wow! Terabyte level
Wow! Terabyte level
Posts: 2141
Joined: Sun Nov 18, 2007 5:32 am
Academic status: Alumnus/a
Gender:
Location: ΗΡΑΚΛΕΙΟ ΑΤΤΙΚΗΣ

Re: Out of memory Error (Java-OpenGL)

Postby necrofear_13 » Fri Aug 16, 2013 12:10 am

Δεν γίνεσαι λίγο πιο συγκεκριμένος? Αυτή είναι πολύ γενική ερώτηση...
No matter what kind of sadness envelops the darkness of our despair, if you put one foot in front of the other, at some point you will reach a place where you can see the light.

In heaven or earth, no matter to where we progress, no matter where we walk, that becomes our road.
As long as we keep walking the battle will continue.
And that is exactly why this place will always be a paradise
User avatar
ja_the_invincible
Wow! Terabyte level
Wow! Terabyte level
Posts: 2414
Joined: Tue Dec 01, 2009 12:33 am
Academic status: N>4
Gender:
Location: Κάπου στο matrix...

Re: Out of memory Error (Java-OpenGL)

Postby ja_the_invincible » Fri Aug 16, 2013 1:01 am

ThOdOr1s wrote:Καμια συμβουλη για το πως να εξοικονομει κανεις resources σε Java?

-Αρχικά μια καλή πρακτική είναι να φορτώνεις όλα τα resources στην αρχή και κατόπιν να μην δημιουργείς αντίγραφα.Η φόρτωση επί τόπου σου αφαιρεί επίδοση , και αν την κάνεις συνέχεια , και μνήμη.
-Η μνήμη που θα χρησιμοποιήσει η διεργασία σου δεν είναι όλη η διαθέσιμη μνήμη : δες την εντολή που σου δώσανε πιο πάνω αν θες να χρησιμοποιήσεις παραπάνω μνήμη αλλά προς θεού πρόσεχε πόση θα δώσεις γιατί θα έχει συνέπειες στην λειτουργία όλου του συστήματος.
-Δοκίμαζε πιο απλούς τύπους δεδομένων ( π.χ byte αντί για integer ) αλλά πρόσεχε το εύρος των τιμών που θα πάρουν αυτά τα δεδομένα.
-Μην φτιάχνεις ανούσια αντικείμενα και επίσης προσπάθησε να χρησιμοποιείς static όταν πρέπει ( προσοχή όμως στην χρήση της ).
-Δες την διαφορά ανάμεσα σε deep και shallow copy constructors και μάθε πότε να χρησιμοποιείς τους 2ους.
f**k robin and batman i'm robbin with a bat man
User avatar
necrofear_13
Wow! Terabyte level
Wow! Terabyte level
Posts: 2141
Joined: Sun Nov 18, 2007 5:32 am
Academic status: Alumnus/a
Gender:
Location: ΗΡΑΚΛΕΙΟ ΑΤΤΙΚΗΣ

Re: Out of memory Error (Java-OpenGL)

Postby necrofear_13 » Fri Aug 16, 2013 1:22 am

ja_the_invincible wrote:
ThOdOr1s wrote:Καμια συμβουλη για το πως να εξοικονομει κανεις resources σε Java?

-Αρχικά μια καλή πρακτική είναι να φορτώνεις όλα τα resources στην αρχή και κατόπιν να μην δημιουργείς αντίγραφα.Η φόρτωση επί τόπου σου αφαιρεί επίδοση , και αν την κάνεις συνέχεια , και μνήμη.
-Η μνήμη που θα χρησιμοποιήσει η διεργασία σου δεν είναι όλη η διαθέσιμη μνήμη : δες την εντολή που σου δώσανε πιο πάνω αν θες να χρησιμοποιήσεις παραπάνω μνήμη αλλά προς θεού πρόσεχε πόση θα δώσεις γιατί θα έχει συνέπειες στην λειτουργία όλου του συστήματος.
-Δοκίμαζε πιο απλούς τύπους δεδομένων ( π.χ byte αντί για integer ) αλλά πρόσεχε το εύρος των τιμών που θα πάρουν αυτά τα δεδομένα.
-Μην φτιάχνεις ανούσια αντικείμενα και επίσης προσπάθησε να χρησιμοποιείς static όταν πρέπει ( προσοχή όμως στην χρήση της ).
-Δες την διαφορά ανάμεσα σε deep και shallow copy constructors και μάθε πότε να χρησιμοποιείς τους 2ους.

++
και όπου μπορείς χρησιμοποιεις και final μεταβλητές.
No matter what kind of sadness envelops the darkness of our despair, if you put one foot in front of the other, at some point you will reach a place where you can see the light.

In heaven or earth, no matter to where we progress, no matter where we walk, that becomes our road.
As long as we keep walking the battle will continue.
And that is exactly why this place will always be a paradise
User avatar
nachos
Gbyte level
Gbyte level
Posts: 1252
Joined: Mon Aug 21, 2006 4:28 pm
Academic status: Alumnus/a
Gender:
Location: Brachamee City

Re: Out of memory Error (Java-OpenGL)

Postby nachos » Fri Aug 16, 2013 12:24 pm

ThOdOr1s wrote:
Spongebobu wrote:Καμια συμβουλη για το πως να εξοικονομει κανεις resources σε Java?


Ο καλύτερος τρόπος για να εξοικονομήσεις resources, είναι να ΜΗΝ χρησιμοποιείς 2D-3D graphics, και να φτιάξεις καμιά κρεμάλα σε κονσόλα.
Nothing is impossible for the man who doesn't have to do it himself
User avatar
ThOdOr1s
Mbyte level
Mbyte level
Posts: 961
Joined: Thu Oct 25, 2012 5:17 pm
Academic status: 4th year
Gender:
Location: 36.86588,25.51602
Contact:

Re: Out of memory Error (Java-OpenGL)

Postby ThOdOr1s » Fri Aug 16, 2013 5:40 pm

nachos wrote:
ThOdOr1s wrote:
Spongebobu wrote:Καμια συμβουλη για το πως να εξοικονομει κανεις resources σε Java?


Ο καλύτερος τρόπος για να εξοικονομήσεις resources, είναι να ΜΗΝ χρησιμοποιείς 2D-3D graphics, και να φτιάξεις καμιά κρεμάλα σε κονσόλα.

Code: Select all

_______
|/    |
|    (_)
|    \|/
|     |
|    / \
|
|___          there... 

Spoiler: εμφάνιση/απόκρυψη
Ναι, υποθετω οτι εχετε και εσυ και ο ja ενα δικιο, αλλα τα ευκολα δεν εχουν πλακα...
User avatar
nachos
Gbyte level
Gbyte level
Posts: 1252
Joined: Mon Aug 21, 2006 4:28 pm
Academic status: Alumnus/a
Gender:
Location: Brachamee City

Re: Out of memory Error (Java-OpenGL)

Postby nachos » Fri Aug 16, 2013 11:44 pm

Αυτό που παρέθεσες δεν είναι κώδικας, αλλά ζωγραφική.

Spoiler: εμφάνιση/απόκρυψη
Να υποθέσω δηλαδή ότι δάμασες java 2, και είσαι έτοιμος για τα δύσκολα;
Nothing is impossible for the man who doesn't have to do it himself
User avatar
ThOdOr1s
Mbyte level
Mbyte level
Posts: 961
Joined: Thu Oct 25, 2012 5:17 pm
Academic status: 4th year
Gender:
Location: 36.86588,25.51602
Contact:

Re: Out of memory Error (Java-OpenGL)

Postby ThOdOr1s » Sat Aug 17, 2013 12:11 am

nachos wrote:Αυτό που παρέθεσες δεν είναι κώδικας, αλλά ζωγραφική.

Code: Select all

import java.util.Random;
import java.util.Scanner;

public class Kremala {

    public static void main(String[] args) {
        String text[] = new String[10];
        text[0] = "afros";
        text[1] = "kerma";
        text[2] = "mosxari";
        text[3] = "theatro";
        text[4] = "kota";       
        text[5] = "nero";
        text[6] = "tragos";
        text[7] = "skylos";
        text[8] = "mparoufes";
        text[9] = "xelwna";     
        Scanner sc = new Scanner (System.in);
        String word = text[generate()];
        int length = word.length();
        char letter[] = new char[length];
        boolean found[] = new boolean[length];
        for (int i = 0; i < length; i++){
            letter[i] = word.charAt(i);
            found[i] = false;
        }
        int towin = 2;
        boolean win = false;
        boolean foundletter;
        boolean alreadyfoundthat = false;
        boolean anotherstupidcase = false;
        boolean gameover = false;
        String answer;
        char nansw;
        int penalty = 5;
        found[0] = true;
        found[length - 1] = true;
        while (gameover == false){
            for (int i = 0; i < length; i++){
                if (found[i] == false){ System.out.print(" _ "); }
                else { System.out.print(" "+letter[i]+" ");}
            }
            System.out.println("");
            answer = sc.next();
            if (answer.equals(word)){
                win = true;
                gameover = true;
                break;   
            }
            if (answer.length()>1){
                System.out.println("No! that word is incorect");
                anotherstupidcase = true;
            }
            nansw = answer.charAt(0);
            foundletter = false;
            for (int i = 0; i < length; i++){
                if (letter[i] == nansw){
                    if(found[i] == true){
                        if(anotherstupidcase == false){
                            System.out.print("We already found that...\n");
                            foundletter = true;
                            break;
                        }
                    }
                    else {
                    System.out.println("Yeah! cool you found one!");
                    found[i] = true;     
                    towin = towin + 1;
                    foundletter = true;
                    break;
                    }
                }
            }               
            if ((foundletter == false)&(anotherstupidcase == false)){
                System.out.println("Nop, this letter is not here...");
                penalty = penalty - 1;
                if (penalty == 4){
                    System.out.print("_______\n"+"|/ \n"+"|\n"+"|\n"+"|\n"+"|\n"+"|\n"+"|___ ");
                }
                if (penalty == 3){
                    System.out.print("_______\n"+"|/    |\n"+"|    (_)\n"+"|\n"+"|\n"+"|\n"+"|\n"+"|___" );
                }
                if (penalty == 2){
                    System.out.print("_______\n"+"|/    |\n"+"|    (_)\n"+"|    \\|/\n"+"|\n"+"|\n"+"|\n"+"|___" );
                }
                if (penalty == 1){
                    System.out.print("_______\n"+"|/    |\n"+"|    (_)\n"+"|    \\|/\n"+"|     |\n"+"|\n"+"|\n"+"|___" );
                }
                if (penalty == 0){
                    System.out.print("_______\n"+"|/    |\n"+"|    (_)\n"+"|    \\|/\n"+"|     |\n"+"|    / \\ \n"+"|\n"+"|___\n"+"GAME OVER\n");
                    gameover = true;
                }
            }
            anotherstupidcase = false;
            if (towin == length){ win = true; gameover = true; }
        }
        if (win == true){System.out.println("Congratulations!");}
    }
   
    public static int generate(){
        Random gen = new Random();
        int ret = Math.abs(gen.nextInt()%10);
        return ret;
    }
}
User avatar
nachos
Gbyte level
Gbyte level
Posts: 1252
Joined: Mon Aug 21, 2006 4:28 pm
Academic status: Alumnus/a
Gender:
Location: Brachamee City

Re: Out of memory Error (Java-OpenGL)

Postby nachos » Sat Aug 17, 2013 4:16 pm

Εκτός από το ότι ο κώδικας είναι πανβρώμικος, και δε συνάδει με αυτά που είπαμε αυτό το εξάμηνο (δημιουργία και χρήση αντικειμένων - enacaptulation, δημιουργία και χρήση μεθόδων), έχεις και ένα σοβαρό bug. Να το πάρει το ποτάμι, ή θα το βρείς μόνος σου;
Nothing is impossible for the man who doesn't have to do it himself
User avatar
ThOdOr1s
Mbyte level
Mbyte level
Posts: 961
Joined: Thu Oct 25, 2012 5:17 pm
Academic status: 4th year
Gender:
Location: 36.86588,25.51602
Contact:

Re: Out of memory Error (Java-OpenGL)

Postby ThOdOr1s » Sat Aug 17, 2013 5:02 pm

nachos wrote:Εκτός από το ότι ο κώδικας είναι πανβρώμικος, και δε συνάδει με αυτά που είπαμε αυτό το εξάμηνο (δημιουργία και χρήση αντικειμένων - enacaptulation, δημιουργία και χρήση μεθόδων), έχεις και ένα σοβαρό bug. Να το πάρει το ποτάμι, ή θα το βρείς μόνος σου;

Χμ χμ χμ... σοβαρο bug ε.... χμ... θα το βρω περιμενε, θα το βρω...

Θα μπορουσα να φτιαξω ενα Arraylist με αντικειμενα τυπου words που θα ειχαν μεσα lettters και μεθοδους αναζητησης κλπ, αλλα αφου υπαρχει η String που κανει την ιδια δουλεια με 3 μεθοδους, γιατι να μπω στη διαδικασια? Ετσι και αλλιως οι μεθοδοι μεσα στη String ειναι 10 φορες καλυτερες και πιο γρηγορες απο ο,τι θα μπορουσα να γραψω εγω...

PS: επισης μολις πιο πανω ο Ja ποσταρε τροπους για εξοικονομιση πορων... Το εφτιαξα μεσα το πνευμα του thread... :smt005 (καλα ενταξυ βαριομουν)
User avatar
nachos
Gbyte level
Gbyte level
Posts: 1252
Joined: Mon Aug 21, 2006 4:28 pm
Academic status: Alumnus/a
Gender:
Location: Brachamee City

Re: Out of memory Error (Java-OpenGL)

Postby nachos » Sat Aug 17, 2013 6:20 pm

Καλά, όταν ΔΕΝ μπορέσεις να βρεις το bug, πες μου να σου πω την απάντηση, και να σου στείλω και πως θα έπρεπε να λύσεις την κρεμάλα με βάση αυτά που έχουμε πει. Έπειτα, αντί να χάνεις χρόνο με μπαρμπούτσαλα, ξόδεψέ τον για εξάσκηση σε σοβαρά πράγματα όπως οι έννοιες που κάνατε στο δεύτερο εξάμηνο. Ένας καλός τρόπος θα ήταν να ξαναδοκίμαζες το project εξαμήνου που είχατε.
Nothing is impossible for the man who doesn't have to do it himself
User avatar
ja_the_invincible
Wow! Terabyte level
Wow! Terabyte level
Posts: 2414
Joined: Tue Dec 01, 2009 12:33 am
Academic status: N>4
Gender:
Location: Κάπου στο matrix...

Re: Out of memory Error (Java-OpenGL)

Postby ja_the_invincible » Sat Aug 17, 2013 8:46 pm

Αυτό που φαντάζομαι προσπαθεί να πει ο φεουδάρχης Νάτσος :-p είναι πως γενικά για να ασχοληθείς με κάτι πιο προχωρημένο όπως game engines και 2D/3D γραφικά χρειάζεσαι ακόμα δουλειά στο προγραμματιστικό κομμάτι.Από την δική μου εμπειρία θα συμφωνήσω , ειδικά άμα θες να ασχοληθείς με 3D γραφικά χρειάζεται και αρκετό διάβασμα θεωρητικό χώρια του ότι χωρίς καλό προγραμματιστικό υπόβαθρο δεν μπορείς να κάνεις πολλά πράγματα.Εγώ θα σου πρότεινα να ασχοληθείς από το τρίτο έτος και έπειτα , χρόνο έχεις δεν χρειάζεται να βιάζεσαι ;) .
f**k robin and batman i'm robbin with a bat man
User avatar
ThOdOr1s
Mbyte level
Mbyte level
Posts: 961
Joined: Thu Oct 25, 2012 5:17 pm
Academic status: 4th year
Gender:
Location: 36.86588,25.51602
Contact:

Re: Out of memory Error (Java-OpenGL)

Postby ThOdOr1s » Sat Aug 17, 2013 9:37 pm

ja_the_invincible wrote:Αυτό που φαντάζομαι προσπαθεί να πει ο φεουδάρχης Νάτσος :-p είναι πως γενικά για να ασχοληθείς με κάτι πιο προχωρημένο όπως game engines και 2D/3D γραφικά χρειάζεσαι ακόμα δουλειά στο προγραμματιστικό κομμάτι.Από την δική μου εμπειρία θα συμφωνήσω , ειδικά άμα θες να ασχοληθείς με 3D γραφικά χρειάζεται και αρκετό διάβασμα θεωρητικό χώρια του ότι χωρίς καλό προγραμματιστικό υπόβαθρο δεν μπορείς να κάνεις πολλά πράγματα.Εγώ θα σου πρότεινα να ασχοληθείς από το τρίτο έτος και έπειτα , χρόνο έχεις δεν χρειάζεται να βιάζεσαι ;) .

I know that... Αλλα προτιμω να κατσω να ασχοληθω εστω και λιγο απο τωρα, επειδη με ευχαρηστει εμενα οχι για κανεναν αλλο λογο... ;) Αφου βαριεμαι, που βαριεμαι συνεχεια, απο το να βαριεμαι χωρις νοημα, ας βαριεμαι κανοντας κατι ενδιαφερον τουλαχιστον...
nachos wrote:.....Ένας καλός τρόπος θα ήταν να ξαναδοκίμαζες το project εξαμήνου που είχατε.

Ενδεχομενως ισως να το κανω και αυτο, εχω ηδη συμπληρωσει αρκετα πραγματα αφοτου παρεδωσα το τελευταιο, αλλα ισως το ξανακανω απο την αρχη αρκετα διαφορετικα...

Return to “Προγραμματισμός”

Who is online

Users browsing this forum: No registered users and 1 guest