main.go 997 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. package main
  2. import (
  3. "fmt"
  4. "log"
  5. "os"
  6. "path/filepath"
  7. )
  8. func main() {
  9. c := &Catalog{}
  10. _, err := os.Stat("content")
  11. if err != nil {
  12. os.Mkdir("content", 0775)
  13. _, err = os.Stat(filepath.Join("content", "tiles"))
  14. if err != nil {
  15. os.Mkdir(filepath.Join("content", "tiles"), 0775)
  16. }
  17. err = c.MakeTemplate(filepath.Join("content", "tiles", "0_template.json"))
  18. if err != nil {
  19. log.Printf("MakeTemplate: %v", err)
  20. return
  21. }
  22. }
  23. err = c.LoadTiles(filepath.Join("content", "tiles"))
  24. if err != nil {
  25. log.Printf("LoadTiles: %v", err)
  26. return
  27. }
  28. fmt.Printf("Tiles: %d\n", len(c.Tiles))
  29. for idx, t := range c.Tiles {
  30. switch t.Type() {
  31. case BasicTile:
  32. fmt.Printf(" %3d %-30s (1) %s\n", idx, t.Name(), t.Symbol())
  33. case AnimatedTile:
  34. symbols := ""
  35. for range make([]byte, t.Len()) {
  36. if symbols == "" || symbols != t.Symbol() {
  37. symbols += t.Symbol()
  38. }
  39. t.Next()
  40. }
  41. fmt.Printf("A %3d %-30s (%d) %s\n", idx, t.Name(), t.Len(), symbols)
  42. }
  43. }
  44. }