Le message qui suit est une réponse automatique activée par un membre de l'équipe. Les réponses automatiques leur permettent d'éviter d'avoir à répéter de nombreuses fois la même chose, ce qui leur fait gagner du temps et leur permet de s'occuper des sujets qui méritent plus d'attention. Nous sommes néanmoins ouverts et si vous avez une question ou une remarque, n'hésitez pas à contacter la personne en question par Message Privé. Pour plus d'informations, nous vous invitons à lire les règles générales du forum
Manque de précisions
Vous êtes ici sur un forum d'entraide communautaire et non pas sur un forum de demande de service, le but n'est donc pas de fournir une réponse toute faite ou de directement fournir la solution à quiconque viendrait sans la moindre trace. Afin d'obtenir de l'aide et une solution à votre problème, il est fortement recommandé de présenter clairement l'état actuel du problème en nous fournissant :
Un descriptif clair et précis du problème
La tentative actuelle de résolution que vous avez effectué : le code HTML et JS
Le résultat attendu et le résultat actuel : un schéma serait pertinent
Toutes pistes de recherches pouvant aider à la résolution
Merci de colorer votre code à l'aide du bouton Code
Les forums d'Openclassrooms disposent d'une fonctionnalité permettant de colorer et mettre en forme les codes source afin de les rendre plus lisibles et faciles à manipuler par les intervenants. Pour cela, il faut utiliser le bouton de l'éditeur, choisir un des langages proposés et coller votre code dans la zone prévue.
Merci de modifier votre message d'origine en fonction.
Mauvais titre
Le titre est un élément important qui ne doit pas être négligé. N'oubliez pas cette règle simple : le titre idéal résume la question que vous allez poser en une petite phrase. Il doit permettre aux visiteurs de se repérer facilement dans le forum visité et d'identifier le sujet à sa seule lecture.
Vous pouvez utiliser divers préfixes comme [Erreur], [MySQL], [Compatibilité], etc... Aussi, pensez à consulter les règles propres à chaque forum (visibles dans les topics épinglés en haut des sections).
De plus, choisir un bon titre permet de rendre plus faciles les recherches des autres membres.
Les titres de type "besoin d'aide" ou "problème" ne sont pas tolérés.
Merci de modifier votre titre. Pour cela, éditez le premier message de votre sujet.
(titre originel : Problème avec canvas)
Pas d'aide concernant le code par MP, le forum est là pour ça :)
Je code actuellement un jeu utilisant Canvas JS, et la méthode filter, appliquée sur un tableau d'objets .
Toutefois, le résultat est vraiment inattendu, j'aurais besoin d'avis complémentaires et de conseils pour aboutir au résultat escompté . Le but était d'obtenir 2 jeux de pions l'un marron, l'autre blanc, chacun à une extrémité du terrain de jeu . Comme on peut le voir sur l'image jointe, il y a troute une zone qui se colore avec canvas, alors que ça ne devrait pas . Auriez vous des conseils , des avis . Merci .
"Il est possible que vous ayez oublié de fermer le path créé par ctx.arc() entre chaque pion,
ce qui peut causer un effet de remplissage "entrelacé" entre les pions.
Assurez-vous d'utiliser ctx.beginPath() avant de dessiner chaque pion et ctx.closePath() après pour fermer le path.
Il est également possible que vous utilisiez la même variable pour stocker les fillStyle pour les deux séries de pions, ce qui cause l'utilisation d'une seule couleur pour tous les pions.
Assurez-vous d'utiliser une variable différente pour stocker la couleur de chaque série de pions.
Sinon, il est difficile de comprendre exactement où se situe le problème sans avoir accès au code complet.
Si vous avez encore des problèmes, n'hésitez pas à fournir plus de détails sur votre code et je pourrai vous aider à résoudre le problème."
Un exemple de code qui désine des pion de dames:
class Pion {
constructor(x, y, couleur) {
this.x = x;
this.y = y;
this.couleur = couleur;
}
dessine(ctx) {
ctx.beginPath();
ctx.arc(this.x, this.y, 20, 0, 2 * Math.PI);
ctx.fillStyle = this.couleur;
ctx.fill();
ctx.closePath();
}
}
const canvas = document.getElementById("canvas");
const ctx = canvas.getContext("2d");
const pionsNoirs = [
new Pion(50, 50, "black"),
new Pion(100, 50, "black"),
new Pion(150, 50, "black"),
new Pion(200, 50, "black"),
new Pion(250, 50, "black"),
new Pion(300, 50, "black"),
new Pion(350, 50, "black"),
new Pion(400, 50, "black"),
];
const pionsBlancs = [
new Pion(50, 400, "white"),
new Pion(100, 400, "white"),
new Pion(150, 400, "white"),
new Pion(200, 400, "white"),
new Pion(250, 400, "white"),
new Pion(300, 400, "white"),
new Pion(350, 400, "white"),
new Pion(400, 400, "white"),
];
pionsNoirs.forEach((pion) => pion.dessine(ctx));
pionsBlancs.forEach((pion) => pion.dessine(ctx));
Position des pions a adapter en fonction des dimensions du Canvas évidement.
Réponse et code générer par ChatGPT.
- Edité par SamuelGaborieau3 29 janvier 2023 à 3:36:25
Merci pour votre réponse, je vais essayer de recoder en suivant vos conseil .
Si ça ne fonctionne pas, il me semble que le mieux serait que je propose un dépôt GIT
Problème avec canvas
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
Pas d'aide concernant le code par MP, le forum est là pour ça :)
suggestion de présentation.