Munching squares: Difference between revisions
Content added Content deleted
(Simpler D entry) |
(Go solution) |
||
Line 109: | Line 109: | ||
main = Data.ByteString.writeFile "out.pgm" (pack (fmap (fromIntegral . fromEnum) "P5\n256 256\n256\n" ++ [x `xor` y | x <- [0..255], y <- [0..255]])) |
main = Data.ByteString.writeFile "out.pgm" (pack (fmap (fromIntegral . fromEnum) "P5\n256 256\n256\n" ++ [x `xor` y | x <- [0..255], y <- [0..255]])) |
||
</lang> |
</lang> |
||
=={{header|Go}}== |
|||
<lang go>package main |
|||
import ( |
|||
"image" |
|||
"image/png" |
|||
"os" |
|||
) |
|||
func main() { |
|||
g := image.NewGray(image.Rect(0, 0, 256, 256)) |
|||
for i := range g.Pix { |
|||
g.Pix[i] = uint8(i>>8 ^ i) |
|||
} |
|||
f, _ := os.Create("xor.png") |
|||
png.Encode(f, g) |
|||
f.Close() |
|||
}</lang> |
|||
=={{header|Icon}} and {{header|Unicon}}== |
=={{header|Icon}} and {{header|Unicon}}== |