Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Créer une fenêtre pour afficher les meilleurs scores

1 réponse
Avatar
BKCelia
Bonsoir, je suis en terminale et j'ai comme devoir de créer un jeu avec un camarade. Nous avons décidé de partir sur un style Space Invaders, et nous cherchons désormais à créer un bouton SCORE, qui afficherais les 10 meilleurs scores. Pour cela, nous avons déjà créer un tableau utilisant un fichier :

package Systeme;

import java.awt.Graphics;
import java.io.File;
import java.io.IOException;
import java.util.Scanner;
import acm.program.ConsoleProgram;
import acm.program.*;
public class ScoreComet extends ConsoleProgram{
public int k;
public static String [][] Scoretrie = new String [10] [2];
public String[][] getScoretrie() {return Scoretrie;}
public void setScoretrie(String[][] scoretrie) {Scoretrie = scoretrie;}
public void run(){
int NombreScore=0;
int NombreJoueur=0;
int Compteur = 1;
int iishimumeme = 0;
String [][] Score = new String [10] [2];
File fichier = new File("Score.txt");
try{
Scanner AEntree = new Scanner(fichier);
while(AEntree.hasNextLine()){
int reste = Compteur % 2;
if(reste != 0){
Score [NombreScore] [0] = AEntree.nextLine();
NombreScore = NombreScore + 1;
Compteur = Compteur +1;
}
else {
Score [NombreJoueur] [1] = AEntree.nextLine();
NombreJoueur = NombreJoueur + 1;
Compteur = Compteur +1;
}
}
AEntree.close();
}
catch (IOException e){
println("Erreur Traitement fichier:"+ e );
}
int alpha = Integer.valueOf(Score[0][0]);
for(k = 0; k<10; k++) {
if(Integer.valueOf(Score[k][0])>alpha) {
alpha = Integer.valueOf(Score[k][0]);
iishimumeme = k;
}
}
Scoretrie [0][0] = Integer.toString(alpha);
Scoretrie [0][1] = Score[iishimumeme][1];
Score[iishimumeme][0] = "0";
Score[iishimumeme][1] = "0";
iishimumeme = 0;
int beta = Integer.valueOf(Score[0][0]);
for(k = 0; k<10; k++) {
if(Integer.valueOf(Score[k][0])>beta) {
beta = Integer.valueOf(Score[k][0]);
iishimumeme = k;
}
}
Scoretrie [1][0] = Integer.toString(beta);
Scoretrie [1][1] = Score[iishimumeme][1];
Score[iishimumeme][0] = "0";
Score[iishimumeme][1] = "0";
iishimumeme = 0;
int gamma = Integer.valueOf(Score[0][0]);
for(k = 0; k<10; k++) {
if(Integer.valueOf(Score[k][0])>gamma) {
gamma = Integer.valueOf(Score[k][0]);
iishimumeme = k;
}
}
Scoretrie [2][0] = Integer.toString(gamma);
Scoretrie [2][1] = Score[iishimumeme][1];
Score[iishimumeme][0] = "0";
Score[iishimumeme][1] = "0";
iishimumeme = 0;
int delta = Integer.valueOf(Score[0][0]);
for(k = 0; k<10; k++) {
if(Integer.valueOf(Score[k][0])>delta) {
delta = Integer.valueOf(Score[k][0]);
iishimumeme = k;
}
}
Scoretrie [3][0] = Integer.toString(delta);
Scoretrie [3][1] = Score[iishimumeme][1];
Score[iishimumeme][0] = "0";
Score[iishimumeme][1] = "0";
iishimumeme = 0;
int epsilon = Integer.valueOf(Score[0][0]);
for(k = 0; k<10; k++) {
if(Integer.valueOf(Score[k][0])>epsilon) {
epsilon = Integer.valueOf(Score[k][0]);
iishimumeme = k;
}
}
Scoretrie [4][0] = Integer.toString(epsilon);
Scoretrie [4][1] = Score[iishimumeme][1];
Score[iishimumeme][0] = "0";
Score[iishimumeme][1] = "0";
iishimumeme = 0;
int zeta = Integer.valueOf(Score[0][0]);
for(k = 0; k<10; k++) {
if(Integer.valueOf(Score[k][0])>zeta) {
zeta = Integer.valueOf(Score[k][0]);
iishimumeme = k;
}
}
Scoretrie [5][0] = Integer.toString(zeta);
Scoretrie [5][1] = Score[iishimumeme][1];
Score[iishimumeme][0] = "0";
Score[iishimumeme][1] = "0";
iishimumeme = 0;
int eta = Integer.valueOf(Score[0][0]);
for(k = 0; k<10; k++) {
if(Integer.valueOf(Score[k][0])>eta) {
eta = Integer.valueOf(Score[k][0]);
iishimumeme = k;
}
}
Scoretrie [6][0] = Integer.toString(eta);
Scoretrie [6][1] = Score[iishimumeme][1];
Score[iishimumeme][0] = "0";
Score[iishimumeme][1] = "0";
iishimumeme = 0;
int theta = Integer.valueOf(Score[0][0]);
for(k = 0; k<10; k++) {
if(Integer.valueOf(Score[k][0])>theta) {
theta = Integer.valueOf(Score[k][0]);
iishimumeme = k;
}
}
Scoretrie [7][0] = Integer.toString(theta);
Scoretrie [7][1] = Score[iishimumeme][1];
Score[iishimumeme][0] = "0";
Score[iishimumeme][1] = "0";
iishimumeme = 0;
int lota = Integer.valueOf(Score[0][0]);
for(k = 0; k<10; k++) {
if(Integer.valueOf(Score[k][0])>lota) {
lota = Integer.valueOf(Score[k][0]);
iishimumeme = k;
}
}
Scoretrie [8][0] = Integer.toString(lota);
Scoretrie [8][1] = Score[iishimumeme][1];
Score[iishimumeme][0] = "0";
Score[iishimumeme][1] = "0";
iishimumeme = 0;
int kappa = Integer.valueOf(Score[0][0]);
for(k = 0; k<10; k++) {
if(Integer.valueOf(Score[k][0])>kappa) {
kappa = Integer.valueOf(Score[k][0]);
iishimumeme = k;
}
}
Scoretrie [9][0] = Integer.toString(kappa);
Scoretrie [9][1] = Score[iishimumeme][1];
Score[iishimumeme][0] = "0";
Score[iishimumeme][1] = "0";
}
}
et nous avons également un bouton, utilisant une classe "Souris" :
package Systeme;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import Jeu.Chrono;
import Jeu.Main;
public class Souris implements MouseListener {
private double mouseX;
private double mouseY;
public static int pressedPlay = 0;
public static int pressedScore = 0;
public int getPressed() {return pressedPlay;}
public void setPressed(int pressedPlay) {this.pressedPlay = pressedPlay;}
public static int getPressedScore() {return pressedScore;}
public static void setPressedScore(int pressedScore) {Souris.pressedScore = pressedScore;}
public void mouseClicked(MouseEvent e) {
mouseX = e.getX();
mouseY = e.getY();
if(e.getX() > 200 && e.getX() < 400 && e.getY() > 650 && e.getY() < 730) { //partie consacrée au bouton "PLAY"
Main.scene.setDy(10);
Thread chronoEcran = new Thread(new Chrono());
chronoEcran.start();
pressedPlay = 1;
}
if(e.getX() > 800 && e.getX() < 1000 && e.getY() > 650 && e.getY() < 730) { //partie est consacrée au bouton "SCORE"
pressedScore = 1;
}
}
public void mouseEntered(MouseEvent e) {
}
public void mouseExited(MouseEvent e) {
}
public void mousePressed(MouseEvent e) {
}
public void mouseReleased(MouseEvent e) {
pressedPlay = 0;
}
}
et nous avons tenté de créer une nouvelle fenêtre, dans notre "scene", et ça donnais ça :
if (Souris.pressedScore == 1){
g2.drawImage(this.imgScorePressed, 800, this.yScore, null);
JFrame fenetre2 = new JFrame("Meilleures Scores");
fenetre2.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
fenetre2.setSize(500, 600);
fenetre2. setLocation(100, 100);
fenetre2.setResizable(false);
fenetre2.setAlwaysOnTop(true);
}
Jusque là aucun message d'erreur, mais pas de nouvelle fenêtre en vue :/
Merci d'avoir lu jusqu'ici, en espérant avoir mis toutes les informations nécessaire à la résolution de mon problème ^^

1 réponse

Avatar
Yliur
Le Sun, 10 May 2020 16:15:55 -0500, BKCelia a écrit :
et nous avons tenté de créer une nouvelle fenêtre, dans notre "scene",
et ça donnais ça :
if (Souris.pressedScore == 1){
g2.drawImage(this.imgScorePressed, 800, this.yScore, null);
JFrame fenetre2 = new JFrame("Meilleures Scores");
fenetre2.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
fenetre2.setSize(500, 600);
fenetre2. setLocation(100, 100);
fenetre2.setResizable(false);
fenetre2.setAlwaysOnTop(true);
}
Jusque là aucun message d'erreur, mais pas de nouvelle fenêtre en vue :/
Merci d'avoir lu jusqu'ici, en espérant avoir mis toutes les
informations nécessaire à la résolution de mon problème ^^

Je n'ai pas tout lu, ça a l'air long et pas indenté. Par contre pour ta
fenêtre il ne manque pas ça ?
fenetre2.setVisible (true) ;