Liers des 'choses" ensembles

Résolu/Fermé
alexo28 Messages postés 460 Date d'inscription dimanche 9 septembre 2012 Statut Membre Dernière intervention 23 juin 2017 - Modifié par alexo28 le 19/04/2014 à 22:38
KX Messages postés 16734 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 24 avril 2024 - 20 avril 2014 à 14:33
Bonjour, désoler pour le titre vraiment peu claire mais je sais pas comment on dit :)

Voici un code JAVA débutant (plus bas) Je voudrai rediriger les gens vers un autre "bloc" de code avec une action précise.

ex: L'utilisateur fait 1 donc commence le jeu.

Donc j'ai tout fait: le if (v == 1) Mais dans les accolades je ne sais pas quoi mettre pour aller vers la section "Game"

En fait je voudrai que si le if du main est respecté, l'utilisateur soit redirigé vers "public static void Game ()" pour lancer le jeu

Je sais pas si vous allez comprendre mais merci quand même!

import java.util.Arrays;
import java.util.Random;
import java.util.Scanner;

public class Jeu
{
 public static int compteur_essais = 0;
 public static void main(String[] args) 
 {
  
  System.out.println ("Voici le jeu du chiffre mystère\n");
  System.out.println ("Voici une liste des commandes:\n");
  System.out.println ("*1* - Commencer une partie\n*2* - Options\n*3* - Crédits");
  Scanner in = new Scanner(System.in);
  int v; 
  v = in.nextInt();
  
  if (v == 1)
  {
     //"""""ICI ILS DOIVENT SE FAIRE REDIRIGER VERS LE VOID GAME
  }

 }
 public static void Game ()
 {
  Random rand = new Random();
  int nombreAleatoire = rand.nextInt(100 - 1 + 1) + 1;
   
  do
  {
   Scanner in = new Scanner(System.in);
   int v;
   v = in.nextInt();
   if (v < nombreAleatoire)
   {
    System.out.println ("Trop bas, réessaie");
   }
   if (v > nombreAleatoire)
   {
    System.out.println ("Trop haut, réessaie");
   } 
   if (v == nombreAleatoire)
   {
    System.out.println ("Gagné! Réussi en " + ((compteur_essais)+1) + " essais");
   }
   else 
   {
    compteur_essais = compteur_essais +1;
   }
  
  }
  while(v != nombreAleatoire);
 }
 
}








Vous savez comment faire un bot (tchat) twitch? Mp moi!! Svp mp moi!!

1 réponse

KX Messages postés 16734 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 24 avril 2024 3 015
19 avril 2014 à 22:42
Bonjour,

Ce que tu veux faire c'est simplement un appel de méthode.

if (v == 1)
{
     Game();
}
0
alexo28 Messages postés 460 Date d'inscription dimanche 9 septembre 2012 Statut Membre Dernière intervention 23 juin 2017 61
20 avril 2014 à 14:22
Merci! Je vais tester sa tout de suite!

Autre petite question: Est ce que mon public static void game va être lu automatiquement quand le main est fini?
0
KX Messages postés 16734 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 24 avril 2024 3 015
20 avril 2014 à 14:33
Quand le main est fini le programme s'arrête. Si une méthode n'est appelé ni par le main, ni par une autre méthode appelée par le main, alors elle ne sera jamais appelée.

Remarque : l'ordre des méthodes déclarées dans la classe n'a aucune importance. Seule l'ordre dans lequel les méthodes sont appelées à l'intérieur du main compte. Que tu mettes la méthode Game() avant ou après la méthode main ne va pas l'exécuter ni avant ni après le main. Seul la méthode main décidera quand l'appeler. Finalement, il n'y a aucune différence entre ta méthode Game ou n'importe quelle autre méthode que tu utilises (System.out.println, Random.nextInt, etc.)
0