<commit_before>{my} = require '../my'
{vector} = require '../god/vector'

SCALE = my.cell_width

exports.game = {
  name: "The Hour of Node"

  # Geometry
  screen: my.page_dimensions
  width: my.page_dimensions[vector.size.width]
  fill: 'white'
  name_style: {font_size: 36}
  
  grid_size: my.column_1_width
  cell_count: 8
  cell_size: (world) -> world.get('grid_size') / world.get('cell_count')
  goal: {
    clicks: 0
    ticks: 0
    bricks: 0
  }

  language: {
    # String of operation, key, number
    forward: ['call', 'go', vector.to.front].join " "
    reverse: ['call', 'go', vector.to.back].join " "
    left:    ['call', 'turn', vector.to.left ].join " "
    right:   ['call', 'turn', vector.to.right].join " "
    idle:    ['call', 'go', 0].join " "
  }

  shapes: {
    turtle: [
      "M37,#{SCALE} l7,-21 a1,2 0 1,0 -7,21z m-7,0m7,0 l7,21 a1,2 0 1,1 -7,-21z m-7,0m-7,0 l7,-21 a1,2 0 1,0 -7,21z m7,0m-7,0 l7,21 a1,2 0 1,1 -7,-21z m7,0m17.5,0 a3,2 0 0,0 14,0 a3,2 0 0,0 -14,0 z m-24.5,0"
      "M10,#{SCALE} a3,2 0 1,0 42,0 a3,2 0 1,0 -42,0z"
    ]
  }

  levels: [
    {
      name: 'Move the Turtle to the Exit'
      sprites: [
        {
          name: 'me'
          shape: 'turtle'
          position: [0,0]
          color: 'limegreen'
          behavior: {first: [], repeat: ['forward']}
          editable: true
        }
      ]
    }
  ]
}<commit_msg>add TODO<commit_after>{my} = require '../my'
{vector} = require '../god/vector'

SCALE = my.cell_width

exports.game = {
  name: "The Hour of Node"

  # Geometry
  screen: my.page_dimensions
  width: my.page_dimensions[vector.size.width]
  fill: 'white'
  name_style: {font_size: 36}
  
  grid_size: my.column_1_width
  cell_count: 8
  cell_size: (world) -> world.get('grid_size') / world.get('cell_count')
  goal: {
    clicks: 0
    ticks: 0
    bricks: 0
  }

  # TODO: rename as behavior
  # have sprite behavior extend this
  # bind words at run-time
  language: {
    # String of operation, key, number
    forward: ['call', 'go', vector.to.front].join " "
    reverse: ['call', 'go', vector.to.back].join " "
    left:    ['call', 'turn', vector.to.left ].join " "
    right:   ['call', 'turn', vector.to.right].join " "
    idle:    "call go 0"
  }

  shapes: {
    turtle: [
      "M37,#{SCALE} l7,-21 a1,2 0 1,0 -7,21z m-7,0m7,0 l7,21 a1,2 0 1,1 -7,-21z m-7,0m-7,0 l7,-21 a1,2 0 1,0 -7,21z m7,0m-7,0 l7,21 a1,2 0 1,1 -7,-21z m7,0m17.5,0 a3,2 0 0,0 14,0 a3,2 0 0,0 -14,0 z m-24.5,0"
      "M10,#{SCALE} a3,2 0 1,0 42,0 a3,2 0 1,0 -42,0z"
    ]
  }

  levels: [
    {
      name: 'Move the Turtle to the Exit'
      sprites: [
        {
          name: 'me'
          shape: 'turtle'
          position: [0,0]
          color: 'limegreen'
          behavior: {first: [], repeat: ['forward']}
          editable: true
        }
      ]
    }
  ]
}
{'fraction_non_alphanumeric': 0.17848324514991182, 'fraction_numerical': 0.07901234567901234, 'mean_word_length': 2.2300683371298406, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 5, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '2850229', 'n_tokens_mistral': 1305, 'n_tokens_neox': 1201, 'n_words': 284}