Bonjour les Developpezeurs, Voici mon tout premier post
J'ai commencé Java il y a une semaine ( ou peut etre deux...), j'ai appris le C/C++ quand j'étais plus jeune, puis jai eu la chance de retomber dessus en cours et donc je connais (un peu) la programmation (je m etais arrêté aux fonctions).
Je me suis lancé dans Java et apres plusieurs exercices j'ai eu envi de faire quelque chose d'un peu personnel.
Un jeu a boire :
Donc le concept est repris d'un jeu de carte, vous tirez chacun votre tour une carte et celle-ci correspond à un acte à faire ou un truc à boire enfin ca on s'en fiche.
Je ne suis pas encore bon en POO donc ce que je vais demander c'est:
- Est-ce que je m'y prend bien (ma création de classe est elle bonne) ?
- Ma methode de tri est elle bonne (j'en doute) ?
- J'ai un problème avec le return d'array dans une fonction et l'utilisation de cet array retourné pour une autre fonction.
STRUCTURE :
drinkgame (Main)
Cartes (class)
drinkgame : s'occupe de lancer Cartes et de faire passer les tours
Cartes : s'occupe d'initialiser un tas de carte (array) de le trier et de le basculer dans un autre array (est ce une bonne idée?)
Cartes aura egalement une fonction piocherUneCarte pour chaque tours.
CODE :
Donc moin Main :
Celui-ci n'est pas fini mais je pense qu'il appelera juste ma class carte pour l'initialiser et ensuite piocher des cartes
Etant aussi peu utile... est ce vraiment interressant de faire une class Carte ou ne devrais je pas plutot tout mettre dans le main ?
drinkgame MAIN :
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 import java.util.Scanner; public class drinkgame { public static void main(String[] args) { int numOfCard = 30; // nombre de carte 30 Pour tester int i,y; // en cas de besoin pour les boucles :) Scanner sc = new Scanner(System.in); String reponse = new String(); Cartes cards = new Cartes(numOfCard); // on creer un packet for (i = 0; i < numOfCard ; i++) { piocherUneCarte(carte[i]); // on pioche une carte ************************** Est ce une bonne facon de faire ? ********************** System.out.println("Voulez vous repiocher une carte ? Entrer" ) reponse = sc.nextline(); } }
Classe Cartes :
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
49
50
51
52
53
54
55 public class Cartes { public int numOfCard; // Valeur d initiation des cartes public int i =0; //****************************************** CONSTRUCTEUR ************************************************************** public Cartes(int numOfCard){ this.numOfCard = numOfCard; this.inititPacket(); // JE NE SUIS PAS DU TOUT SURE DE trierCartes(carte); // CES DEUX LIGNES Là } // ***************************************** INITIALISATION DU PACKET ************************************************** public int[] inititPacket(){ int carte[] = {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}; // J'ai fais ce pacquet juste pour exemple je voulais voir si mon code tirait deux fois la meme carte return carte; } // ***************************************** TRIAGE DU PACKET ********************************************************** public int[] trierCartes(int[] carte){ // QUE PENSEZ VOUS DE CETTE LIGNE ? boolean tirage[] = new boolean[numOfCard]; int carteTrie[] = new int[numOfCard]; Random rn = new Random(); for(i=0; i < numOfCard ; i++){ // LE PB DE CE FOR c'est que il ne tombera pas sur toutes les cartes et il reste donc des cases vide dans mon packettrier... int aleatoir = rn.nextInt(numOfCard); if (tirage[aleatoir]) { System.out.println(carte[aleatoir]); // test pour visionner (A SUPPRIMER QUAND PROGRAMME FINI) tirage[aleatoir]=false; carteTrie[i] = carte[aleatoir]; // NOUVEAU TAS TRIER } } for(int z = 0; z < carteTrie.length ; z++){ // AFFICHER LE TAS (A SUPPRIMER QUAND PROGRAMMME FINI) System.out.print(carteTrie[z] +","); } return carteTrie; // On retourne la packet trier } // ********************************************** PIOCHER UNE CARTE ********************************************* public int piocherUneCarte(int[] carte){ return null; // PAS ENCORE FAIT } // FIN }
Bon il n'y a pas de caractere d'urgence donc si quelqu'un a le temps de jeter un oeil, un grand merci. J'espere avoir posté au bon endroit. J'ai cherché sur plusieurs sites comment faire et j'ai fini par me dire que finalement je devrais trouver la réponse, je pense avoir une bonne piste mais je pense qu'il suffit d'un petit quelque chose pour débloquer mon triage.
Puis pour la structure de mon programme, je débute la POO donc si vous pouviez me conseiller...
Merci les developpezeurs![]()
Partager