IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Java Discussion :

Appel d'une classe dans Bataille navale


Sujet :

Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2017
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2017
    Messages : 5
    Par défaut Appel d'une classe dans Bataille navale
    Salut à tous,

    Alors avec des amis on a développé un programme java pour un projet il s'agit d'un touché coulé, et j'aimerais y ajouter une musique à l'ouverture du programme.

    J'ai réussis à faire le programme qui joue ma musique mais je ne sais tout bêtement pas comment l'inclure dans le porgramme final. Genre avec un starf abc=new starf ou je ne sais pas quoi ... :')
    Merci d'avance de l'aide
    Je suis nouveau sur ce site donc je ne sais pas trop comment ça fonctionne je vous met mon programme musique et le debut de mon programe final :

    Programme son :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    import java.io.File;
    import javax.sound.sampled.AudioSystem;
    import javax.sound.sampled.Clip;
     
    public class starf {
     
    	public static void main(String[] args)
    	{
    		File Clap = new File ("abc.WAV");
    		PlaySound(Clap);
    	}
     
    	static void PlaySound(File Sound){
     
    		try{
    			Clip clip = AudioSystem.getClip();
    			clip.open(AudioSystem.getAudioInputStream(Sound));
    			clip.start();
     
    			Thread.sleep(clip.getMicrosecondLength()/1000);
     
    		}catch(Exception e)
    		{
     
    		}
    	}
    }
    .................................
    Programme touch coulé
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    import java.io.File;
    	import javax.sound.sampled.AudioSystem;
    	import javax.sound.sampled.Clip;
    	import java.util.Scanner;
     
    public class JeuBatailleNavale {
     
     
     
    	public static void main (String args[]) {
     
     
    		Scanner sc = new Scanner(System.in);
     
     
     
    		System.out.println();
    		System.out.println();
    		System.out.println("                   !! TOUCHE COULE !! "); 
    		System.out.println();
    		System.out.println();
    		System.out.println(" Mode de jeu ?"); //Il y a deux mode de jeux, aux joueurs de choisir 
    		System.out.println(" 	|1| - 2 joueurs 			|2| - Solo ");
     
    		boolean f1 = false; // il faut verifier que le joueur rentre bien des informations traitablent 
    		int Type;
     
    		do{
    			Type = sc.nextInt();	 // On demande quel type de jeu le(s) joueur(s) veut jouer  
     
    			if(Type == 1 || Type == 2)
    			f1 = true;
     
    			if(f1 == false){
    				System.out.println();
    				System.out.println(" Veuillez rentrer 1 ou 2");
    			}
    		}while(f1 == false);
     
    		sauterDesLignes();
     
     
    		if ( Type == 1){
     
    			//On explique les règles aux joueurs 
    			System.out.println();
    			System.out.println(" Regles : ");
    			System.out.println(); et après le programme continu ...
    Voila
    Fichiers attachés Fichiers attachés

  2. #2
    Membre régulier Avatar de EmotionFox
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mai 2017
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Services à domicile

    Informations forums :
    Inscription : Mai 2017
    Messages : 10
    Par défaut
    Lors du lancement du son tu fais un Thread.sleep() ce qui risque si ton programme tourne sur le même thread d'arrêter également ton programme, je n'est jamais eu à faire des sons pour le moment mais je sais qu'il existe beaucoup de librairie qui te permettrais de jouer un sons facilement sinon j'ai vue également beaucoup d'exemple sur Google et j'imagine qu'un peu de recherche pourrait t'être bénéfique.

    Ps: Il ne peut y avoir qu'une classe principale dans un programme, il faudrait d'abord commencer par définir un constructeur dans ta classe Starf comme-ci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    public class starf {
     
    public starf(String path)
    {
    File Clap = new File (path);
    PlaySound(Clap);
    }
     
    public void PlaySound(File Sound){
     
    try{
    Clip clip = AudioSystem.getClip();
    clip.open(AudioSystem.getAudioInputStream(Sound));
    clip.start();
     
    Thread.sleep(clip.getMicrosecondLength()/1000);
     
    }catch(Exception e)
    {
     
    }
    }
    }
    puis en suite il suffirait d'instancier ta classe comme ça:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Starf starf = new Starf("abc.wav")
    et vue que le son ce joue dés l'instanciation ça devrait fonctionner.

    Ps2: Inutile d'envoyer plusieurs System.out.println("") pour faire des retours à la ligne, un simple System.out.println("\n \n Test") ou System.out.println("\n\nTest") devrait faire l'affaire (\n permettant de faire un retour à la ligne).

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2017
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2017
    Messages : 5
    Par défaut
    Dacc merci bah je vais tester ça

  4. #4
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2017
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2017
    Messages : 5
    Par défaut
    C'est bizzare parce que quand je le compile tout va bien mais après dans le terminal il me dit de definir une classe genre public static void main String ..
    Erreur : la méthode principale est introuvable dans la classe starf, définissez la méthode principale comme suit :
    public static void main(String[] args)
    ou une classe d'applications JavaFX doit étendre javafx.application.Application
    Appuyez sur une touche pour continuer...

    J'ai ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    import java.io.File;
    import javax.sound.sampled.AudioSystem;
    import javax.sound.sampled.Clip;
     
     
    	public class starf {
     
    public starf(String starf)
    {
    File Clap = new File ("abc.wav");
    PlaySound(Clap);
    }
     
    public void PlaySound(File Sound){
     
    try{
    Clip clip = AudioSystem.getClip();
    clip.open(AudioSystem.getAudioInputStream(Sound));
    clip.start();
     
    Thread.sleep(clip.getMicrosecondLength()/1000);
     
    }catch(Exception e)
    {
     
    }
    }
    }

  5. #5
    Membre régulier Avatar de EmotionFox
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mai 2017
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Services à domicile

    Informations forums :
    Inscription : Mai 2017
    Messages : 10
    Par défaut
    C'est normal ta classe Starf ne doit pas être la classe principale de ton projet mais elle l'était avant, sous éclipse tu doit cliquer sur la petite flèche noir (du menu déroulant) à coté de la grosse flèche blanche sur fond vert qui te permet de lancer ton programme, ensuite il faut aller dans "Run Configurations" puis cliquer sur "Starf" (j'imagine, ou sur "JeuBatailleNavale") puis là ou il y a marqué "Main Class:" suivis d'un champ de texte clique sur "Search..." puis choisis ta classe "JeuBatailleNavale" et relance ton programme.

    Ps: Je vois que n'utilise pas le string starf que tu définie via ton constructeur dans ta classe Starf, ce qui auras pour effet de ne jamais pouvoir changer le son joué. Tu devrait plutôt faire comme dans mon exemple en haut si jamais tu a un jour besoin de lancer un autre son.

  6. #6
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2017
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2017
    Messages : 5
    Par défaut
    Bah pour le son ça sera un son fixe que je ne changerais jamais.
    Ouais je vois mais du coup je suis sur geany du coup je ne sais pas trop comment l'inclure , je suis désolé d'être lourd comme ça mais je ne m'y connais pas beaucoup merci de l'aide

Discussions similaires

  1. Appel d'une classe dans un JavaBean
    Par lamur dans le forum Servlets/JSP
    Réponses: 3
    Dernier message: 07/10/2010, 15h58
  2. Appel d'une classe dans une jsp
    Par _ash_ dans le forum Servlets/JSP
    Réponses: 5
    Dernier message: 05/07/2009, 13h56
  3. Appel d'une classe dans un autre répertoire
    Par frites.saucisse dans le forum Général Python
    Réponses: 2
    Dernier message: 08/07/2008, 16h05
  4. appel d'une classe dans une fonction
    Par fraisa1985 dans le forum Général Java
    Réponses: 7
    Dernier message: 27/03/2008, 12h11

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo