Multiplication tables: Difference between revisions
Content added Content deleted
(Updated D entry) |
(Adding ActionScript implementation) |
||
Line 3: | Line 3: | ||
Only print the top half triangle of products. |
Only print the top half triangle of products. |
||
=={{header||ActionScript}}== |
|||
<lang ActionScript> |
|||
package { |
|||
import flash.display.Sprite; |
|||
import flash.events.Event; |
|||
import flash.text.TextField; |
|||
import flash.text.TextFieldAutoSize; |
|||
import flash.text.TextFormat; |
|||
[SWF (width = 550, height = 550)] |
|||
public class MultiplicationTable extends Sprite { |
|||
public function MultiplicationTable() { |
|||
if ( stage ) _init(); |
|||
else addEventListener(Event.ADDED_TO_STAGE, _init); |
|||
} |
|||
private function _init(e:Event = null):void { |
|||
removeEventListener(Event.ADDED_TO_STAGE, _init); |
|||
var format:TextFormat = new TextFormat(); |
|||
format.size = 15; |
|||
var blockSize:uint = 40; |
|||
var max:uint = 12; |
|||
var i:uint, j:uint; |
|||
var tf:TextField; |
|||
for ( i = 1; i <= max; i++ ) { |
|||
tf = new TextField(); |
|||
tf.defaultTextFormat = format; |
|||
tf.x = blockSize * i; |
|||
tf.y = 0; |
|||
tf.width = tf.height = blockSize; |
|||
tf.autoSize = TextFieldAutoSize.CENTER; |
|||
tf.text = String(i); |
|||
addChild(tf); |
|||
tf = new TextField(); |
|||
tf.defaultTextFormat = format; |
|||
tf.x = 0; |
|||
tf.y = blockSize * i; |
|||
tf.width = tf.height = blockSize; |
|||
tf.autoSize = TextFieldAutoSize.CENTER; |
|||
tf.text = String(i); |
|||
addChild(tf); |
|||
} |
|||
var yOffset:Number = tf.textHeight / 2; |
|||
y += yOffset; |
|||
graphics.lineStyle(1, 0x000000); |
|||
graphics.moveTo(blockSize, -yOffset); |
|||
graphics.lineTo(blockSize, (blockSize * (max + 1)) - yOffset); |
|||
graphics.moveTo(0, blockSize - yOffset); |
|||
graphics.lineTo(blockSize * (max + 1), blockSize - yOffset); |
|||
for ( i = 1; i <= max; i++ ) { |
|||
for ( j = 1; j <= max; j++ ) { |
|||
if ( j > i ) |
|||
continue; |
|||
tf = new TextField(); |
|||
tf.defaultTextFormat = format; |
|||
tf.x = blockSize * i; |
|||
tf.y = blockSize * j; |
|||
tf.width = tf.height = blockSize; |
|||
tf.autoSize = TextFieldAutoSize.CENTER; |
|||
tf.text = String(i * j); |
|||
addChild(tf); |
|||
} |
|||
} |
|||
} |
|||
} |
|||
} |
|||
</lang> |
|||
=={{header|Ada}}== |
=={{header|Ada}}== |