Salut à tous ,

Je viens vers vous aujourd'hui car je dois réaliser une plateforme de jeu de rôle avec le langage JAVA . Je vous poste le sujet ci-dessous avec que vous compreniez bien

Il s’agit d’un mini jeu de plateau tour après tour. Le plateau est un rectangle de NxM case. Le héro se déplace de manière différente sur les cases (droite/gauche, haut/bas, et diagonale case par case). Il se déplace de manière aléatoire sur l'ensemble de la carte. Les monstres restent tel qu'ils sont lors de l’initialisation ( il ne bougent pas). Un nombre aléatoire de monstre “apparaît” aléatoirement sur une case non occupé à chaque tour et y reste. Un monstre reste sur une case N tours (15 par exemple) et décède.
Si le héro touche un des monstres présent sur la grille, il perd la partie. Le but du héro est d’aller secourir la princesse qui est sur la carte. Si le héro arrive jusqu’à la
princesse, la partie est gagné.

Lors de initialisation de la partie
La princesse est toujours tout en bas à droite de la carte et Le héro commence la partie tout en haut à gauche de la carte (coordonnée 0,0)
Il existe dès le début de partie un nombre aléatoirement de monstre sur la carte qui représente environ 30 % des carte total
En fin de partie : il faudra afficher si le héro à lost ou win et le nb de tour affiché.
Petite aide: Un plateau est un ensemble de cellule. Une cellule contient un Personnage.


Après plusieurs semaines se travaille , voici mon résultat , mais bien entendu je n'arrive pas à relier toutes mes classes dans le main , il y a pas mal de messages d'erreurs ...

Plateau.java
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
	public class plateau {
		public void map {
			System.out.println("A B C D E F G H I J");
		    for(int i=0; i<10; i++){ 
		        System.out.print((char)('A'+i)+" ");
		        for(int j=0; j<10; j++){
		            System.out.print("- ");
		    }
}
Hero.java
Code : Sélectionner tout - Visualiser dans une fenêtre à 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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
import java.util.*;
 
public class Hero1 {
 
 private int hitPoints;      // life meter
 private Random rand;
 
 // creates a default hero who starts at 100 hit points
 public Hero1() {
     hitPoints = 100;
     rand = new Random();
 }
 
 // returns the amount of damage an attack should inflict
 // on an enemy
 public int getAttack() {
     return 10;
 }
 
 // retourne vrai si le héro est vivant
 public boolean isAlive() {
     return hitPoints > 0;
 }
 
 // returns a String representation of the object in form of the
 // hit points left
 public String toString() {
     return "HP: " + hitPoints;
 }
 
 public int getHitPoints() {
     return hitPoints;
 }
 
 // private method that can only be used within the Hero class
 private void takeDamage() {
     hitPoints -= 10;
 }
 
 // duel against a different hero
 // with 50% probability, I will damage the other person
 // with 50% probability, the other person damages me
 // returns true if I attacked, false otherwise
 public boolean duel(Hero1 other) {
     int turn = rand.nextInt(2);
 
     if (turn == 0) {    // the other person takes damage
         other.takeDamage();
         return true;
     } else { // I take damage
         this.takeDamage();
         // could also just say:
         // takeDamage();
         return false;
     }
 }
 
}
MAIN.java
Code : Sélectionner tout - Visualiser dans une fenêtre à 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
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
import java.io.BufferedReader;
	import java.io.IOException;
	import java.io.InputStreamReader;
 
public class main {
 
	    public static void solution(String[] args) throws IOException
	    {
	        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
	        int m = Integer.parseInt(br.readLine());
 
	        char grid[][] = new char[m][m];
	        for(int i = 0; i < m; i++)
	        {
	            String line = br.readLine();
	            grid[i] = (line.trim()).toCharArray();
	        }
 
	        displayPathtoPrincess(m, grid);
	    }
 
	    static void displayPathtoPrincess(int m, char[][] grid)
	    {
	        int botRow = 0, botCol = 0, princessRow = 0, princessCol = 0;
 
	        // Get bot and princess coordinates
	        for (int r = 0; r < m; r++)
	        {
	            for (int c = 0; c < grid.length; c++)
	            {
	                if (grid[r][c] == 'm' || grid[r][c] == 'M')
	                {
	                    botRow = r;
	                    botCol = c;
	                }
	                else if (grid[r][c] == 'p' || grid[r][c] == 'P')
	                {
	                    princessRow = r;
	                    princessCol = c;
	                }
	            }
	        }
 
	        // Move the bot up or down till bot reaches same row
	        if( princessRow < botRow )
	        {
	            while(botRow != princessRow)
	            {
	                botRow--;
	                System.out.println("UP");
	            }
	        }
	        else if( princessRow > botRow )
	        {
	            while(botRow != princessRow)
	            {
	                botRow++;
	                System.out.println("DOWN");
	            }
	        }
 
	        // Move the bot left or right till bot reaches same column
	        if( princessCol < botCol )
	        {
	            while(botCol != princessCol)
	            {
	                botCol--;
	                System.out.println("LEFT");
	            }
	        }
	        else if( princessCol > botCol )
	        {
	            while(botCol != princessCol)
	            {
	                botCol++;
	                System.out.println("RIGHT");
	            }
	        }
 
	    }
	}
Monstre.JAVA
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
 
public class monstre {
	    private int health;
	    public monstre(int health) {
	        this.health = health;
	    }
 
	    public void hit(int damage) {
	        health -= damage;
	    }
 
	    public int getHealth() {
	        return health;
	    }
	}
Pour la princesse je n'ai pas trouvé


Merci beaucoup à tous