Java-Gaming.org    
Featured games (79)
games approved by the League of Dukes
Games in Showcase (477)
Games in Android Showcase (106)
games submitted by our members
Games in WIP (533)
games currently in development
News: Read the Java Gaming Resources, or peek at the official Java tutorials
 
    Home     Help   Search   Login   Register   
Pages: [1]
  ignore  |  Print  
  global variable  (Read 2655 times)
0 Members and 1 Guest are viewing this topic.
Offline h3ckboy

JGO Coder


Medals: 5



« Posted 2009-02-02 07:17:00 »

ok so to mkae a wariable global in a class you just declar it outside of and method. so I have this code. the prints are so that I can know  if it is working before I write gui for that part.

1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
32  
33  
34  
35  
import java.io.*;
public class Enemy
{
    boolean survive = true;
    String enemy;
    int[] enemyInfo = new int[5];
    String line;
    int x;
    int health;
    public void subHealth(int i){System.out.println(enemyInfo[0]);health = health - i;System.out.println(health);}//and then over here is 0
   public void setEnemy(String i){
        enemy = i;
    }
    public boolean checkAlive()
    {
        if(health<1){survive = false;}
        return survive;
    }
    public void getEnemyInfo()
    {
        try{
            File inFile = new File("resources/enemies/"+enemy+".txt");
            BufferedReader reader = new BufferedReader(new FileReader("resources/enemies/"+enemy+".txt"));
            line = null;
            while ((line=reader.readLine()) != null)
            {
                enemyInfo[x] = Integer.parseInt(line);
                x++;
            }
        }catch(FileNotFoundException e){System.err.println("Library not complete");}
        catch(IOException e){}
        catch(NumberFormatException e){}
        health = enemyInfo[0];//over here it is ten
   }
}
Offline Mr_Light

Senior Member




shiny.


« Reply #1 - Posted 2009-02-02 09:21:36 »

  • What is the question(if any)
  • What your describing is a class variable, java doesn't have  global' variables in the 'traditional' sense.

It's harder to read code than to write it. - it's even harder to write readable code.

The gospel of brother Riven: "The guarantee that all bugs are in *your* code is worth gold." Amen brother a-m-e-n.
Offline h3ckboy

JGO Coder


Medals: 5



« Reply #2 - Posted 2009-02-02 13:15:42 »

oh i am sorry I forgot to ask  Undecided.
Quote
health = enemyInfo[0];//over here it is ten
Quote
public void subHealth(int i){System.out.println(enemyInfo[0]);health = health - i;System.out.println(health);}//and then over here is 0



in one place it is ten and in another it is 0.


Games published by our own members! Check 'em out!
Legends of Yore - The Casual Retro Roguelike
Offline Mr_Light

Senior Member




shiny.


« Reply #3 - Posted 2009-02-02 13:42:02 »

Heh hence they are called variables.  Wink

Depending on how your code gets called this makes sense.

So if subHealth(10); would get called some where or subHealth(5); subHealth(5); etc.

It's harder to read code than to write it. - it's even harder to write readable code.

The gospel of brother Riven: "The guarantee that all bugs are in *your* code is worth gold." Amen brother a-m-e-n.
Offline h3ckboy

JGO Coder


Medals: 5



« Reply #4 - Posted 2009-02-02 13:43:18 »

so are they in defferent instances of the class

here is where it is called from

