Estoy usando numpy para inicializar una matriz de píxeles en un tablero de damas gris (la representación clásica de "sin píxeles", o transparente). Parece que debe haber una manera whizzy hacerlo con la numpy asignación increíble variedad/rebanar/operaciones de corte en dados, pero esto es lo mejor que he llegado con:¿Cómo hacer un tablero de ajedrez en numpy?
w, h = 600, 800
sq = 15 # width of each checker-square
self.pix = numpy.zeros((w, h, 3), dtype=numpy.uint8)
# Make a checkerboard
row = [[(0x99,0x99,0x99),(0xAA,0xAA,0xAA)][(i//sq)%2] for i in range(w)]
self.pix[[i for i in range(h) if (i//sq)%2 == 0]] = row
row = [[(0xAA,0xAA,0xAA),(0x99,0x99,0x99)][(i//sq)%2] for i in range(w)]
self.pix[[i for i in range(h) if (i//sq)%2 == 1]] = row
Funciona, pero esperaba para algo más simple.
no tengo ningún respeto aquí, pero esto es correcto. http://telliott99.blogspot.com/2010/01/heres-question-on-so-about-how-to-make.html – telliott99
Esto no crea una matriz del tamaño correcto, aunque parece que expandió tu respuesta en tu publicación de blog. ¡Pero no podemos votar la publicación del blog! :) Sheesh! –