De façon compacte pour générer motif en damier
J'ai besoin de générer un motif en damier pour un jeu que je suis en train de créer. Je viens de (pseudo -) code, mais se sentent il doit y avoir une façon plus compacte pour ce faire. Toutes les suggestions sont les bienvenues!
for (int i = 1; i < 9; i++){
for (int j = 1; j < 9; j++){
if (i % 2 == 1){
if (j % 2 ==1){
color = white
}
if (j % 2 ==0){
color = black
}
}
if (i % 2 == 0){
if (j % 2 ==1){
color = black
}
if (j % 2 ==0){
color = white
}
}
id = (i-1)*8+j
}//end inner for
}//end outer for
Grâce.
OriginalL'auteur vaniaspeedy | 2013-06-24
Vous devez vous connecter pour publier un commentaire.
Me met une alternance de couleur de la grille pour tout x/y coord dans une grille. Génial!
OriginalL'auteur Teepeemm
Je pense que si vous échangez des couleurs après chaque fois que vous dessinez quelque chose, qui doit accomplir cette tâche.
par exemple.
Doivent aller, pour une impaires conseil
par exemple.
3x3
Vous avez raison... il ne fonctionnera pas pour les paires de planches. Teepeemm est la meilleure solution 🙂
OriginalL'auteur Ren
Je voudrais utiliser un enum avec un successeur méthode. Ensuite, vous pouvez initialiser comme suit:
Ici est la Couleur enum:
OriginalL'auteur Erik Madsen
Une solution générique où vous pouvez choisir le nombre de pixels pour un carré de côté, et le nombre total de carrés sur le damier à ses côtés.
OriginalL'auteur Timmos
one-liner
sortie
Ne pas envelopper vos lignes n'est pas de l'optimiser; il a encore une certaine inefficacité
La question d'origine, c'est trouver une façon plus compacte pour ce faire, non plus de manière optimale. String{Tampon|Constructeur} sont beaucoup mieux pour cela.
OriginalL'auteur Jiri Kremser
Passer par toutes les tuiles, et si ils sont tous les deux même ou les deux impairs (c (1,1), (1,3) et... (2,2) (2,4) (2,6)... et (3,1) (3,3) (3,5) ... etc), puis le faire en une seule couleur, d'utiliser autrement les autres couleurs
Exemple:
Vous découvrez les indices où les couleurs sont tout noir ici et vous verrez que dans tous ces cas, X et Y sont soit à la fois étrange, ou les deux, même.
Aussi, pas sûr de ce que exactement à votre
id = (i-1)*8+j
ligne est censé faireOuais, il fixe, j'ai changé mon code de test dans eclipse et réfléchie que dans mon explication, mais je n'ai jamais fixé dans le code ici avant de poster 😛 Devrait être bon maintenant
L'ID est les tuiles de numérotation de 1 à 64.
En fait, je pense que c'est censé être de 1 à 8 pour x,y (combiné est effectivement de 1 à 64)
OriginalL'auteur Alex Coleman