notekeeper.py 841 B

12345678910111213141516171819202122232425262728293031323334
  1. #!/bin/python3
  2. import os
  3. if os.path.exists("notenogram.sav"):
  4. datasize = 18*3
  5. bitindex = 0
  6. savefile = open("notenogram.sav", "rb").read(datasize)
  7. datafile = open("notekeeper_output", "w")
  8. print("save found!")
  9. for i in range(3):
  10. while bitindex < datasize:
  11. puzzleindex = "constexpr bn::array<bool, 144> NotekeeperPuzzle_{}\n"
  12. datafile.write(puzzleindex.format(i))
  13. datafile.write(" {\n")
  14. for number in range(18):
  15. byterow = " "
  16. byte = savefile[bitindex]
  17. for bit in range(8):
  18. bitstring = "{}, "
  19. if bit == 7:
  20. if number == 17:
  21. bitstring = "{}\n"
  22. else:
  23. bitstring += "\n"
  24. byterow += bitstring.format((byte >> bit) & 1)
  25. datafile.write(byterow)
  26. bitindex += 1
  27. datafile.write(" };\n\n")
  28. datafile.close()
  29. print("puzzles converted!")
  30. else:
  31. print("save not found!")