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 :

Puissance 4 affichage couleur


Sujet :

Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2014
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2014
    Messages : 5
    Par défaut Puissance 4 affichage couleur
    Bonsoir tout le monde !

    Je suis tout nouveau sur ce forum, et je débute en informatique. En effet étudiant à l'insa nous avons eu un projet en info pour coder un puissance 4 sous Java. Et nous avons réussi, le code source est en pièce jointe. Seulement nous voulons le parfaire et nous souhaiterons afficher des croix et ronds de couleurs, ou des pions de couleurs car pour l'instant nous n'avons que des x et o en affichage dans le terminal. Est ce possible ? Comment parvenir à attribuer une couleur à un caractère ?

    Attention mon niveau de compréhension en informatique est bas, ce n'est pas ce qui me passionne, mais je m'y intéresse
    P4.javaNom : jeu puissance 4 aperçu.png
Affichages : 982
Taille : 143,9 Ko

    Merci d'avance

  2. #2
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Billets dans le blog
    2
    Par défaut
    Salut,

    Sous linux, c'est possible en utilisant les Ansi Escape Sequence. Sous Windows, c'est possible de rendre la console compatible avec un petit soft, comme indiquée sur la page wikipedia.

    Ces séquences sont des chaînes de caractères sous la forme : CARACTERE ESCAPE, suivi de [, suivi de COLOR, suivi de m, ou COLOR est un code de couleur (voir page wikipedia). En java, tu peux faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    System.out.format( "%c[%dm%s",27,codeCouleur,leTexteAAfficher);
    par exemple (ou codeCouleur est un int
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  3. #3
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2014
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2014
    Messages : 5
    Par défaut
    nous avons donc ceci pour la ligne de code ?

    if (t%2==0) { m[6-i][j]="x";} //[6-v[j]] permet de commencer à la ligne du bas
    else { m[6-i][j]="o";}
    System.out.format( "%c[%dm%s",27,(255,0,0),x);
    System.out.format( "%c[%dm%s",27,(255,255,0),o);
    affichage(m);

    merci en tout pour toute l'attention

  4. #4
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2014
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2014
    Messages : 5
    Par défaut
    Citation Envoyé par joel.drigo Voir le message
    Salut,

    Sous linux, c'est possible en utilisant les Ansi Escape Sequence. Sous Windows, c'est possible de rendre la console compatible avec un petit soft, comme indiquée sur la page wikipedia.

    Ces séquences sont des chaînes de caractères sous la forme : CARACTERE ESCAPE, suivi de [, suivi de COLOR, suivi de m, ou COLOR est un code de couleur (voir page wikipedia). En java, tu peux faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    System.out.format( "%c[%dm%s",27,codeCouleur,leTexteAAfficher);
    par exemple (ou codeCouleur est un int
    nous avons donc ceci pour la ligne de code ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    if (t%2==0) { m[6-i][j]="x";} //[6-v[j]] permet de commencer à la ligne du bas
    else { m[6-i][j]="o";}
    System.out.format( "%c[%dm%s",27,(255,0,0),x);
    System.out.format( "%c[%dm%s",27,(255,255,0),o);
    affichage(m);
    merci en tout pour toute l'attention

  5. #5
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Billets dans le blog
    2
    Par défaut
    Non, le wikipedia indique bien que les codes couleurs ne sont pas des codes rgb (qui ne compilerait pas en java d'ailleurs tel que tu l'as écrit, sous forme de triplet): ce sont des int. Le code est un nombre qui vaut 30 + x pour le foreground et 40 + x pour le background, ou x est un code de couleur de 0 à 7. Et les chaines de caractères en java, ça se met entre ".

    Et, comme je suppose que affichage(m) fait l'affichage de la grille en entier, il faut modifier cette méthode (ou alors construire directement la chaîne par concaténation (et ne plus utiliser format()) pour la mettre dans m[i][j])
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  6. #6
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2014
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2014
    Messages : 5
    Par défaut
    Citation Envoyé par joel.drigo Voir le message
    Non, le wikipedia indique bien que les codes couleurs ne sont pas des codes rgb (qui ne compilerait pas en java d'ailleurs tel que tu l'as écrit, sous forme de triplet): ce sont des int. Le code est un nombre qui vaut 30 + x pour le foreground et 40 + x pour le background, ou x est un code de couleur de 0 à 7. Et les chaines de caractères en java, ça se met entre ".

    Et, comme je suppose que affichage(m) fait l'affichage de la grille en entier, il faut modifier cette méthode (ou alors construire directement la chaîne par concaténation (et ne plus utiliser format()) pour la mettre dans m[i][j])

    Bonsoir,

    Désolé du retard pour les nouvelles. Finalement nous avons réussi à mettre notre puissance 4 en couleur grâce à la ligne de code donnée System.out.format( "%c[%dm%s",27, 36,"");. Cependant nous ne savons pas à quoi correspond 27, cela intervient-il sur l'affichage ? si oui comment ? Encore merci pour l'attention

  7. #7
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Billets dans le blog
    2
    Par défaut
    C'est le code ascii/utf8 du caractère ESCAPE (27 en décimal, 033 en octal, 1B en héxadecimal...) (voir syntaxe des Ansi Escape Sequence).
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

Discussions similaires

  1. Réponses: 6
    Dernier message: 11/05/2009, 15h36
  2. probleme affichage couleur formulaire php
    Par maxeur dans le forum Mise en page CSS
    Réponses: 4
    Dernier message: 29/01/2008, 08h59
  3. fonction affichage couleur
    Par dark0502 dans le forum C
    Réponses: 2
    Dernier message: 02/12/2007, 10h30
  4. Définition Style pour affichage couleur
    Par jiroben dans le forum iReport
    Réponses: 8
    Dernier message: 12/07/2007, 17h25
  5. [css] [xhtml] affichage couleur fond de page
    Par TERRIBLE dans le forum Mise en page CSS
    Réponses: 12
    Dernier message: 30/12/2005, 13h06

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