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  
  Hunters game  (Read 1093 times)
0 Members and 1 Guest are viewing this topic.
Offline Arom

Junior Newbie





« Posted 2011-11-17 21:57:18 »

Hi

I am to design a hunters game in java which is going to be run from cmd(strictly no GUI) I have created a 12x12 array which is my board, I need to move my character using keys, and make a Hunter(NPC) move towards
  • from [12][12]. How do I store each players and hunters coordinates (To check for collisions etc)?
Java Code:

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  
public class Hunters {
     
        String [][] a2;
        private static int score;
       private static String player = "P";
       private static String move;
       
 
  public static void main(String[] args){
       
       Scanner in = new Scanner(System.in);
String [][]a2 = new String [12][12];
String emptyfield = "X";
score = 5;
 
for (int r = 0 ; r < a2.length; r++){
    for (int c= 0; c <a2[r].length; c++){
        a2 [r][c] = emptyfield;
        a2[0][0] = player;
        System.out.print(" "+a2[r][c]);
    }
  System.out.println("");
 
}
System.out.println("Input your move");
move = in.nextLine();
if (move.equalsIgnoreCase("w")){
 //move up
   //repaint
   //check for collision
   //check for health
}else if(move.equalsIgnoreCase("s")){
    //move down
   //repaint
     //check for collision
   //check for health
}else if(move.equalsIgnoreCase("d")){
    //move right
   //repaint
     //check for collision
   //check for health
}else if(move.equalsIgnoreCase("a")){
    //move left
   //repaint
     //check for collision
   //check for health
}  
}
}

Thanks!
Offline ra4king

JGO Kernel


Medals: 336
Projects: 2
Exp: 5 years


I'm the King!


« Reply #1 - Posted 2011-11-18 04:39:04 »

Can't you set if a location is blocked or not in the array and then check if the new position is open?

Offline loom_weaver

JGO Coder


Medals: 17



« Reply #2 - Posted 2011-11-18 05:32:18 »

I would add another class:
1  
2  
3  
4  
5  
6  
7  
8  
9  
class Position {
    public int x;
    public int y;

    public Position(int x, int y) {
        this.x = x;
        this.y = y;
    }
}


Then for your players and hunters just instantiate an instance of Position e.g.:
1  
2  
3  
4  
private Position player = new Position(6,6);

// to move up
player.y -= 1;


and finally use ra4king's suggestion and use the 2D array to store terrain information about the actual tile e.g. if it is blocked or not etc...
Games published by our own members! Check 'em out!
Legends of Yore - The Casual Retro Roguelike
Offline ReBirth
« Reply #3 - Posted 2011-11-18 16:23:07 »

If you're lazy to create that Position class, can use Point Smiley

Offline Arom

Junior Newbie





« Reply #4 - Posted 2011-11-20 17:22:15 »

Thanks for your suggestions, I will experiment a bit and get back to you Smiley!
Offline Arom

Junior Newbie





« Reply #5 - Posted 2011-11-21 13:18:15 »

Hi,

I have created a separate 'Position' class.

I have a String called player which defines what it actually looks like(in the Main) ;

1  
String player = "P";

And placing it at the beginning of the game at 0,0, so ;
1  
 board[0][0] = player;


In my IF statement, for 'w'(move up) putting your Position code, I get a
Quote
player is already defined....
.
How do I tell java how do my player looks like so the "P" is actually moving through the array using WSAD?

Sorry for basic questions, its my first real project Smiley

Thanks
Offline ReBirth
« Reply #6 - Posted 2011-11-22 14:05:15 »

"is already defined" usually refers to duplicate variable's name. commonly occur when you forget already mentioned it on global.

Offline Arom

Junior Newbie





« Reply #7 - Posted 2011-11-22 17:35:47 »

Hi,

Sorry, I've made too much mess in this thread. I've decided to take this project into smaller parts(At last, eh?).

I have to make the game playable in the cmd window, not a GUI.

Using VB i was able to pretty much replicate the idea using the Point method. So far, I want to create a 12x12 square which will be used a board, and be able to spawn a player (string "P") at 0,0 and move him using keys.
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 (24 views)
2014-07-24 01:59:36

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

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

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

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

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

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

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

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

Riven (55 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!