Skip to content

Latest commit

History

11 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

L-System

L-System Image generator using Doodle library. Example generated images are in here.

Sample Language and Interpreter

importalgebra._importdoodle.turtle._importdoodle.turtle.Instruction._importdoodle.syntax._importDraw._objectImplicits {
objectGeneratorextendsSequenceGenerator[Language]
implicitvalrule:ProductionRule[Language] = {
caseA=>List(B, TurnLeft, A, TurnLeft, B)
caseB=>List(A, TurnRight, B, TurnRight, A)
caseTurnLeft=>List(TurnLeft)
caseTurnRight=>List(TurnRight)
}
implicitvaldrawer:Drawer[Language] =newDrawer[Language] {
overridedefconvert:List[Language] =>List[Instruction] = _.flatMap {
caseA=>List(forward(5))
caseB=>List(forward(5))
caseTurnLeft=>List(turn(-60.degrees))
caseTurnRight=>List(turn(60.degrees))
}
}
}
objectRunnerextendsApp {
overridedefmain(args: Array[String]):Unit= {
importImplicits._valdata=Generator.sequenceNumber(List(A, B), 10)
drawer.convert(data).draw
}
}

About

No description, website, or topics provided.

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages