Plasma effect: Difference between revisions

Content added Content deleted
(Added Kotlin)
(added FreeBASIC)
Line 306: Line 306:


(demo/plasma)</lang>
(demo/plasma)</lang>
=={{header|FreeBASIC}}==
<lang freebasic>' version 12-04-2017
' compile with: fbc -s gui
' Computer Graphics Tutorial (lodev.org), last example

#Define dist(a, b, c, d) Sqr(((a - c) * (a - c) + (b - d) * (b - d)))

Const As ULong w = 256
Const As ULong h = 256
ScreenRes w, h, 24
WindowTitle ("Plasma effect")

Dim As ULong x, y
Dim As UByte c
Dim As Double time_, value

Do
time_ += .99
ScreenLock
For x = 0 To w -1
For y = 0 To h -1
value = Sin(dist(x + time_, y, 128, 128) / 8) _
+ Sin(dist(x, y, 64, 64) / 8) _
+ Sin(dist(x, y + time_ / 7, 192, 64) / 7) _
+ Sin(dist(x, y, 192, 100) / 8) + 4
' c = Int(value) * 32
c = int(value * 32)
PSet(x, y), RGB(c, c * 2, 255 - c)
Next
Next
ScreenUnLock
Sleep 1

If Inkey <> "" Or Inkey = Chr(255) + "k" Then
End
End If

Loop</lang>


=={{header|Gosu}}==
=={{header|Gosu}}==