1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
32  
33  
34  
35  
36  
37  
38  
39  
40  
41  
42  
43  
44  
45  
46  
47  
48  
49  
50  
51  
52  
53  
54  
55  
56  
57  
58  
59  
60  
61  
62  
63  
64  
65  
66  
67  
68  
69  
70  
71  
72  
73  
74  
75  
76  
77  
78  
79  
80  
81  
82  
83  
84  
85  
86  
87  
88  
89  
90  
91  
92  
93  
94  
95  
96  
97  
98  
99  
100  
101  
102  
103  
104  
105  
106  
107  
108  
109  
110  
111  
112  
113  
114  
115  
116  
117  
118  
119  
120  
121  
122  
123  
124  
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;
import java.net.URL;
import javax.swing.AbstractButton;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import java.awt.Dimension;
import javax.swing.JLabel;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Container;
import java.awt.FlowLayout;
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.text.DateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.Locale;
import javax.swing.DefaultListModel;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JList;
import javax.swing.JPanel;
import java.awt.GridLayout;
import java.awt.Window;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import javax.swing.JButton;
import javax.swing.JDialog;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JPanel;
import javax.swing.JTextArea;
import javax.swing.KeyStroke;
public class battle extends JPanel implements ActionListener {
    int time = 1;
    Enemy enemy = new Enemy();
    String created;
    JFrame frame;
    String enemyType;
    boolean survive;
    protected static JButton attack, jbnMiddle, jbnRight;
    public battle() {
        attack = new JButton("attack");
        attack.setMnemonic(KeyEvent.VK_A);
        attack.setActionCommand("attack");
        jbnMiddle = new JButton("Centre button");
        jbnMiddle.setVerticalTextPosition(AbstractButton.BOTTOM);
        jbnMiddle.setHorizontalTextPosition(AbstractButton.CENTER);
        jbnMiddle.setMnemonic(KeyEvent.VK_M);
        jbnMiddle.setActionCommand("center");
        jbnMiddle.setLayout(new GridLayout(1,2,2,2));
        jbnMiddle.setToolTipText("Centre button");
        jbnRight = new JButton("Enable centre button");
        jbnRight.setMnemonic(KeyEvent.VK_E);
        jbnRight.setActionCommand("enable");
        jbnRight.setEnabled(false);
        attack.addActionListener(this);
        jbnMiddle.addActionListener(this);
        jbnRight.addActionListener(this);
        jbnRight.setToolTipText("Enable the Centre button.");
        add(attack);
        //add(jbnMiddle);
       //add(jbnRight);
   }
    public void actionPerformed(ActionEvent e) {
        if ("attack".equals(e.getActionCommand())) {
            //damage = enemy.getDmg(15);
           enemy.subHealth(10);//damage);
           survive = enemy.checkAlive();
            if(survive == false)
            {
                System.out.println("dead");
                frame.setVisible(false);
            }
        }
        if ("enable".equals(e.getActionCommand())){
        }
        if ("center".equals(e.getActionCommand())){
        }
    }
    public void setEnemy(String i){
        enemyType = i;
        enemy.setEnemy(enemyType);
    }
    public void createGUI()
    {
                JFrame.setDefaultLookAndFeelDecorated(true);
        JFrame frame = new JFrame("combat");
        frame.setPreferredSize(new Dimension(200,75));
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        battle buttonContentPane = new battle();
        buttonContentPane.setOpaque(true);
        frame.getRootPane().setDefaultButton(attack);
        frame.setContentPane(buttonContentPane);
        frame.pack();
        frame.setVisible(true);
    }
    protected static ImageIcon createImageIcon(String path) {
        URL imgURL = battle.class.getResource(path);
        if (imgURL != null) {
            return new ImageIcon(imgURL);
        } else {
            System.err.println("Couldn't find image in system: " + path);
            return null;
        }
    }
    public static void main(String[] args)
    {
        battle bat = new battle();
        bat.createGUI();
        bat.setEnemy("imp");
    }
}
Offline Mr_Light

Senior Member




shiny.


« Reply #5 - Posted 2009-02-02 13:48:05 »

is it 0 after pressing the buttom?

Quote
1  
enemy.subHealth(10);

It's harder to read code than to write it. - it's even harder to write readable code.

The gospel of brother Riven: "The guarantee that all bugs are in *your* code is worth gold." Amen brother a-m-e-n.
Offline h3ckboy

JGO Coder


Medals: 5



« Reply #6 - Posted 2009-02-02 13:52:57 »

