Greetings,

Hmm, Im not sure Is this the right place to ask this question, Well If im wrong please correct me.

Im working in a company as Java programmer that also provide professional training for Java and two of my trainees have created "Stick Snake" and "Snake and ladders" game in java (these 2 games for now, Many more to come).

And, I want to share that code with newbies so they can read and understand the code and build up their logic tech. I found Daniweb the best place for it.

So what i want to know is, How can i share those codes ? You cant say those codes are fully optimized or best codes as codes are written by trainees and even i haven't checked them, I have just seen games in working condition.

So please let know, Should i post them in "Code Snippets" area or just provide links of files here ?

Regards

Recommended Answers

All 8 Replies

it's better to provide links than publishing in code sniplets,but it's an IT discussion community may everyone have the knowledge of these games can't you provide much higher

yep, i'd say the code snippets would be the place to put them. It's probably a good idea to give some a good description too. If you are feeling particularly motivated you could make it into a tutorial. I see the Java Tutorial section is currently empty.

Hello again,

Sorry for late reply, I was out of town.

Ok, I will be posting 3 programs in few time.
1 - Snake
2 - Snake and ladders
3 - Web browser


Also, I have another question to ask.

I have just released my first open source project. Its an Object Relational Mapping Framework for java application.

I just made a start of it. I have future plans for it but before proceeding i want to make sure, im on the right way or not. Also, Im new to sourceforge.net too, So i need little help on it.

It would be the best if anyone can try my framework and check it.

Waiting for your suggestions.

Regards,

Hello.. I am Mariz=)

i had read your posts .. and i'm interested with your code..

here is my email SNIP

hope we can talk about it.. i just need a simple java game for my defence if you don't mind...

i am a 2ndyr college from Phil.

Thanks in advance...=)

commented: Useless send me the code via email sponger -7

I am also interested in the code =).

Please do share it =)!

Thank you in advance.

import javax.swing.JFrame;

	public class snake extends JFrame {

	public snake() {

	add(new Board());

	setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
	setSize(320, 340);
	setLocationRelativeTo(null);
	setTitle("Snake");

	setResizable(false);
	setVisible(true);
	}

	public static void main(String[] args) {
	new Snake();
	}
	}
	This is Board.java file:

	import java.awt.Color;
	import java.awt.Font;
	import java.awt.FontMetrics;
	import java.awt.Graphics;
	import java.awt.Image;
	import java.awt.Toolkit;
	import java.awt.event.ActionEvent;
	import java.awt.event.ActionListener;
	import java.awt.event.KeyAdapter;
	import java.awt.event.KeyEvent;

	import javax.swing.ImageIcon;
	import javax.swing.JPanel;
	import javax.swing.Timer;


	public class Board extends JPanel implements ActionListener {

	private final int WIDTH = 300;
	private final int HEIGHT = 300;
	private final int DOT_SIZE = 10;
	private final int ALL_DOTS = 900;
	private final int RAND_POS = 29;
	private final int DELAY = 140;

	private int x[] = new int[ALL_DOTS];
	private int y[] = new int[ALL_DOTS];

	private int dots;
	private int apple_x;
	private int apple_y;

	private boolean left = false;
	private boolean right = true;
	private boolean up = false;
	private boolean down = false;
	private boolean inGame = true;

	private Timer timer;
	private Image ball;
	private Image apple;
	private Image head;


	public Board() {
	addKeyListener(new TAdapter());

	setBackground(Color.black);

	ImageIcon iid = new ImageIcon(this.getClass().getResource("dot.png"));
	ball = iid.getImage();

	ImageIcon iia = new ImageIcon(this.getClass().getResource("apple.png"));
	apple = iia.getImage();

	ImageIcon iih = new ImageIcon(this.getClass().getResource("head.png"));
	head = iih.getImage();

	setFocusable(true);
	initGame();
	}


	public void initGame() {

	dots = 3;

	for (int z = 0; z < dots; z++) {
	x[z] = 50 - z*10;
	y[z] = 50;
	}

	locateApple();

	timer = new Timer(DELAY, this);
	timer.start();
	}


	public void paint(Graphics g) {
	super.paint(g);

	if (inGame) {

	g.drawImage(apple, apple_x, apple_y, this);

	for (int z = 0; z < dots; z++) {
	if (z == 0)
	g.drawImage(head, x[z], y[z], this);
	else g.drawImage(ball, x[z], y[z], this);
	}

	Toolkit.getDefaultToolkit().sync();
	g.dispose();

	} else {
	gameOver(g);
	}
	}


	public void gameOver(Graphics g) {
	String msg = "Game Over";
	Font small = new Font("Helvetica", Font.BOLD, 14);
	FontMetrics metr = this.getFontMetrics(small);

	g.setColor(Color.white);
	g.setFont(small);
	g.drawString(msg, (WIDTH - metr.stringWidth(msg)) / 2,
	HEIGHT / 2);
	}
	public void checkApple() {

	if ((x[0] == apple_x) && (y[0] == apple_y)) {
	dots++;
	locateApple();
	}
	}


	public void move() {

	for (int z = dots; z > 0; z--) {
	x[z] = x[(z - 1)];
	y[z] = y[(z - 1)];
	}

	if (left) {
	x[0] -= DOT_SIZE;
	}

	if (right) {
	x[0] += DOT_SIZE;
	}

	if (up) {
	y[0] -= DOT_SIZE;
	}

	if (down) {
	y[0] += DOT_SIZE;
	}
	}


	public void checkCollision() {

	for (int z = dots; z > 0; z--) {

	if ((z > 4) && (x[0] == x[z]) && (y[0] == y[z])) {
	inGame = false;
	}
	}

	if (y[0] > HEIGHT) {
	inGame = false;
	}

	if (y[0] < 0) {
	inGame = false;
	}

	if (x[0] > WIDTH) {
	inGame = false;
	}

	if (x[0] < 0) {
	inGame = false;
	}
	}

	public void locateApple() {
	int r = (int) (Math.random() * RAND_POS);
	apple_x = ((r * DOT_SIZE));
	r = (int) (Math.random() * RAND_POS);
	apple_y = ((r * DOT_SIZE));
	}

	public void actionPerformed(ActionEvent e) {

	if (inGame) {
	checkApple();
	checkCollision();
	move();
	}

	repaint();
	}


	private class TAdapter extends KeyAdapter {

	public void keyPressed(KeyEvent e) {

	int key = e.getKeyCode();

	if ((key == KeyEvent.VK_LEFT) && (!right)) {
	left = true;
	up = false;
	down = false;
	}

	if ((key == KeyEvent.VK_RIGHT) && (!left)) {
	right = true;
	up = false;
	down = false;
	}

	if ((key == KeyEvent.VK_UP) && (!down)) {
	up = true;
	right = false;
	left = false;
	}

	if ((key == KeyEvent.VK_DOWN) && (!up)) {
	down = true;
	right = false;
	left = false;
	}
	}
	}
	}

}

that is pretty small code for a Java game, but it is simple :) . You might want to include the images, because it is completely useless unless people have the images, unless someone can make it themselves :). Either ways, I am not here to use the code, but I am making a custom gaming engine (2d turn based) in Java and I was interested in your game, just out of curiosity :)> Good luck on your next project ! Oh, btw if you need any help on Java game programming, just add me on MSN at :

[email removed] :)

Can you please forward the code for snake and ladder to me. However, is it playable by two players? and does it allow network gaming using TCP Socket.

Just send it to me please. THE SNAKE AND LADDER

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.