mirror of
https://github.com/Cpt-Adok/SNAKE.git
synced 2026-01-25 10:34:06 +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