文王武帅

0到50小游戏

   今天做了一个很简单游戏,虽然很简单 但还是高兴的。继续加油。

游戏介绍:每点击一次开始按钮kaiShi_btn,屏幕随机出五十按钮,按钮上以次是0到50随机数字;计时开始。玩家必须按照1到50以此点击按钮,点击一个,按钮就消失一个。五十个点击完后,输出玩家一共用了多长时间:

部分代码如下:

package 
{

	import flash.display.MovieClip;
	import fl.controls.*;
	import flash.events.MouseEvent;
	import flash.utils.Timer;
	import flash.events.TimerEvent;
	import flash.text.TextFormat;


	public class Main extends MovieClip
	{
		private var btn:Button;//定义按钮类
		private var arr_btn:Array=new Array();//定义一个数组,用来盛放按钮
		private var arr_shu:Array=new Array();//定义一个数组,用来盛放50个数字
		private var buShu:int; //点击有效按钮的步数;点击一次 加一,控制只能 按照 1到50点击
		private var timer:Timer=new Timer(1000);// 每一秒 时间增加1
		private var shiJian:int;//时间,每一秒增加一;
		private var myFormat:TextFormat=new TextFormat();//定义按钮上的样式

                public function Main()
		{
			kaiShi_btn.buttonMode=true;
			init();   //初始化,生成所有按钮
			yinCangAnNiu();//此函数 把所有按钮隐藏
                        kaiShi_btn.addEventListener(MouseEvent.CLICK,onKaiShi); //每当点击此按钮,把所有按钮显示出来,并且把数字随机添加到所有按钮上
			timer.addEventListener(TimerEvent.TIMER,jiShi);
			myFormat.size=25;
		}
	        private function init():void  //  添加五十个按钮
		{
			for (var i:int=0; i<=4; i++)
			{
				for (var j:int=0; j<=9; j++)
				{
					btn=new Button();
					btn.addEventListener(MouseEvent.CLICK,onXiaoShi);//给每一个按钮增加鼠标单击事件
					btn.label = '';//把按钮上的‘label’消去
					btn.setStyle("textFormat", myFormat);
                                        btn.x = i * 100 + 30;
					btn.y = j * 50 + 30;
					btn.scaleY = 2;
					addChild(btn);
					arr_btn.push(btn);
				}
			}
			
                }
		private function yinCangAnNiu():void//隐藏所有按钮 初始化
		{
			for each(var anNiuY:* in arr_btn)
			{
				anNiuY.visible=0;
			}
		}
		private function onKaiShi(e:MouseEvent):void//此函数 让所有按钮显示 并且 随机出 按钮上的数字
		{
			jiShi_txt.text='';
			jieGuo_txt.text='';
			shiJian=1;//时间 初始化 为1,因为当走完 第一次时,时间显示的是1
			buShu=1;  //初始化 步数为1
			xianShiAnNiu();
			Shu();//每次都要调用一次;
			timer.start();
			for (var m:int=1; m<=50; m++)//此循环,让存在数组arr_Shu里面的数 随机加入按钮上
			{
				arr_btn[m-1].label = String(arr_shu.splice(uint(Math.random() * arr_shu.length),1));
			}
		}
		private function Shu():void//每调用一次,把1到50加到数组arr_shu中
		{
			for (var n:int=1; n<=50; n++)
			{
				arr_shu.push(n);
                }
		}
		private function xianShiAnNiu():void  //显示所有按钮 
		{
			for each(var anNiuX:* in arr_btn)
			{
				anNiuX.visible=1;
			}
		}
		private function jiShi(e:TimerEvent):void
		{   
		    jiShi_txt.text=shiJian+'秒';//每一秒,时间加一
			shiJian++;
		}
		private function onXiaoShi(e:MouseEvent):void//按1到50顺序 点击按钮  按钮就消失,不按顺序点击,不会消失
		{
			if(e.target.label==String(buShu))
			{   
				e.target.visible=0;
				buShu++;
				//trace(buShu);
				if(buShu==51)
				{
					shiJian=shiJian-1;
					jieGuo_txt.text='本次您用了'+shiJian+'秒';
					timer.stop();
				}
				
			}
			
		}
      
	}

}

  

posted on 2012-10-13 21:22  文王武帅  阅读(621)  评论(0)    收藏  举报

导航