项目作者: clarenceb

项目描述 :
Starting point for running a Go lang dojo using TDD to implement a basic Logo interpreter
高级语言: Go
项目地址: git://github.com/clarenceb/tdd_go_logo.git
创建时间: 2015-02-03T11:29:29Z
项目社区:https://github.com/clarenceb/tdd_go_logo

开源协议:MIT License

下载


TDD Go Logo

This project is an idea for a TDD exercise in using Go. It is pretty bare. You need to implement the real code!

Idea:

Create a basic Logo interpreter in Go lang. It can just be a small subset of the language like:

  1. forward <pixels>
  2. right <deg>
  3. left <deg>
  4. penup
  5. pendown

See ACSLogo For Mac OS X as a real Logo implementation and to compare your output. ACSLogo’s help menu is a handy reference for Logo commands and usage.

Sample usage:

  1. ./tdd_go_logo <my_logo_file>

It will output the results to a PNG file.

To keep things simple, its not interactive and just outputs to a file.

The draw2d package can be used as an library to draw to an image.

See Samples for example code using the draw2d package.

Setup:

  1. Install Go lang and set your GOPATH environment variable

  2. Install the pre-requisite library freetype-go:

    go get code.google.com/p/freetype-go/freetype

  3. Install the draw2d package:

    go get code.google.com/p/draw2d/draw2d

  4. Run the example starting app:

    go build

    ./tdd_go_logo draw_square.txt

  5. Check the resulting image:

    open Logo-output.png

  6. Start TDDing your tests for the real implementation!

You can use the built-in testing package or something like goconvey.

Extensions:

  • Display results in a window rather than a file
  • Interactive use
  • Support more Logo commands