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 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);
}
}
}</lang>

=={{header|Kotlin}}==
'''From Java code:'''
<lang kotlin>import javax.swing.*
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
}
}

</lang>
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}}==