30行JavaFX程序大赛结果
程序员文章站
2022-07-12 23:28:03
...
友情提示:本文提及的链接如访问不了,请自行准备*
8月底,JFXStudio举办了一场“短小JavaFX程序大赛”,大赛要求在一个单独的文件里使用不超过30行或不超过3000个字符(不计import语句,允许包含多个类)写一个简单的JavaFX程序。并且不能使用第三方类库,允许访问网络上的多媒体文件。
下面是JFXStudio提供的一个示例:
现在比赛已经结束,获奖作品截图如下:
8月底,JFXStudio举办了一场“短小JavaFX程序大赛”,大赛要求在一个单独的文件里使用不超过30行或不超过3000个字符(不计import语句,允许包含多个类)写一个简单的JavaFX程序。并且不能使用第三方类库,允许访问网络上的多媒体文件。
下面是JFXStudio提供的一个示例:
package shapeexplosion; import javafx.stage.Stage; import javafx.scene.*; import javafx.scene.shape.Rectangle; import javafx.animation.Timeline; import javafx.scene.paint.Color; import javafx.util.Math; var t = 0.0; var tr = bind Math.toRadians(t); function recurse(depth:Integer,index:Integer):Node { if(depth == 0) { return Rectangle { width: bind (Math.sin(tr*5)+1)*100 height: bind (Math.sin(tr*3)+2)*100 fill: bind Color.hsb(t/3*index,1.0,1.0,0.7) rotate: bind -t*5 } } return Group { rotate: bind t content: for(i in [0..2]) { var node = recurse(depth-1,i); node.translateX= 60*i; node.translateY= 60*i; node; } } } Stage { width: 500 height: 500 scene: Scene { content: recurse(3,0) fill: Color.BLACK } }; Timeline { repeatCount: Timeline.INDEFINITE keyFrames: [ at(0s) { t => 0.0 } at(12s) { t => 360.0*3 } ] }.play();
现在比赛已经结束,获奖作品截图如下:
推荐阅读