mirror of
https://github.com/Cpt-Adok/SNAKE.git
synced 2026-01-25 15:34:07 +00:00
Add files via upload
This commit is contained in:
26
src/Fruits.java
Normal file
26
src/Fruits.java
Normal file
@@ -0,0 +1,26 @@
|
|||||||
|
package Environnements;
|
||||||
|
|
||||||
|
import Item.Effects;
|
||||||
|
import Item.Items;
|
||||||
|
import java.util.Random;
|
||||||
|
|
||||||
|
public class Fruits{
|
||||||
|
String typeFruit;
|
||||||
|
Effects bonus;
|
||||||
|
|
||||||
|
public Fruits(){
|
||||||
|
Random r=new Random();
|
||||||
|
Items [] fruits=new Items[] {Items.BANANE,Items.FRAISE,Items.ORANGE};
|
||||||
|
int q=r.nextInt(3);
|
||||||
|
this.typeFruit=fruits[q].getName();
|
||||||
|
this.bonus=fruits[q].getEffects();
|
||||||
|
}
|
||||||
|
|
||||||
|
public void getFruit(){
|
||||||
|
System.out.println(this.typeFruit);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void getBonus(){
|
||||||
|
System.out.println(this.bonus);
|
||||||
|
}
|
||||||
|
}
|
||||||
69
src/Map.java
Normal file
69
src/Map.java
Normal file
@@ -0,0 +1,69 @@
|
|||||||
|
package Environnements;
|
||||||
|
|
||||||
|
import java.util.Random;
|
||||||
|
|
||||||
|
public class Map{
|
||||||
|
int longueur;
|
||||||
|
int largeur;
|
||||||
|
int nbMurs;
|
||||||
|
int frequencesFruits;
|
||||||
|
Object [][] grille;
|
||||||
|
|
||||||
|
public Map(int longueur,int largeur, int nbMurs,int frequencesFruits){
|
||||||
|
this.largeur=largeur;
|
||||||
|
this.longueur=longueur;
|
||||||
|
this.nbMurs=nbMurs;
|
||||||
|
this.frequencesFruits=frequencesFruits;
|
||||||
|
|
||||||
|
grille=new Object[longueur][largeur];
|
||||||
|
|
||||||
|
for (int i=0;i<nbMurs;i++){
|
||||||
|
this.placeMur();
|
||||||
|
}
|
||||||
|
|
||||||
|
for (int j=0;j<this.largeur*this.longueur;j+=this.frequencesFruits){
|
||||||
|
this.placeFruit();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getLongueur(){ //Accéder à la variable Longueur
|
||||||
|
System.out.println("Longueur : "+ this.longueur);
|
||||||
|
return this.longueur;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getLargeur(){ //Accéder à la variable Largeur
|
||||||
|
System.out.println("Largeur : "+ this.largeur);
|
||||||
|
return this.largeur;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void printGrille(){ //Affichage simple de la grille de jeu
|
||||||
|
for (int i=0;i<longueur;i++){
|
||||||
|
for (int j=0;j<largeur;j++){
|
||||||
|
System.out.print(this.grille[i][j]);
|
||||||
|
}
|
||||||
|
System.out.println();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Réfléchir pour mettre plusieurs murs à des endroits différents
|
||||||
|
public void placeMur(){ //Positionner un mur défini aléatoirement sur la Map
|
||||||
|
Random r=new Random();
|
||||||
|
int x=r.nextInt(this.longueur-1); // Le "-1" permet d'éviter les murs faisant déjà partie de
|
||||||
|
int y=r.nextInt(this.largeur-1); // la bordure de la Map
|
||||||
|
int L=r.nextInt(this.longueur-x);
|
||||||
|
int l=r.nextInt(this.largeur-y);
|
||||||
|
|
||||||
|
Murs mur =new Murs(x, y,L, l);
|
||||||
|
mur.insereMur(this);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void placeFruit(){
|
||||||
|
Random r=new Random();
|
||||||
|
Fruits fruit=new Fruits();
|
||||||
|
|
||||||
|
int x=r.nextInt(this.longueur);
|
||||||
|
int y=r.nextInt(this.largeur);
|
||||||
|
|
||||||
|
this.grille[x][y]=fruit;
|
||||||
|
}
|
||||||
|
}
|
||||||
52
src/Murs.java
Normal file
52
src/Murs.java
Normal file
@@ -0,0 +1,52 @@
|
|||||||
|
package Environnements;
|
||||||
|
|
||||||
|
import Item.Items;
|
||||||
|
|
||||||
|
public class Murs{
|
||||||
|
int debut_horizontal;
|
||||||
|
int debut_vertical;
|
||||||
|
int longueur;
|
||||||
|
int largeur;
|
||||||
|
|
||||||
|
public Murs(int debut_horizontal,int debut_vertical,int longueur,int largeur){
|
||||||
|
this.debut_horizontal=debut_horizontal;
|
||||||
|
this.debut_vertical=debut_vertical;
|
||||||
|
this.longueur=longueur;
|
||||||
|
this.largeur=largeur;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getDebutHorizontal(){ //Accéder à la variable de position horizontale
|
||||||
|
return this.debut_horizontal;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getDebutVertical(){ //Accéder à la variable de position verticale
|
||||||
|
return this.debut_vertical;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getLongueur(){ //Accéder à la variable Longueur
|
||||||
|
return this.longueur;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getLargeur(){ //Accéder à la variable Largeur
|
||||||
|
return this.largeur;
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean murValide(Map m){ //Vérifie que l'emplacement du mur est correct
|
||||||
|
if (this.debut_horizontal+this.longueur>m.longueur || this.debut_vertical+largeur>m.largeur){
|
||||||
|
System.out.println("Emplacement de mur invalide");
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void insereMur(Map m){ //Positionner un mur à un endroit prédéfini
|
||||||
|
boolean b=this.murValide(m);
|
||||||
|
if (b){
|
||||||
|
for (int i=this.debut_horizontal;i<this.debut_horizontal+this.longueur;i++){
|
||||||
|
for (int j=this.debut_vertical;j<this.debut_vertical+this.largeur;j++){
|
||||||
|
m.grille[i][j]=Items.Mur;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user