별찍기 쓰리

개발 관련 2010. 1. 27. 17:41

## 별을 찍어대는 다른 방법
- 메소드를 생성하여 호출하는 방법

package  
{
	import flash.display.Sprite;
	import flash.text.TextField;
	import flash.text.TextFieldAutoSize;
	
	public class Testfor extends Sprite
	{
		public function Testfor() 
		{
			/*
			var textfield:TextField = new TextField();
			textfield.border = true;
			textfield.borderColor = 0xff0000;
			textfield.autoSize = TextFieldAutoSize.LEFT;
			addChild( textfield );
			
			for (var i:int = 1; i < 6; i++) //줄수
			{
				for (var k:int = 0 ; k < i ; k++) //별 표시
				{
					textfield.appendText("*");
				}
				textfield.appendText("\n");
			}
			
			
			var textfield1:TextField = new TextField();
			textfield1.border = true;
			textfield1.borderColor = 0x0000ff;
			textfield1.autoSize = TextFieldAutoSize.LEFT;
			textfield1.x = 35;
			addChild( textfield1 );
			
			for (var j:int = 0; j < 5; j++)	//줄수
			{
				for (var e:int = 5; j < e ; e--)	//별표시
				{
					textfield1.appendText("*");
				}
				textfield1.appendText("\n");
			}
		
			
			var textfield2:TextField = new TextField();
			textfield2.border = true;
			textfield2.borderColor = 0x00ff00;
			textfield2.autoSize = TextFieldAutoSize.LEFT;
			textfield2.x = 70;
			addChild( textfield2 );
			
			for (var a:int = 1 ; a < 10 ; a++)
			{
				if ( a < 5 )
				{
					for ( var b:int = 0; b < a ; b++)
					{
						textfield2.appendText("*");
					}
					textfield2.appendText("\n");
				} else {
					for ( var c:int = 10; a < c ; c--)
					{
						textfield2.appendText("*");
					}
					textfield2.appendText("\n");
				}
			}
			*/
			
			var textfield3:TextField = new TextField();
			textfield3.border = true;
			textfield3.borderColor = 0xffff00;
			textfield3.x = 105;
			textfield3.autoSize = TextFieldAutoSize.CENTER;
			addChild( textfield3 );
			
			// 다이아몬드 상단 출력
			for (var c:int = 4; c < 10; c+=2)
			{
				showEmpty( textfield3, 8 - c );
				showStar( textfield3, c );
				showEmpty( textfield3, 8 - c );
				showStar( textfield3, c );
				showEmpty( textfield3, 8 - c );
				textfield3.appendText("\n");
			}
			
			/*
			// 다이아몬드 하단 출력
			for (var d:int = 10; d >= 0 ; d -= 2 )
			{
				showEmpty( textfield3, 10 - d );
				showStar( textfield3, d * 2);
				showEmpty( textfield3, 10 - d );
				textfield3.appendText("\n");
			}
			textfield3.width = textfield3.textWidth;
			*/
		}
		
		// 입력받은 숫자만큼 별을 출력
		private function showStar( _textfield:TextField, _num:int ):void
		{
			var tf:TextField = _textfield;
			var num:int = _num;
			if ( num == 8 )
			{
				num = 9;
			}
			for (var a:int = 0 ; a <= num ; a++)
			{
				tf.appendText("*");
			}
		}
		
		// 입력받은 숫자만큼 바(공백)를 출력
		private function showEmpty( _textfield:TextField, _num:int ):void
		{
			var tf:TextField = _textfield;
			var num:int = _num;
			for (var a:int = 0 ; a < num ; a++)
			{
				tf.appendText("^");
			}
		}
		
	}

}

: