Jump to content

Sierpinski triangle/Graphical: Difference between revisions

Kotlin snippet
(added FreeBasic)
(Kotlin snippet)
Line 560:
=={{header|Java}}==
'''Solution:'''
<lang java>import javax.swing.*;
import javax.swing.*;
import java.awt.*;
 
Line 618 ⟶ 617:
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}}==
Anonymous user
Cookies help us deliver our services. By using our services, you agree to our use of cookies.