From 7d576dc9c0f04bf793a25907447f7c485f1ec1be Mon Sep 17 00:00:00 2001 From: david <david.carballo-iglesias@etu.hes.ge> Date: Thu, 14 Nov 2019 09:52:28 -0500 Subject: [PATCH] changements du hangman --- src/main/java/ch/hepia/hangman/Hangman.java | 5 +-- src/main/java/ch/hepia/numeric/Vector.java | 5 ++- .../java/ch/hepia/structure/BinaryHeap.java | 44 ++++++++++--------- src/test/java/ch/hepia/hangman/AppTest.java | 7 +-- src/test/java/ch/hepia/structure/AppTest.java | 4 ++ 5 files changed, 35 insertions(+), 30 deletions(-) diff --git a/src/main/java/ch/hepia/hangman/Hangman.java b/src/main/java/ch/hepia/hangman/Hangman.java index 62fc13d..00484bd 100644 --- a/src/main/java/ch/hepia/hangman/Hangman.java +++ b/src/main/java/ch/hepia/hangman/Hangman.java @@ -44,7 +44,7 @@ public class Hangman /* Affiche l'etat de la potence en fonction du nombre d'essai. */ - public static String showHangman(int essai) + public static void print(int essai) { String pot =""; pot=pot.concat("----------\n"); @@ -132,8 +132,7 @@ public class Hangman } break; } - pot=pot.concat(""); - return pot; + System.out.print(pot); } } diff --git a/src/main/java/ch/hepia/numeric/Vector.java b/src/main/java/ch/hepia/numeric/Vector.java index 6efb5a5..8e0d83b 100644 --- a/src/main/java/ch/hepia/numeric/Vector.java +++ b/src/main/java/ch/hepia/numeric/Vector.java @@ -205,7 +205,10 @@ final public class Vector { return sum(vs).norm(); } - + /* + Overrides ecrits avant le cours sur le sujet ces fonctions sont + a reecrire avec les nouvelles connaisances d'ici le deuxieme tag. + */ @Override public String toString() { List<String> strings = new ArrayList<String>(); diff --git a/src/main/java/ch/hepia/structure/BinaryHeap.java b/src/main/java/ch/hepia/structure/BinaryHeap.java index 7464140..2a8cb84 100644 --- a/src/main/java/ch/hepia/structure/BinaryHeap.java +++ b/src/main/java/ch/hepia/structure/BinaryHeap.java @@ -32,10 +32,7 @@ final public class BinaryHeap { int val=this.peek(); this.set(0,0); - for(int i=0;i<this.depth();i++) - { - this.sort(); - } + this.sort(); if(this.size()>0) { this.lstBinaryHeap.remove(this.size()-1); @@ -100,29 +97,35 @@ final public class BinaryHeap private void sort() { int index=this.size()-1; - while(index!=0) + for(int i=0;i<this.depth();i++) { - if(this.getParentNodeValue(index)<this.get(index)) + index=this.size()-1; + + while(index!=0) { - //les place doivent etre changer - this.switchPlace(this.getParentNodeIndex(index),index); - //test la valeur d'a cote - } - else - { - //test si la branche existe - if(this.getSameLevelIndex(index)<this.size()) + //regarde si la valeur du parent est plus petit que l'enfant + if(this.getParentNodeValue(index)<this.get(index)) + { + //les place doivent etre changer + this.switchPlace(this.getParentNodeIndex(index),index); + + } + else//test la valeur d'a cote { - //si elle existe - index=this.getSameLevelIndex(index);//passe a l'index d'a coter - if(this.getParentNodeValue(index)<this.get(index)) + //test si la branche existe + if(this.getSameLevelIndex(index)<this.size()) { - //les place doivent etre changer - this.switchPlace(this.getParentNodeIndex(index),index); + //si elle existe + index=this.getSameLevelIndex(index);//passe a l'index d'a coter + if(this.getParentNodeValue(index)<this.get(index)) + { + //les place doivent etre changer + this.switchPlace(this.getParentNodeIndex(index),index); + } } } + index=this.getParentNodeIndex(index); } - index=this.getParentNodeIndex(index); } } @@ -169,6 +172,7 @@ final public class BinaryHeap } } + private int getRightNodeIndex(int index) { return (2*index)+1; diff --git a/src/test/java/ch/hepia/hangman/AppTest.java b/src/test/java/ch/hepia/hangman/AppTest.java index 78184f2..38afd80 100644 --- a/src/test/java/ch/hepia/hangman/AppTest.java +++ b/src/test/java/ch/hepia/hangman/AppTest.java @@ -24,10 +24,5 @@ class HangmanTests hiddenWord=Hangman.check(hiddenWord,"david",'d'); assertEquals(hiddenWord,"d___d"); } - @Test - void check_potence() - { - String potence =Hangman.showHangman(2); - assertEquals(potence,"----------\n|/ |\n|\n|\n|\n|\n|\n|\n"); - } + } diff --git a/src/test/java/ch/hepia/structure/AppTest.java b/src/test/java/ch/hepia/structure/AppTest.java index a1c9be5..d97aad3 100644 --- a/src/test/java/ch/hepia/structure/AppTest.java +++ b/src/test/java/ch/hepia/structure/AppTest.java @@ -29,6 +29,7 @@ class BinaryHeapTest bHeap.push(1);lst.add(1); bHeap.push(2);lst.add(2); bHeap.push(7);lst.add(7); + bHeap.print(); bHeap.push(40);lst.add(40); bHeap2.addAll(lst); bHeap.print(); @@ -43,8 +44,11 @@ class BinaryHeapTest assertEquals(bHeap.depth(),4); assertEquals(bHeap.peek(),100); assertEquals(bHeap.pop(),100); + bHeap.print(); assertEquals(bHeap.pop(),40); + bHeap.print(); assertEquals(bHeap.pop(),36); + bHeap.print(); assertEquals(bHeap.size(),7); //bHeap.print(); //assertEquals(bHeap,bHeap2);//ecrire un override pour equals -- GitLab