Add tasks for all the new languages
This commit is contained in:
parent
9dc3c2bb62
commit
bba7bfd280
13208 changed files with 134745 additions and 0 deletions
|
|
@ -0,0 +1,16 @@
|
|||
PROGRAM SIERPINSKY
|
||||
|
||||
!$INCLUDE="PC.LIB"
|
||||
|
||||
BEGIN
|
||||
ORDER%=8
|
||||
SIZE%=2^ORDER%
|
||||
SCREEN(9)
|
||||
GR_WINDOW(0,0,520,520)
|
||||
FOR Y%=0 TO SIZE%-1 DO
|
||||
FOR X%=0 TO SIZE%-1 DO
|
||||
IF (X% AND Y%)=0 THEN PSET(X%*2,Y%*2,2) END IF
|
||||
END FOR
|
||||
END FOR
|
||||
GET(K$)
|
||||
END PROGRAM
|
||||
|
|
@ -0,0 +1,24 @@
|
|||
' version 06-07-2015
|
||||
' compile with: fbc -s console or with: fbc -s gui
|
||||
|
||||
#Define black 0
|
||||
#Define white RGB(255,255,255)
|
||||
|
||||
Dim As Integer x, y
|
||||
Dim As Integer order = 9
|
||||
Dim As Integer size = 2 ^ order
|
||||
|
||||
ScreenRes size, size, 32
|
||||
Line (0,0) - (size -1, size -1), black, bf
|
||||
|
||||
For y = 0 To size -1
|
||||
For x = 0 To size -1
|
||||
If (x And y) = 0 Then PSet(x, y) ' ,white
|
||||
Next
|
||||
Next
|
||||
|
||||
' empty keyboard buffer
|
||||
While Inkey <> "" : Wend
|
||||
WindowTitle "Hit any key to end program"
|
||||
Sleep
|
||||
End
|
||||
|
|
@ -0,0 +1,44 @@
|
|||
load "guilib.ring"
|
||||
|
||||
new qapp
|
||||
{
|
||||
win1 = new qwidget() {
|
||||
setwindowtitle("drawing using qpainter")
|
||||
setgeometry(100,100,500,500)
|
||||
label1 = new qlabel(win1) {
|
||||
setgeometry(10,10,400,400)
|
||||
settext("")
|
||||
}
|
||||
new qpushbutton(win1) {
|
||||
setgeometry(200,400,100,30)
|
||||
settext("draw")
|
||||
setclickevent("draw()")
|
||||
}
|
||||
show()
|
||||
}
|
||||
exec()
|
||||
}
|
||||
|
||||
func draw
|
||||
p1 = new qpicture()
|
||||
color = new qcolor() {
|
||||
setrgb(0,0,255,255)
|
||||
}
|
||||
pen = new qpen() {
|
||||
setcolor(color)
|
||||
setwidth(1)
|
||||
}
|
||||
new qpainter() {
|
||||
begin(p1)
|
||||
setpen(pen)
|
||||
|
||||
order = 7
|
||||
size = pow(2,order)
|
||||
for y = 0 to size-1
|
||||
for x = 0 to size-1
|
||||
if (x & y)=0 drawpoint(x*2,y*2) ok
|
||||
next
|
||||
next
|
||||
endpaint()
|
||||
}
|
||||
label1 { setpicture(p1) show() }
|
||||
|
|
@ -0,0 +1,35 @@
|
|||
func sierpinski_triangle(n) -> Array {
|
||||
var triangle = ['*']
|
||||
{ |i|
|
||||
var sp = (' ' * Math.pow(2, i-1));
|
||||
triangle = (triangle.map {|x| sp + x + sp} +
|
||||
triangle.map {|x| x + ' ' + x})
|
||||
} * n
|
||||
triangle
|
||||
}
|
||||
|
||||
class Array {
|
||||
method to_png(scale=1, bgcolor='white', fgcolor='black') {
|
||||
|
||||
static gd = require('GD::Simple')
|
||||
var width = self.max_by{.len}.len
|
||||
self.map!{|r| "%-#{width}s" % r}
|
||||
|
||||
var img = gd.new(width * scale, self.len * scale)
|
||||
|
||||
for i in ^self {
|
||||
for j in RangeNum(i*scale, i*scale + scale) {
|
||||
img.moveTo(0, j)
|
||||
for line in (self[i].scan(/(\s+|\S+)/)) {
|
||||
img.fgcolor(line.contains(/\S/) ? fgcolor : bgcolor)
|
||||
img.line(scale * line.len)
|
||||
}
|
||||
}
|
||||
}
|
||||
img.png
|
||||
}
|
||||
}
|
||||
|
||||
var triangle = sierpinski_triangle(8)
|
||||
var raw_png = triangle.to_png(bgcolor:'black', fgcolor:'red')
|
||||
File('triangle.png').write(raw_png, :raw)
|
||||
Loading…
Add table
Add a link
Reference in a new issue