Jeu Java programmation tutoriel - Flappy oiseaux Redux (10 / 12 étapes)

Étape 10 : Ajout de l’oiseau

Dans cette étape, nous allons ajouter le joueur de l’oiseau à l’écran et sa logique de mouvement associé. Cela n’implique pas beaucoup de code nouveau - les changements on le verra en ajoutant un KeyListener pour permettre aux utilisateurs d’effectuer l’oiseau saute et commencer une nouvelle partie, faire quelques ajouts dans gameScreen, ajout de logique pour mettre à jour le score et finaliser la classe PlayGameScreen.

Quelques variables globales nouvelles ont été introduites dans cette étape : BIRD_WIDTH, BIRD_HEIGHT, BIRD_X_LOCATION, BIRD_JUMP_DIFF, BIRD_FALL_DIFF et BIRD_JUMP_HEIGHT pour les constantes ; gamePlay, birdThrust, birdFired, libéré et birdYTracker pour les variables globales.

Pour commencer, nous allons ajouter l’écouteur clé, donc importer les classes KeyEvent et KeyListener, ajouter KeyListener à celui des classes implémentées que TopClass utilise, et créer les par défaut keyPressed(...), keyReleased(...) et les méthodes de keyTyped(...). Seulement créer le squelette de ces trois méthodes. ne remplissez pas eux encore.

------
Dans gameScreen, nous faisons quelques ajouts pour ajouter des fonctionnalités de l’oiseau du jeu. Tout d’abord créer une instance d’oiseau vers le haut de la méthode, créez deux variables pour effectuer le suivi X de l’oiseau (immuable) et coordonnées. Il est intéressant de noter, y = 0 est le haut de l’écran, alors quand l’oiseau saute, vous réellement decrement coordonnée y de l’oiseau.

Au sein de la boucle de jeu, vous verrez plusieurs ajouts d’instruction conditionnelle pertinentes à l’oiseau ; chacun va vérifier si nous sommes en fait le jeu et pas l’écran de démarrage avec! isSplash. Dans le premier conditionnel, nous testons si l’oiseau a été dit de se déplacer (utilisateur a appuyé sur la barre d’espace, qui passe de birdFired à true). Dans l’affirmative, nous mettons à jour la variable coordination mondiale oiseaux Y à la coordonnée Y localement clée et changer birdFired à false.

Ensuite nous vérifions si l’oiseau a toujours Poussée, ce qui signifie que nous examinons si l’oiseau est toujours en mouvement de la presse précédent de la barre d’espace. Dans l’affirmative, nous vérifions si raconter l’oiseau de sauter à nouveau obligera sur le haut de l’écran. Si ce n’est pas le cas, nous laissons un saut complet. Sinon la valeur de coordonnée y de l’oiseau à zéro (en haut de l’écran), mettre à jour la variable globale et changer birdThrust false, que l’oiseau ne peut plus sauter.

L’instruction else suivante indique qu’opération de saut de l’oiseau est terminée, donc mettre à jour la variable globale et changer birdThrust false afin que l’oiseau ne peut pas se déplacer verticalement plus.

La prochaine chose si instruction indique à l’oiseau de tomber quand il n’y a aucune commande émise.

Une fois définies les coordonnées BottomPipe et TopPipe X et Y, nous avons un rapide si déclaration à faire de même pour la mise à jour de l’objet oiseau X et Y coordonnées, ainsi qu’en définissant l’objet de l’oiseau en pages.

Au final conditionnel, nous appelons la méthode d’updateScore en TopClass pour tester si la partition doit être mis à jour. Veuillez noter que dans l’instruction de condition pour cette instruction IF, nous vérifions si la largeur de l’objet de l’oiseau n’est pas nulle. Ceci permet d’éviter un problème de ressource-chargement bizarre qui se pose lors de la détection de collision à l’étape suivante. Il suffit de savoir dont vous avez besoin de ce code ici.

------
Passer à la méthode d’updateScore, tout ce que nous faisons ici est test si l’objet de l’oiseau est passé un des objets BottomPipe. Nous faisons cela en vérifiant si c’est entre le bord extérieur et pas plus loin que le bord extérieur plus X_MOVEMENT_DIFFERENCE. Si c’est dans cet intervalle, appelez la méthode incrementJump dans les PlayGameScreen à jour le score.

