Sierpinski triangle/Graphical: Difference between revisions
Content added Content deleted
(added FreeBasic) |
(Kotlin snippet) |
||
Line 560: | Line 560: | ||
=={{header|Java}}== |
=={{header|Java}}== |
||
'''Solution:''' |
'''Solution:''' |
||
<lang java> |
<lang java>import javax.swing.*; |
||
⚫ | |||
import java.awt.*; |
import java.awt.*; |
||
Line 618: | Line 617: | ||
drawSierpinskyTriangle(level-1, x, y+size/2, size/2, g); |
drawSierpinskyTriangle(level-1, x, y+size/2, size/2, g); |
||
} |
} |
||
⚫ | |||
=={{header|Kotlin}}== |
|||
'''From Java code:''' |
|||
⚫ | |||
import java.awt.* |
|||
fun main(args: Array<String>) |
|||
{ |
|||
var i = 8 // Default |
|||
if (args.size() >= 1) |
|||
try |
|||
{ |
|||
i = Integer.parseInt(args[0]) |
|||
} |
|||
catch (e: NumberFormatException) |
|||
{ |
|||
println("Usage: 'java SierpinskyTriangle [level]'\nNow setting level to $i") |
|||
} |
|||
val size = 800 |
|||
val panel = object : JPanel() |
|||
{ |
|||
init { preferredSize = Dimension(size, size) } |
|||
public override fun paintComponent(g: Graphics) |
|||
{ |
|||
g.color = Color.BLACK |
|||
val level = i |
|||
SierpinskyTriangle.drawSierpinskyTriangle(level, 20, 20, size - 40, g as Graphics2D) |
|||
} |
|||
} |
|||
val frame = JFrame("Sierpinsky Triangle - Java") |
|||
frame.defaultCloseOperation = JFrame.EXIT_ON_CLOSE |
|||
frame.add(panel) |
|||
frame.pack() |
|||
frame.isResizable = false |
|||
frame.setLocationRelativeTo(null) |
|||
frame.isVisible = true |
|||
} |
} |
||
⚫ | |||
internal object SierpinskyTriangle |
|||
{ |
|||
fun drawSierpinskyTriangle(level: Int, x: Int, y: Int, size: Int, g: Graphics2D) |
|||
{ |
|||
if (level > 0) |
|||
{ |
|||
g.drawLine(x, y, x + size, y) |
|||
g.drawLine(x, y, x, y + size) |
|||
g.drawLine(x + size, y, x, y + size) |
|||
drawSierpinskyTriangle(level - 1, x, y, size / 2, g) |
|||
drawSierpinskyTriangle(level - 1, x + size / 2, y, size / 2, g) |
|||
drawSierpinskyTriangle(level - 1, x, y + size / 2, size / 2, g) |
|||
} |
|||
} |
|||
}</lang> |
|||
=={{header|Liberty BASIC}}== |
=={{header|Liberty BASIC}}== |