the subhealth works fine. it is in the enemy class. the getEnemyInfo method goes into a text file to get the info for that enemy. int he metho where it gets it, health = 10. but in the suhealth method health = 0. do you understand?
Offline Mr_Light

Senior Member




shiny.


« Reply #7 - Posted 2009-02-02 15:10:18 »

you make an instance of the enemy class.
you load the settings from the textfile
health=10

then subHealth(10); gets called:

1  
2  
3  
4  
5  
public void subHealth(int i){
  System.out.println(enemyInfo[0]);
  health = health - i;
  System.out.println(health);//and then over here is 0
}

System.out.println(enemyInfo[0]); should print 10.
health = health - i; -> health = 10 - 10 -> health = 0;
System.out.println(health); -> prints 0.

Sounds like everything is happening as specified.

It's harder to read code than to write it. - it's even harder to write readable code.

The gospel of brother Riven: "The guarantee that all bugs are in *your* code is worth gold." Amen brother a-m-e-n.
Offline h3ckboy

JGO Coder


Medals: 5



« Reply #8 - Posted 2009-02-02 15:25:35 »

here is what appears in the console:

0
-10
dead

it does not go as it should.
Offline Orangy Tang

JGO Kernel


Medals: 56
Projects: 11


Monkey for a head


« Reply #9 - Posted 2009-02-02 15:30:38 »

Read here.

[ TriangularPixels.com - Play Growth Spurt, Rescue Squad and Snowman Village ] [ Rebirth - game resource library ]
Games published by our own members! Check 'em out!
Legends of Yore - The Casual Retro Roguelike
Offline Mr_Light

Senior Member




shiny.


« Reply #10 - Posted 2009-02-02 16:09:05 »

you make an instance of the enemy class.
you load the settings from the textfile <- getEnemyInfo isn't being called
health=10 0

then subHealth(10); gets called:

1  
2  
3  
4  
5  
public void subHealth(int i){
  System.out.println(enemyInfo[0]);
  health = health - i;
  System.out.println(health);//and then over here is 0
}

System.out.println(enemyInfo[0]); should print 10. 0
health = health - i; -> health = 100 - 10 -> health = 0 -10;
System.out.println(health); -> prints 0. -10

Sounds like everything is happening as specified.

It's harder to read code than to write it. - it's even harder to write readable code.

The gospel of brother Riven: "The guarantee that all bugs are in *your* code is worth gold." Amen brother a-m-e-n.
Offline h3ckboy

JGO Coder


Medals: 5



« Reply #11 - Posted 2009-02-02 16:19:35 »

I changed it to
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
32  
33  
34  
35  
36  
import java.io.*;
public class Enemy
{
    boolean survive = true;
    String enemy;
    int[] enemyInfo = new int[5];
    String line;
    int x;
    int health;
    public void subHealth(int i){System.out.println(enemyInfo[0]);health = health - i;System.out.println(health);}//and then over here is 0
   public void setEnemy(String i){
        enemy = i;
        [u][b]getEnemyInfo();[/b][/u]
    }
    public boolean checkAlive()
    {
        if(health<1){survive = false;}
        return survive;
    }
    public void getEnemyInfo()
    {
        try{
            File inFile = new File("resources/enemies/"+enemy+".txt");
            BufferedReader reader = new BufferedReader(new FileReader("resources/enemies/"+enemy+".txt"));
            line = null;
            while ((line=reader.readLine()) != null)
            {
                enemyInfo[x] = Integer.parseInt(line);
                x++;
            }
        }catch(FileNotFoundException e){System.err.println("Library not complete");}
        catch(IOException e){}
        catch(NumberFormatException e){}
        health = enemyInfo[0];//over here it is ten
   }
}

end I still get the same in the console.
Offline cylab

JGO Ninja


Medals: 38



« Reply #12 - Posted 2009-02-02 21:07:38 »

I don't know, if you reuse your Enemy instance on purpose, but I think you have problems to grasp the concepts of classes and instances. Take a look at http://java.sun.com/docs/books/tutorial/java/javaOO/classvars.html.