------
Nous avons désigné trois touches pour être utilisée dans ce programme : la barre d’espace va sauter l’oiseau, la touche « b » va commencer un nouveau cycle après nous perdre, et la touche Echap quitter complètement le programme. Dans la méthode de keyPressed, la première instruction IF vérifie que si vous appuyez sur la barre d’espace, le jeu se joue (gamePlay == true) et la barre d’espace a été libérée, puis effectuez les opérations suivantes :

* Vérifier si birdThrust est vrai, qui vérifie si l’oiseau est toujours en mouvement de précédemment en appuyant sur la barre d’espace. Dans l’affirmative, changement birdFired à true pour registre le nouveau bouton, appuyez sur.
* Ensuite modifier la variable birdThrust à true pour démarrer le déplacement d’oiseaux si ce n’est pas déjà
* Enfin, indiquent que la barre d’espace a été enregistrée et que toutes les opérations connexes sont faites en changeant publié sur false.

Ensuite, nous vérifions si le jeu ne se joue (c'est-à-dire une collision est détectée) et si le bouton « b » a été activé, puis nous réinitialisons l’oiseau de départ hauteur, retirez tout chevauchement, il pouvait avoir lors de la collision a été détectée, et simuler la touche startGame (redémarrer le jeu, c’est pas différent de pressage startGame).

Enfin si la touche a été pressée, nous voulons sortir entièrement du jeu, qui s’effectue à l’aide de System.exit(0).

Au sein de keyReleased, nous enregistrons simplement la barre d’espace étant pressée en changeant la sortie à true (dans l’instruction IF).

java.awt.Dimension d’importation ; import java.awt.Font ; import java.awt.Image ; import java.awt.Color ; importation impossible ; java.awt.Toolkit importation ; import java.awt.event.ActionEvent ; java.awt.event.ActionListener d’importation ; import java.awt.event.KeyEvent ; java.awt.event.KeyListener d’importation ; Import javax.swing.* ; TopClass/public class implements ActionListener, KeyListener {//global variables constantes privé public static final int SCREEN_WIDTH = (int) Toolkit.getDefaultToolkit().getScreenSize().getWidth() ; privé public static final int SCREEN_HEIGHT = (int) Toolkit.getDefaultToolkit().getScreenSize().getHeight() ; privé public static final int PIPE_GAP = SCREEN_HEIGHT/5 ; //distance en pixels entre les tuyaux privé public static final int PIPE_WIDTH = SCREEN_WIDTH/8, PIPE_HEIGHT = 4 * PIPE_WIDTH ; privé public static final int BIRD_WIDTH = 120 , BIRD_HEIGHT = 75 ; privé public static final int UPDATE_DIFFERENCE = 25 ; temps en ms entre les mises à jour privé public static final int X_MOVEMENT_DIFFERENCE = 5 ; le passage de tuyaux à distance chaque mise à jour privé public static final int SCREEN_DELAY = 300 ; nécessaire en raison du temps forçant les tuyaux de chargement long pop up Mid-écran privé public static final int BIRD_X_LOCATION = SCREEN_WIDTH/7 ; privé public static final int BIRD_JUMP_DIFF = 10, BIRD_FALL_DIFF = BIRD_JUMP_DIFF/2, BIRD_JUMP_HEIGHT = PIPE_GAP - BIRD_HEIGHT - BIRD_JUMP_DIFF * 2 ; variables globales privées booléenne loopVar = true ; faux -> ne pas exécuter la boucle ; vrai -> exécution boucle pour pipes privée gamePlay booléen = false ; faux -> match ne pas joué privé boolean birdThrust = false ; faux -> touche pas à déplacer le birdFired booléenne verticalement privé oiseau = false ; vrai -> touche saut prématurément privé boolean sorti = true ; barre d’espace libéré ; commence comme vrai alors première presse enregistre private int birdYTracker = SCREEN_HEIGHT/2 - BIRD_HEIGHT ; Private Object buildComplete = new Object() ; swing global des objets privés JFrame f = new JFrame ("Flappy oiseau Redux") ; Private JButton startGame ; privé JPanel Top ; déclarés globalement pour accueillir l’opération repeints et permettre removeAll(), etc. //other global objets privés statique TopClass tc = new TopClass() ; private static PlayGameScreen pgs ; panneau qui possède l’expérience mobile au début du jeu / ** * constructeur par défaut * / public TopClass() {} / ** * méthode exécutable principal invoqué lorsque vous exécutez le fichier .jar * args * / public public static void main (String [] args) {//build le GUI sur un nouveau javax.swing.SwingUtilities.invokeLater de fil (nouvelle Runnable() {public void run() {tc.buildFrame() ; //create un nouveau thread pour garder l’interface graphique sensible tandis que le jeu déroule Thread t = new Thread() {public void run() {tc.gameScreen(true);}}; t.start();}});} / ** * méthode pour construire la JFrame et ajouter le contenu du programme * / private Sub buildFrame() {Image icône = Toolkit.getDefaultToolkit().getImage(this.getClass().getResource("resources/blue_bird.png")) ; f.setContentPane(createContentPane()) ; f.setResizable(true) ; f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE) ; f.setAlwaysOnTop(false) ; f.setVisible(true) ; f.setMinimumSize (Nouvelle Dimension (SCREEN_WIDTH * SCREEN_HEIGHT 1/4, * 1/4)); f.setExtendedState(JFrame.MAXIMIZED_BOTH) ; f.setIconImage(icon) ; f.addKeyListener(this);} privé JPanel createContentPane() {Top = new JPanel() ; //top-most JPanel dans la layout hiérarchie topPanel.setBackground(Color.BLACK) ; //allow nous les panneaux LayoutManager superposition de couche = new OverlayLayout(topPanel) ; topPanel.setLayout(overlay) ; //Start jeu JButton startGame = new JButton ("Start Playing
!"); startGame.setBackground(Color.BLUE) ; startGame.setForeground(Color.WHITE) ; startGame.setFocusable(false) ; plutôt que de simplement setFocusabled(false) startGame.setFont (new Font ("Calibri", Font.BOLD, 42)) ; startGame.setAlignmentX(0.5f) ; Centrer horizontalement sur l’écran startGame.setAlignmentY(0.5f) ; centrer verticalement sur l’écran startGame.addActionListener(this) ; topPanel.add(startGame) ; Ajouter en dernier afin d’assurer des pgs de visibilité du bouton = new PlayGameScreen (vrai SCREEN_WIDTH, SCREEN_HEIGHT,) ; vrai--> nous voulons pgs pour le splash screen topPanel.add(pgs) ; retour Top ; } / ** * Mise en œuvre des événements d’action * / public void actionPerformed (ActionEvent e) {if(e.getSource() == startGame) {//stop le splash screen loopVar = false ; fadeOperation();} if(e.getSource() d’autre == buildComplete) {Thread t = Thread() nouveau {public void run() {loopVar = true ; gamePlay = true ; tc.gameScreen(false);}}; t.start();}} public void keyPressed (KeyEvent e) {if(e.getKeyCode() == KeyEvent.VK_SPACE & & gamePlay == true & & libéré == true) {//update une valeur booléenne qui est testée dans la boucle de jeu pour déplacer l’oiseau if(birdThrust) {//need cela s’inscrire la presse bouton et réinitialiser le birdYTracker avant l’opération de saut est terminée birdFired = true ; } birdThrust = true ; sortie = false ; } if(e.getKeyCode() d’autre == KeyEvent.VK_B & & gamePlay == false) {birdYTracker = SCREEN_HEIGHT/2 - BIRD_HEIGHT ; birdThrust hauteur de départ de //need pour réinitialiser l’oiseau = false ; //if utilisateur appuie sur espace avant la collision et une collision se produit avant d’atteindre la hauteur max, vous obtenez saut résiduelle, donc il s’agit de prévention actionPerformed (ActionEvent nouveau (startGame, -1, ""));} if(e.getKeyCode() == KeyEvent.VK_ESCAPE) {System.exit(0);}} public void keyReleased (KeyEvent e) {if(e.getKeyCode() == KeyEvent.VK_SPACE) {sorti = true;}} {} public void keyTyped (KeyEvent e) / ** * effectuer l’opération de fondu qui se déroulent avant le départ de tours * / private void fadeOperation() {Thread t = Thread() nouveau {public void run() {topPanel.remove(startGame) ; topPanel.remove(pgs) ; topPanel.revalidate() ; topPanel.repaint() ; //panel se faner JPanel temp = new JPanel() ; int alpha = 0; //alpha voie variable temp.setBackground (nouvelle couleur (0 0, 0, alpha)) ; topPanel.add(temp) de JPanel transparent, noir ; topPanel.add(pgs) ; topPanel.revalidate() ; topPanel.repaint() ; currentTime long = System.currentTimeMillis() ; while(temp.getBackground().getAlpha()! = 255) {if((System.currentTimeMillis() - currentTime) > UPDATE_DIFFERENCE/2) {si (alpha < 255-10) {alpha += 10;} else {alpha = 255;} temp.setBackground (nouvelle couleur (0, 0, 0, alpha)); topPanel.revalidate() ; topPanel.repaint() ; currentTime = System.currentTimeMillis();}} topPanel.removeAll() ; topPanel.add(temp) ; PGS = new PlayGameScreen (faux SCREEN_WIDTH, SCREEN_HEIGHT,) ; pgs.sendText("") ; supprimer le titre texte topPanel.add(pgs) ; while(temp.getBackground().getAlpha()! = 0) {if((System.currentTimeMillis() - currentTime) > UPDATE_DIFFERENCE/2) {if(alpha > 10) {alpha-= 10;} else {alpha = 0;} temp.setBackground (nouvelle couleur (0, 0, 0, alpha)); topPanel.revalidate() ; topPanel.repaint() ; currentTime = System.currentTimeMillis();}} actionPerformed (ActionEvent nouveau (buildComplete, -1, "Build terminée")) ; } }; t.Start() ; } / ** * Méthode qui exécute les mouvements graphiques de splash screen * / private void gameScreen (boolean isSplash) {BottomPipe bp1 = new BottomPipe (PIPE_WIDTH, PIPE_HEIGHT) ; Bp2 BottomPipe = new BottomPipe (PIPE_WIDTH, PIPE_HEIGHT) ; Tp1 TopPipe = new TopPipe (PIPE_WIDTH, PIPE_HEIGHT) ; TopPipe tp2 = new TopPipe (PIPE_WIDTH, PIPE_HEIGHT) ; Des oiseaux oiseaux = nouvel oiseau (BIRD_WIDTH, BIRD_HEIGHT) ; variables pour suivre les x et y image emplacements pour le bas tube int xLoc1 = SCREEN_WIDTH + SCREEN_DELAY, xLoc2 = (int) ((double) 3.0/2.0*SCREEN_WIDTH+PIPE_WIDTH/2.0)+SCREEN_DELAY ; int yLoc1 = bottomPipeLoc(), yLoc2 = bottomPipeLoc() ; int birdX = BIRD_X_LOCATION, birdY = birdYTracker ; variable destinée à contenir le début de la boucle du temps long startTime = System.currentTimeMillis() ; while(loopVar) {if((System.currentTimeMillis() - startTime) > UPDATE_DIFFERENCE) {//check si un ensemble de tuyaux a laissé l’écran //if, réinitialiser le tuyau X emplacement et assigner un nouvel emplacement Y si (xLoc1 < (0-PIPE_WIDTH)) {xLoc1 = SCREEN_WIDTH ; yLoc1 = bottomPipeLoc();} ElseIf (xLoc2 < (0-PIPE_WIDTH)) {xLoc2 = SCREEN_WIDTH ; yLoc2 = bottomPipeLoc();} //decrement les emplacements de tuyau par le prédéterminé montant xLoc1-= X_MOVEMENT_DIFFERENCE ; xLoc2 = X_MOVEMENT_DIFFERENCE ; si (birdFired & &! isSplash) {birdYTracker = birdY ; birdFired = false;} si () birdThrust & &! isSplash) {//move oiseaux verticalement si (birdYTracker - birdY - BIRD_JUMP_DIFF < BIRD_JUMP_HEIGHT) {si (birdY - BIRD_JUMP_DIFF > 0) {birdY = BIRD_JUMP_DIFF ; //coordinates différents} autre {birdY = 0; birdYTracker = birdY ; birdThrust = false;}} else {birdYTracker = birdY ; birdThrust = false;}} ElseIf ()! isSplash) {birdY += BIRD_FALL_DIFF ; birdYTracker = birdY;} //update la BottomPipe et bp1.setX(xLoc1) de TopPipe de lieux ; BP1.Sety(yLoc1) ; BP2.setX(xLoc2) ; BP2.Sety(yLoc2) ; TP1.setX(xLoc1) ; TP1.Sety(yLoc1-PIPE_GAP-PIPE_HEIGHT) ; assurer le tp1 placé au bon endroit tp2.setX(xLoc2) ; TP2.Sety(yLoc2-PIPE_GAP-PIPE_HEIGHT) ; assurer le tp2 placé au bon endroit if(!isSplash) {bird.setX(birdX) ; bird.setY(birdY) ; pgs.setBird(bird);} //set la BottomPipe et TopPipe des variables locales en PlayGameScreen par l’analyse de la pgs.setBottomPipe de variables locales (bp1, bp2) ; pgs.setTopPipe (tp1, tp2) ; Si (! isSplash & & bird.getWidth()! = -1) {//need la deuxième partie car si les oiseaux pas à l’écran, ne peuvent pas obtenir la largeur de l’image et ai erreur en cascade dans la collision updateScore (bp1, bp2, oiseaux);} //update pgs le JPanel topPanel.revalidate() ; topPanel.repaint() ; mettre à jour la variable suivi du temps après toutes les opérations terminées startTime = System.currentTimeMillis() ; }}} / ** * Calcule un int aléatoire pour le placement de la pipe bas * int * / private int bottomPipeLoc() {int temp = 0; //iterate jusqu'à ce que le temp est une valeur qui autorise les deux tuyaux être à l’écran tout en (temp < = PIPE_GAP + 50 || temp > = SCREEN_HEIGHT-PIPE_GAP) {temp = (int) ((double) Math.random()*((double)SCREEN_HEIGHT));} return temp;} / ** * méthode qui vérifie si la partition doit être mis à jour * bp1 BottomPipe premier objet * bp2 BottomPipe deuxième objet * objet oiseau oiseau * / private void updateScore (BottomPipe bp1 BottomPipe bp2, oiseau passereau) {if(bp1.getX() + PIPE_WIDTH < bird.getX() & & bp1.getX() + PIPE_WIDTH > bird.getX() - X_MOVEMENT_DIFFERENCE) {pgs.incrementJump();} else if(bp2.getX() + PIPE_WIDTH < bird.getX() & & bp2.getX() + PIPE_WIDTH > bird.getX() - X_MOVEMENT_DIFFERENCE) {pgs.incrementJump();}}}

Enfin, dans cette étape, nous terminons le code pour la classe PlayGameScreen. Pour conclure cela, nous créer un objet global de la Bird, ajouter une variable globale qui suit le score, créer une variable globale pour la largeur du texte score, ajouter quelques lignes de code dans la méthode paintComponent et créer trois méthodes simples.

Dans paintComponent, nous ajoutons l’instruction conditionnelle pour vérifier si nous ne sommes plus sur l’écran de démarrage et de s’assurer que l’oiseau n’est pas null. S’il est convaincu, nous attirons l’objet de l’oiseau. Dans le bloc try-catch, assignez scoreWidth selon le score actuel à l’aide de FontMetrics. Enfin, si nous ne sommes pas sur l’écran de démarrage, dessiner le nombre de sauts réussis à l’écran.

Nous créons maintenant trois méthodes simples. Tout d’abord, setBird définit l’objet de l’oiseau au sein de PlayGameScreen, incrementJump incrémente la variable globale saut et getScore retourne le nombre de sauts réussis (aucune fonctionnalité dans ce jeu).

			
          

Articles Liés

Arduino Bi-color LED Matrix Flappy oiseau jeu basé

Arduino Bi-color LED Matrix Flappy oiseau jeu basé

Nous avons construit un certain projets en utilisant les kits Bi-color (rouge et vert) LED Matrix Module pilote de jolliFactory et ont publié leur comme instructables ici. Chacun de ces modules utilise deux MAX7219 Display Driver ICs pour piloter une
Flappy oiseau Hat

Flappy oiseau Hat

Flappy est un mobile jeu (développé en 2013) dont le but est d'avoir l'utilisateur de naviguer dans un animation oiseau à voler entre tubes verts sans frapper. Plus le score et les tuyaux plus que l'oiseau a traversé le « mieux » le joueur a fait.Cap
Flappy oiseau Valentin Pop Up Card comment (Valentin Flappy) Kirigami 3D !

Flappy oiseau Valentin Pop Up Card comment (Valentin Flappy) Kirigami 3D !

Une carte de Saint Valentin rapide j'ai fait basé sur le populaire jeu Flappy oiseau.Partager sur FACEBOOK : http://on.fb.me/15TrVYfTWEET : http://bit.ly/15Ts5P6REDDIT : http://bit.ly/16qHt5LTUMBLR : http://bit.ly/10K8fhzTélécharger le modèle gratuit
Comment faire pour installer sur Android, flappy oiseau sans jamais avoir il initialement

Comment faire pour installer sur Android, flappy oiseau sans jamais avoir il initialement

maintenant qu'il n'ya pas de nombreux oiseaux flappy instructables déployés j'ai décidé de poster comment obtenir Flappy oiseau sans jamais le télécharger avant qu'elle a été prise vers le bas.Étape 1: Choses nécessaires Un ordinateur, une prise de U
KeyChainino - le premier jeu trousseau Programmable avec Arduino

KeyChainino - le premier jeu trousseau Programmable avec Arduino

KeyChainino est un porte-clef jeu vintage programmable avec Arduino , où n'importe qui peut télécharger son propre jeu juste avec l'IDE Arduino.Si vous aimez vraiment le jeu d'Arcade, KeyChainino est fait pour vous !Il ne dispose pas des écrans LCD,
Java programmation Part2(Text and running)

Java programmation Part2(Text and running)

Dans votre java.java, vous devriez avoir le code-public class java {}Public Shared Sub main (String args[]) {}}}Donc si nous voulons rendre les programmes java, nous devons le texte et le code pour une simple ligne de texte est-System.out.println ("B
Flappy oiseau plume

Flappy oiseau plume

oiseaux Flappy est devenu un jeu célèbre dans le monde entier. Bien qu'il soit hors de l'app store (déchirure), j'ai toujours voulu faire ce tutoriel pour les gens qui ont cette et stipl plaira beaucoup ! J'espère que vous apprécierez !Une fille dans
Unity 3D jeu vidéo tutoriel

Unity 3D jeu vidéo tutoriel

Comme la plupart des joueurs, nous avons toujours rêvé de faire un jeu vidéo, mais nous avons supposé qu'il serait une tâche extrêmement difficile à accomplir. De nos jours, cependant, avec des programmes comme l'unité et la puissance de l'Internet,
Créer des GPA Calculator dans Application Java programme

Créer des GPA Calculator dans Application Java programme

créer GPA Calculator dans le programme d'Application JavaLe but de ce jeu d'instructions est comment calculer votre GPA au cours du semestre. Votre GPA (Grade Point Average) le calcul est simple et essentiel. Il est important pour évaluer votre améli
Flappy oiseau en ligne!!!

Flappy oiseau en ligne!!!

oiseaux flappy est probablement le meilleur jeu de mondes que tout a été supprimé sur l'App Store. Si vous n ' t Télécharger le jeu dans le temps ou accidentellement supprimé il utiliser ce quik et facile trick à donload il gratuite. Il fonctionne mê
Comment gagner Flappy oiseaux chaque fois

Comment gagner Flappy oiseaux chaque fois

oiseaux Flappy, un jeu populaire inexplicablement, est bien que par beaucoup d'être aussi incroyablement dur. Mais, ils sont tout faux. Avec ce guide vos jours de cotation moins 100 puis sont plus. Une médaille de platine sera que rien comparé aux sc
Java programmation - intérêts composés

Java programmation - intérêts composés

Bonjour dans ce Instructable je va vous montrer comment créer un programme Java qui calcule l'intérêt appliqué au principal déposé au cours du temps.  Avant de commencer ce Instructable vous aurez besoin des choses :1. un ordinateur de bureau/portabl
Java programmation 2 | Comment travailler avec Eclipse (Java)

Java programmation 2 | Comment travailler avec Eclipse (Java)

Aujourd'hui, nous allons apprendre comment faire un projet dans Eclipse et comment utiliser Java ! Vous devez télécharger Eclipse (https://eclipse.org/downloads/) et Java (https://www.java.com/download/).Étape 1: Faire un dossier !La première étape c
Java programmation Part1 (configuration Eclipse)

Java programmation Part1 (configuration Eclipse)

Avant de commencer programmation java nous devons mettre en place un ide java. Il s'appelle eclipse, vous pouvez le télécharger ici.Étape 1: Création d'un projetMaintenant que vous avez téléchargé d'éclipse, il faut créer un projet java. Nommez-le ja