From b7792590d86fd9937590acfbc691d610fec06a18 Mon Sep 17 00:00:00 2001 From: Villard PierreFrederic <pierre-frederic.villard@univ-lorraine.fr> Date: Thu, 23 Sep 2021 15:52:40 +0200 Subject: [PATCH] Extract JeuPhysique and BouclePrincipal in the main package --- src/{ => main}/BouclePrincipale.java | 10 +-- src/{ => main}/JeuPhysique.java | 6 +- test/miscellaneous/BouclePrincipaleCool.java | 65 +++++++++++++++++++- test/testFighter.java | 1 + test/testMario.java | 1 + 5 files changed, 76 insertions(+), 7 deletions(-) rename src/{ => main}/BouclePrincipale.java (88%) rename src/{ => main}/JeuPhysique.java (90%) diff --git a/src/BouclePrincipale.java b/src/main/BouclePrincipale.java similarity index 88% rename from src/BouclePrincipale.java rename to src/main/BouclePrincipale.java index 87c17e7..f8314ef 100644 --- a/src/BouclePrincipale.java +++ b/src/main/BouclePrincipale.java @@ -1,14 +1,16 @@ +package main; + import controle.ControleurClavier; public class BouclePrincipale { - String nom="Mon super Jeu"; - int fps=100; - JeuPhysique jeuPhysique; + public String nom="Mon super Jeu"; + public int fps=100; + public JeuPhysique jeuPhysique; //creation du controleur - ControleurClavier cClavier; + public ControleurClavier cClavier; public void setName(String nom){ diff --git a/src/JeuPhysique.java b/src/main/JeuPhysique.java similarity index 90% rename from src/JeuPhysique.java rename to src/main/JeuPhysique.java index d4fbfc0..dfc2edb 100644 --- a/src/JeuPhysique.java +++ b/src/main/JeuPhysique.java @@ -1,3 +1,5 @@ +package main; + /* ========================================================== */ /* Bibliotheque MoteurDeJeu */ /* -------------------------------------------- */ @@ -17,10 +19,10 @@ import java.io.IOException; public class JeuPhysique{ //le moteur physique - MoteurPhysique moteurPhys; + public MoteurPhysique moteurPhys; //le rendu - Afficheur affiche; + public Afficheur affiche; int i=0; diff --git a/test/miscellaneous/BouclePrincipaleCool.java b/test/miscellaneous/BouclePrincipaleCool.java index d0c63fe..5b1c629 100644 --- a/test/miscellaneous/BouclePrincipaleCool.java +++ b/test/miscellaneous/BouclePrincipaleCool.java @@ -10,10 +10,73 @@ /* ========================================================== */ package miscellaneous; +import main.BouclePrincipale; +import controle.ControleurClavier; + /** - * + * + * * @author Pierre-Frederic Villard */ public class BouclePrincipaleCool extends BouclePrincipale{ + @Override + public void lanceBouclePrincipale() throws Exception { + + + //ControleurClavier cClavier=new ControleurClavier(true); + jeuPhysique.affiche.addKeyListener(cClavier); + //mettre l'acces au controleur dans monde + jeuPhysique.moteurPhys.monde.c=cClavier.c; + + //afficher + System.out.println("\n\n**************************************************"); + System.out.println("* "+nom); + System.out.println("* *"); + System.out.println("*** touche 'Q' pour arreter jeu ***"); + System.out.println("****************************************************"); + System.out.println("\n\n"); + + //fps + long dureeBoucle=1000000/fps; + System.out.println(" ---> duree d'une boucle "+dureeBoucle/1000.); + + //lancement + Thread.sleep(1000); + jeuPhysique.affiche.requestFocusInWindow(); + + // boucle + long beforeTime = System.nanoTime(); + long l = System.currentTimeMillis(); + //nombre iterations + int n=0; + while(!ControleurClavier.fin) + { + n++; + jeuPhysique.update(); + jeuPhysique.render(); + + //apres le render en nanos + long timafter=System.nanoTime(); + + //sleep en millisecond + while(System.nanoTime()-beforeTime-dureeBoucle*1000L<0) + { + } + beforeTime=System.nanoTime(); + + } + long l2 = System.currentTimeMillis(); + + + // statistiques + System.out.println("\n\n\n************************\n"); + System.out.println("Iterations = "+n); + System.out.println("FPS = " + (n * 1000.0 / (l2 - l))); + System.out.println("\n************************"); + + + System.exit(0); + } + } diff --git a/test/testFighter.java b/test/testFighter.java index 5982fd8..c48df2e 100644 --- a/test/testFighter.java +++ b/test/testFighter.java @@ -1,4 +1,5 @@ +import main.BouclePrincipale; import afficheur.Afficheur; import controle.ControleurClavier; import miscellaneous.MurCool; diff --git a/test/testMario.java b/test/testMario.java index 7dac31b..005fe45 100644 --- a/test/testMario.java +++ b/test/testMario.java @@ -14,6 +14,7 @@ * @author Pierre-Frederic Villard */ +import main.BouclePrincipale; import miscellaneous.MurCool; import afficheur.Afficheur; import afficheur.Repere; -- GitLab