I think you want something like this:

1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
32  
33  
34  
35  
36  
37  
38  
39  
40  
41  
42  
43  
44  
45  
46  
47  
48  
49  
50  
51  
52  
53  
54  
55  
56  
57  
58  
59  
60  
61  
62  
63  
64  
65  
66  
67  
68  
69  
70  
71  
72  
73  
74  
75  
76  
77  
78  
79  
80  
81  
82  
83  
84  
85  
86  
public class Enemy
{
    private boolean survive = true;
    private String name;
    private int health;

    /**
     * This constructs an Enemy with a name and loads the initial data from it's info file
     */

    public Enemy(String name)
    {
        this.name = name;
        loadEnemyInfo(name);
    }

    /**
     * Gets the name of this Enemy instance
     */

    public int getName()
    {
        return name;
    }

    /**
     * Gets the current health of this Enemy instance
     */

    public int getHealth()
    {
        return health;
    }

    /**
     * Hits the Enemy instance and does a certain damage
     */

    public void hit(int damage)
    {
        health = health - damage;
    }

    /**
     * Returns, if this Enemy instance is still alive
     */

    public boolean isAlive()
    {
        if(health<1){survive = false;}
        return survive;
    }

    /**
     * Loads this Enemy instances inital values from an info file
     * This is protected to be callable from this or derived classes, but not from the outside.
     */

    protected void loadEnemyInfo()
    {
        int[] enemyInfo = new int[5];
        String line;
        BufferedReader reader = null;
        try
        {
            File inFile = new File("resources/enemies/"+enemy+".txt");
            reader = new BufferedReader(new FileReader("resources/enemies/"+enemy+".txt"));
            line = null;
            int x = 0;
            while ((line=reader.readLine()) != null)
            {
              enemyInfo[x] = Integer.parseInt(line);
              x++;
            }
        }
        catch(FileNotFoundException e)
        {
            System.err.println("Library not complete");
        }
        finally // always close streams in a finally block!!!
       {
            if(reader!=null)
            {
                try { reader.close() }
                catch(IOException ignore){}
            }
        }
        catch(IOException e){}
        catch(NumberFormatException e){}
        health = enemyInfo[0];//over here it is ten
   }
}


So you can use it like

1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
public class Battle extends JPanel implements ActionListener {
    // (...)
   private Enemy[] enemies = null;
    // (...)
   public Battle() {
        // (...)
       enemies = new Enemy[]{
             new Enemy("Ogre"),
             new Enemy("Ogre"),
             new Enemy("Ogre"),
             new Enemy("Ogre"),
             new Enemy("Gimp"),
             new Enemy("Gimp"),
             new Enemy("Rat"),
             new Enemy("Rat"),
             new Enemy("Rat"),
             new Enemy("Rat"),
             new Enemy("Rat"),
             new Enemy("Overlord")
        };
        // (...)
   }
     // (...)
}


This way you create an array of enemies that consists of 4 instance with initial values loaded from the "Orge.txt" file, 2 instances from the "Gimp.txt" file, 5 instance loaded from the "Rat.txt" file and one from the "Overlord.txt".

