tp2Imunes - devMadelaine - Q1ControleBlancDev32
This commit is contained in:
BIN
DEV/DEV_Madelaine/Shadock_couliior/Donjon.class
Normal file
BIN
DEV/DEV_Madelaine/Shadock_couliior/Donjon.class
Normal file
Binary file not shown.
5
DEV/DEV_Madelaine/Shadock_couliior/Donjon.java
Normal file
5
DEV/DEV_Madelaine/Shadock_couliior/Donjon.java
Normal file
@@ -0,0 +1,5 @@
|
||||
public interface Donjon {
|
||||
public Piece apres();
|
||||
public Piece avant();
|
||||
public Piece ici();
|
||||
}
|
98
DEV/DEV_Madelaine/Shadock_couliior/DonjonBD.java
Normal file
98
DEV/DEV_Madelaine/Shadock_couliior/DonjonBD.java
Normal file
@@ -0,0 +1,98 @@
|
||||
import org.mariadb.jdbc.*;
|
||||
import java.sql.*;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
public class DonjonBD implements Donjon {
|
||||
|
||||
private int idPiece;
|
||||
private int contenu;
|
||||
private Connection connexion;
|
||||
|
||||
public DonjonBD(){
|
||||
try{
|
||||
this.ouvrirConnexion();
|
||||
PreparedStatement requete = this.connexion.prepareStatement(
|
||||
"SELECT idPiece,contenu FROM Piece");
|
||||
ResultSet resultat = requete.executeQuery();
|
||||
requete.close();
|
||||
if (resultat.next()){
|
||||
this.idPiece = resultat.getInt("idPiece");
|
||||
this.contenu = resultat.getInt("contenu");
|
||||
}
|
||||
resultat.close();
|
||||
}
|
||||
catch(SQLException e){
|
||||
System.out.println(e);
|
||||
this.fermerConnexion();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public Piece apres(){
|
||||
try{
|
||||
PreparedStatement requete = this.connexion.prepareStatement(
|
||||
"SELECT idPiece,contenu FROM Piece WHERE idPiece=(Select apres FROM Piece WHERE idPiece=?)");
|
||||
requete.setInt(1, this.idPiece);
|
||||
ResultSet resultat = requete.executeQuery();
|
||||
requete.close();
|
||||
if (resultat.next()){
|
||||
this.idPiece = resultat.getInt("idPiece");
|
||||
this.contenu = resultat.getInt("contenu");
|
||||
}
|
||||
resultat.close();
|
||||
return new PieceConcrete(this.contenu);
|
||||
}
|
||||
catch(SQLException e){
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public Piece avant(){
|
||||
try{
|
||||
PreparedStatement requete = this.connexion.prepareStatement(
|
||||
"SELECT idPiece,contenu FROM Piece WHERE apres=?");
|
||||
requete.setInt(1, this.idPiece);
|
||||
ResultSet resultat = requete.executeQuery();
|
||||
requete.close();
|
||||
if (resultat.next()){
|
||||
this.idPiece = resultat.getInt("idPiece");
|
||||
this.contenu = resultat.getInt("contenu");
|
||||
}
|
||||
resultat.close();
|
||||
return new PieceConcrete(this.contenu);
|
||||
}
|
||||
catch(SQLException e){
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public Piece ici() {
|
||||
return new PieceConcrete(this.contenu);
|
||||
}
|
||||
|
||||
public void fermerConnexion(){
|
||||
try {
|
||||
this.connexion.close();
|
||||
} catch (SQLException e) {
|
||||
}
|
||||
}
|
||||
|
||||
public void ouvrirConnexion() throws SQLException {
|
||||
try {
|
||||
try {
|
||||
Class.forName("org.mariadb.jdbc.Driver");
|
||||
} catch (ClassNotFoundException e) {
|
||||
throw new RuntimeException("ClassNotFoundException", e);
|
||||
}
|
||||
this.connexion = DriverManager.getConnection(
|
||||
"jdbc:mariadb://dwarves.iut-fbleau.fr/williatt",
|
||||
"williatt", "OscarSQL92");
|
||||
} catch (SQLException e) {
|
||||
throw new SQLException("Connexion au serveur impossible ! Verifiez votre connexion internet puis reessayez",
|
||||
e);
|
||||
}
|
||||
}
|
||||
}
|
BIN
DEV/DEV_Madelaine/Shadock_couliior/DonjonLocal.class
Normal file
BIN
DEV/DEV_Madelaine/Shadock_couliior/DonjonLocal.class
Normal file
Binary file not shown.
38
DEV/DEV_Madelaine/Shadock_couliior/DonjonLocal.java
Normal file
38
DEV/DEV_Madelaine/Shadock_couliior/DonjonLocal.java
Normal file
@@ -0,0 +1,38 @@
|
||||
import java.util.*;
|
||||
|
||||
public class DonjonLocal implements Donjon {
|
||||
|
||||
private List<Piece> couloir;
|
||||
private int position;
|
||||
|
||||
public DonjonLocal() {
|
||||
this.couloir = new ArrayList<>();
|
||||
this.position = 0;
|
||||
this.remplirCouloir(50);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Piece apres() {
|
||||
this.position = (this.position+1)%this.couloir.size();
|
||||
return this.couloir.get(this.position);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Piece avant() {
|
||||
this.position = (this.position+(this.couloir.size()-1))%this.couloir.size();
|
||||
return this.couloir.get(this.position);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Piece ici() {
|
||||
return this.couloir.get(this.position);
|
||||
}
|
||||
|
||||
private void remplirCouloir(int nbPiece) {
|
||||
int i;
|
||||
for (i = 0; i < nbPiece; i++) {
|
||||
Piece piece = new PieceConcrete();
|
||||
this.couloir.add(piece);
|
||||
}
|
||||
}
|
||||
}
|
BIN
DEV/DEV_Madelaine/Shadock_couliior/Main.class
Normal file
BIN
DEV/DEV_Madelaine/Shadock_couliior/Main.class
Normal file
Binary file not shown.
28
DEV/DEV_Madelaine/Shadock_couliior/Main.java
Normal file
28
DEV/DEV_Madelaine/Shadock_couliior/Main.java
Normal file
@@ -0,0 +1,28 @@
|
||||
public class Main{
|
||||
public static void main (String[] args){
|
||||
Donjon sametlenoob = new DonjonLocal();
|
||||
VueShadock oscarDansLeDonjonDeSamet = new VueShadock(sametlenoob, 3);
|
||||
System.out.println(oscarDansLeDonjonDeSamet);
|
||||
|
||||
oscarDansLeDonjonDeSamet.avance();
|
||||
System.out.println(" ===> "+ oscarDansLeDonjonDeSamet);
|
||||
|
||||
oscarDansLeDonjonDeSamet.avance();
|
||||
System.out.println(" ===> "+ oscarDansLeDonjonDeSamet);
|
||||
|
||||
oscarDansLeDonjonDeSamet.recule();
|
||||
System.out.println(" <=== "+ oscarDansLeDonjonDeSamet);
|
||||
|
||||
oscarDansLeDonjonDeSamet.recule();
|
||||
System.out.println(" <=== "+ oscarDansLeDonjonDeSamet);
|
||||
|
||||
oscarDansLeDonjonDeSamet.recule();
|
||||
System.out.println(" <=== "+ oscarDansLeDonjonDeSamet);
|
||||
|
||||
oscarDansLeDonjonDeSamet.avance();
|
||||
System.out.println(" ===> "+ oscarDansLeDonjonDeSamet);
|
||||
|
||||
oscarDansLeDonjonDeSamet.avance();
|
||||
System.out.println(" ===> "+ oscarDansLeDonjonDeSamet);
|
||||
}
|
||||
}
|
BIN
DEV/DEV_Madelaine/Shadock_couliior/Piece.class
Normal file
BIN
DEV/DEV_Madelaine/Shadock_couliior/Piece.class
Normal file
Binary file not shown.
15
DEV/DEV_Madelaine/Shadock_couliior/Piece.java
Normal file
15
DEV/DEV_Madelaine/Shadock_couliior/Piece.java
Normal file
@@ -0,0 +1,15 @@
|
||||
public abstract class Piece {
|
||||
protected int contenu;
|
||||
|
||||
public Piece(int contenu) {
|
||||
this.contenu = contenu;
|
||||
}
|
||||
|
||||
public int getContenu() {
|
||||
return contenu;
|
||||
}
|
||||
|
||||
public String toString(){
|
||||
return ""+this.contenu;
|
||||
}
|
||||
}
|
BIN
DEV/DEV_Madelaine/Shadock_couliior/PieceConcrete.class
Normal file
BIN
DEV/DEV_Madelaine/Shadock_couliior/PieceConcrete.class
Normal file
Binary file not shown.
19
DEV/DEV_Madelaine/Shadock_couliior/PieceConcrete.java
Normal file
19
DEV/DEV_Madelaine/Shadock_couliior/PieceConcrete.java
Normal file
@@ -0,0 +1,19 @@
|
||||
import java.util.Random;
|
||||
|
||||
public class PieceConcrete extends Piece {
|
||||
|
||||
public PieceConcrete(int n){
|
||||
super(n);
|
||||
}
|
||||
|
||||
public PieceConcrete(){
|
||||
super(0);
|
||||
Random r = new Random();
|
||||
int n = r.nextInt(10);
|
||||
this.contenu = n;
|
||||
}
|
||||
|
||||
public int getContenu(){
|
||||
return super.getContenu();
|
||||
}
|
||||
}
|
BIN
DEV/DEV_Madelaine/Shadock_couliior/VueShadock.class
Normal file
BIN
DEV/DEV_Madelaine/Shadock_couliior/VueShadock.class
Normal file
Binary file not shown.
57
DEV/DEV_Madelaine/Shadock_couliior/VueShadock.java
Normal file
57
DEV/DEV_Madelaine/Shadock_couliior/VueShadock.java
Normal file
@@ -0,0 +1,57 @@
|
||||
public class VueShadock {
|
||||
|
||||
private Piece[] listePiece;
|
||||
private Donjon donjon;
|
||||
private boolean isAvance; // true si la derniere direction est avance() / false si derniere direction est recule()
|
||||
|
||||
public VueShadock(Donjon donjon, int porteeVision) {
|
||||
this.donjon = donjon;
|
||||
this.listePiece = new PieceConcrete[porteeVision];
|
||||
int i, taille=this.listePiece.length;
|
||||
for (i=0; i<taille; i++){
|
||||
this.listePiece[i] = this.donjon.apres();
|
||||
}
|
||||
this.isAvance = true;
|
||||
}
|
||||
|
||||
public void avance(){
|
||||
int i, taille=(this.listePiece.length-1);
|
||||
if (this.isAvance){
|
||||
for (i=0; i<taille; i++){
|
||||
this.listePiece[i] = this.listePiece[i+1];
|
||||
}
|
||||
this.listePiece[taille] = this.donjon.apres();
|
||||
}
|
||||
else{
|
||||
for (i=0; i<=taille; i++){
|
||||
this.listePiece[i] = this.donjon.apres();
|
||||
}
|
||||
}
|
||||
this.isAvance =true;
|
||||
}
|
||||
|
||||
public void recule(){
|
||||
int i, taille=(this.listePiece.length-1);
|
||||
if (this.isAvance == false){
|
||||
for (i=taille; i>0; i--){
|
||||
this.listePiece[i] = this.listePiece[i-1];
|
||||
}
|
||||
this.listePiece[0] = this.donjon.avant();
|
||||
}
|
||||
else{
|
||||
for (i=taille; i>=0; i--){
|
||||
this.listePiece[i] = this.donjon.avant();
|
||||
}
|
||||
}
|
||||
this.isAvance = false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
String resultat = new String();
|
||||
for (Piece piece : this.listePiece){
|
||||
resultat += piece+" ";
|
||||
}
|
||||
return resultat;
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user