Some additional notes on common java code style:
- Use uppercase classes (Battle instead of battle) - lowercase names are usually used as variable names
- Use loadEnemyInfo is better than getEnemyInfo, because getXXX usually describes the accessor of a "Property"
- Make every member variable of a class private and provide get/is/set Methods to expose them to the outside only if desired
- I changes checkAlive to isAlive, since the status to be alive is a "Property" of the Enemy. (isXXX describes the accessor of a boolean "Property"

Edit: missed the "String" type for the "name" variable and the "enemy[]" declaration was not correct.

Mathias - I Know What [you] Did Last Summer!
Offline h3ckboy

JGO Coder


Medals: 5



« Reply #13 - Posted 2009-02-02 21:27:49 »

thank you for enlightening me. I will try and change my code to this way. If I have troubles I will post.
Offline h3ckboy

JGO Coder


Medals: 5



« Reply #14 - Posted 2009-02-03 10:21:24 »

why did you make it an array? there is only one enemy at a time so far.
Offline cylab

JGO Ninja


Medals: 38



« Reply #15 - Posted 2009-02-03 13:19:41 »

I didn't know that. It was an example of how to use the Enemy class to create multiple Enemy instances based on different data files. If you want to create a Battle screen with a single enemy, you can just hand in the current Enemy instance:

1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
public class Battle extends JPanel implements ActionListener {
    // (...)
   private Enemy currentEnemy = null;
    // (...)
   public Battle(Enemy enemy) {
        // (...)
       this.currentEnemy = enemy;
        // (...)
   }
     // (...)
}


So you can call the Battle window from you main game window like this:

1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
public class GameWindow extends JFrame implements ActionListener {
    // (...)
   private Enemy[] enemies = null;
    // (...)
   public GameWindow() {
        // (...)
       enemies = new Enemy[]{
             new Enemy("Ogre"),
             new Enemy("Ogre"),
             new Enemy("Ogre"),
             new Enemy("Ogre"),
             new Enemy("Gimp"),
             new Enemy("Gimp"),
             new Enemy("Rat"),
             new Enemy("Rat"),
             new Enemy("Rat"),
             new Enemy("Rat"),
             new Enemy("Rat"),
             new Enemy("Overlord")
        };
        // (...)
   }
     // (...)
    public void battleEnemy(int enemyIndex)
     {
           JFrame battleWindow = new JFrame();
           Battle battle = new Battle(enemies[enemyIndex]);
           battleWindow.setContentPane(battle);
           battleWindow.setVisible(true);
     }
}


That's just a quick example. How exactly you code this depends on what you want to achieve...

If you need assistance in windowing, take a look at the swing tutorials over at sun: http://java.sun.com/docs/books/tutorial/uiswing/

Mathias - I Know What [you] Did Last Summer!
Offline Renoria

Junior Member




...


« Reply #16 - Posted 2009-02-03 13:33:24 »

umm

1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
        enemies = new Enemy[]{
             new Enemy("Ogre"),
             new Enemy("Ogre"),
             new Enemy("Ogre"),
             new Enemy("Ogre"),
             new Enemy("Gimp"),
             new Enemy("Gimp"),
             new Enemy("Rat"),
             new Enemy("Rat"),
             new Enemy("Rat"),
             new Enemy("Rat"),
             new Enemy("Rat"),
             new Enemy("Overlord")
        };


should be

1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
        Enemy[] enemies = {
             new Enemy("Ogre"),
             new Enemy("Ogre"),
             new Enemy("Ogre"),
             new Enemy("Ogre"),
             new Enemy("Gimp"),
             new Enemy("Gimp"),
             new Enemy("Rat"),
             new Enemy("Rat"),
             new Enemy("Rat"),
             new Enemy("Rat"),
             new Enemy("Rat"),
             new Enemy("Overlord")
        };
Offline cylab

JGO Ninja


Medals: 38



« Reply #17 - Posted 2009-02-03 13:56:41 »

Nope. Wink The enemies Array is already defined as a member variable to make it available to other methods of the same class. If you redeclare it locally, the class member called enemies would remain unset. Also in java you can't use a short form for array initialization, it has to be <variable> = new <Type>[]{ new <Type>(), new <Type>(), ...}

Mathias - I Know What [you] Did Last Summer!
Offline Del-ONE

Senior Newbie





« Reply #18 - Posted 2009-02-03 14:15:28 »

Nope. Wink The enemies Array is already defined as a member variable to make it available to other methods of the same class. If you redeclare it locally, the class member called enemies would remain unset. Also in java you can't use a short form for array initialization, it has to be <variable> = new <Type>[]{ new <Type>(), new <Type>(), ...}

err...int[] arr = new int[5] is shorter, unless your talking about a short-form to give the array locations starting values.

On a side note I may just seen the way to pass an array that is created in the method call.  I always had a syntax problem.
Offline cylab

JGO Ninja


Medals: 38



« Reply #19 - Posted 2009-02-03 14:21:00 »

It's about array initialization, not declaration.

Mathias - I Know What [you] Did Last Summer!
Offline Del-ONE

Senior Newbie





« Reply #20 - Posted 2009-02-03 14:24:47 »

That is initializing the array

int[] arr;

is declaring it.

Also, this works

Object[] arr = {new String("HI"),new Integer("HI")};

Renoria was at least right on that part (though he did declare a new array)

Edit: I take that second part back, I forgot about that annoying caveat that you can only do that when declaring and initializing on the same line.
Offline h3ckboy

JGO Coder


Medals: 5



« Reply #21 - Posted 2009-02-03 15:52:50 »

OH well. but why is it an array??
Offline cylab

JGO Ninja


Medals: 38



« Reply #22 - Posted 2009-02-03 16:17:52 »

That is initializing the array

Ok, you are right. I just meant providing inital values.

Object[] arr = {new String("HI"),new Integer("HI")};

Actually I really didn't know that this could work in any circumstance. You live, you learn Wink

Mathias - I Know What [you] Did Last Summer!
Offline cylab

JGO Ninja


Medals: 38



« Reply #23 - Posted 2009-02-03 16:18:59 »

OH well. but why is it an array??

Have you read my post? It was an example for having more than one enemy in your game.

Mathias - I Know What [you] Did Last Summer!
Offline h3ckboy

JGO Coder


Medals: 5



« Reply #24 - Posted 2009-02-03 16:57:13 »

OH ok so it owuld work fine wiht jsut one String going through?
Offline cylab

JGO Ninja


Medals: 38



« Reply #25 - Posted 2009-02-03 17:41:40 »

Sure. Just create one Enemy with new Enemy("Name"). The only thing you have to understand is, that member variables of a class keep their value for the specific instance you create with new and if you change the value of a member variable, it is changed in scope of that instance. That is the difference to a global variable, which would change for the whole program.

For more information, see http://java.sun.com/docs/books/tutorial/java/concepts/index.html

Mathias - I Know What [you] Did Last Summer!
Pages: [1]
  ignore  |  Print  
 
 
You cannot reply to this message, because it is very, very old.

 

Add your game by posting it in the WIP section,
or publish it in Showcase.

The first screenshot will be displayed as a thumbnail.

pw (22 views)
2014-07-24 01:59:36

Riven (21 views)
2014-07-23 21:16:32

Riven (17 views)
2014-07-23 21:07:15

Riven (20 views)
2014-07-23 20:56:16

ctomni231 (48 views)
2014-07-18 06:55:21

Zero Volt (44 views)
2014-07-17 23:47:54

danieldean (35 views)
2014-07-17 23:41:23

MustardPeter (38 views)
2014-07-16 23:30:00

Cero (53 views)
2014-07-16 00:42:17

Riven (53 views)
2014-07-14 18:02:53
HotSpot Options
by dleskov
2014-07-08 03:59:08

Java and Game Development Tutorials
by SwordsMiner
2014-06-14 00:58:24

Java and Game Development Tutorials
by SwordsMiner
2014-06-14 00:47:22

How do I start Java Game Development?
by ra4king
2014-05-17 11:13:37

HotSpot Options
by Roquen
2014-05-15 09:59:54

HotSpot Options
by Roquen
2014-05-06 15:03:10

Escape Analysis
by Roquen
2014-04-29 22:16:43

Experimental Toys
by Roquen
2014-04-28 13:24:22
java-gaming.org is not responsible for the content posted by its members, including references to external websites, and other references that may or may not have a relation with our primarily gaming and game production oriented community. inquiries and complaints can be sent via email to the info‑account of the company managing the website of java‑gaming.org
Powered by MySQL Powered by PHP Powered by SMF 1.1.18 | SMF © 2013, Simple Machines | Managed by Enhanced Four Valid XHTML 1.0! Valid CSS!