Programming 板


LINE

※ [本文转录自 Math 看板] 作者: sarah21 (Derek Jeter) 看板: Math 标题: [机统] 机率游戏 时间: Mon Sep 7 21:39:17 2009 我最近写一个叫color match的游戏 http://www.lumosity.com/games/color-match 但是我不知道到该如何平衡match与不match的机率 比如说 箱子1(b1)里有四颗球(1,2,3,4) 箱子2(b2)也有四颗球(one, two ,three, four) 从两边各取一颗球,编号match的机率只有1/16,我该如何提高match的机率 我的程式目前写法为 让b1随机产生7个乱数(1蓝,2黄,3红,4黑,5蓝,6黄,7红) 让b2随机产生4个乱数(1蓝,2黄,3红,4黑) 如果b1大於4的话,直接指定b2(不在随机产生b2)的颜色等於b1,以提高match的机率 然後如果b1=b2 or b1=5 or b1=6 or b1=7 的话就是match 如果b1≠b2 and b1≠5 and b1≠6 and b1≠7 的话就是不match 但是这种写法感觉两边还是不平衡 不知道也没有其他办法 --



※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 220.136.181.180 ※ 编辑: sarah21 来自: 220.136.181.180 (09/07 21:40) --



※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 220.136.181.180
1F:→ Schelfaniel:不懂,你要的平衡是指怎麽样的平衡? 163.29.29.137 09/08 12:50
2F:推 BadNanEpi:直接设定抽到机率~ 调高你想提高的球.. 220.134.96.34 09/08 16:27
3F:→ BadNanEpi:不就可以了?? 220.134.96.34 09/08 16:27
以下是我目前的程式码,是action script的 circle_mc.visible=false;//一开始先把他们隐藏起来 cross_mc.visible=false; var checkKey:int=0; var totalCorrect:int=0; var correct:int=0; var totalAnswered:int=0; var colorFormat:TextFormat=new TextFormat(); var time:int=90; var gameTimer:Timer=new Timer(1000,90); gameTimer.addEventListener(TimerEvent.TIMER,tickGame); function tickGame(event:TimerEvent):void { time=time-1; timer_txt.text=time.toString(); } gameTimer.addEventListener(TimerEvent.TIMER_COMPLETE,endGame); function endGame(event:TimerEvent):void { gotoAndStop(2); } gameTimer.start(); var empty:Sprite = new Sprite();//增加一个容器 addChild(empty); game();//执行function game function game():void {//整个用function包起来 checkKey=0; correct=0; var r:int=(int)(Math.random()*7); switch (r) { case 0 : colorFormat.color=0x00CCFF;//blue break; case 1 : colorFormat.color=0x00FF00;//green break; case 2 : colorFormat.color=0xFF3333;//red break; case 3 : colorFormat.color=0x000000;//black break; case 4 : colorFormat.color=0x000000;//black break; case 5 : colorFormat.color=0xFF3333;//red break; case 6 : colorFormat.color=0x00FF00;//green break; } colorFormat.size=40; colorFormat.font="Cambria"; color_txt.defaultTextFormat=colorFormat; empty.addChild(color_txt); //让meaning文字方块里的文字颜色为随机颜色 var meaningFormat:TextFormat=new TextFormat(); meaningFormat.size=40; meaningFormat.font="Cambria"; var n:int=(int)(Math.random()*4); switch (n) { case 0 : meaningFormat.color=0x00CCFF; break; case 1 : meaningFormat.color=0x00FF00; break; case 2 : meaningFormat.color=0xFF3333; break; case 3 : meaningFormat.color=0x000000; break; } meaning_txt.defaultTextFormat=meaningFormat; empty.addChild(meaning_txt); var c:int=(int)(Math.random()*4); switch (c) { case 0 : color_txt.text="blue"; break; case 1 : color_txt.text="green"; break; case 2 : color_txt.text="red"; break; case 3 : color_txt.text="black"; break; } //match if r = m var m:int=(int)(Math.random()*4); //提高match的机率(如果r>=4直接给定m的值) if (r==4) { m=3; } if (r==5) { m=2; } if (r==6) { m=1; } switch (m) { case 0 : meaning_txt.text="blue"; break; case 1 : meaning_txt.text="green"; break; case 2 : meaning_txt.text="red"; break; case 3 : meaning_txt.text="black"; break; } stage.addEventListener(KeyboardEvent.KEY_DOWN, onKeyPressed); function onKeyPressed(e:KeyboardEvent):void { switch (e.keyCode) { case Keyboard.RIGHT : checkAnswer1(); checkKey=1; break; case Keyboard.LEFT : checkAnswer2(); checkKey=1; break; } } function checkAnswer1():void { if (r==m||r==4||r==5||r==6) { circle_mc.visible=true; cross_mc.visible=false; correct=1 } else { cross_mc.visible=true; circle_mc.visible=false; correct=0; } } function checkAnswer2():void { if (r!=m&&r!=4&&r!=5&&r!=6) { circle_mc.visible=true; cross_mc.visible=false; correct=1; } else { cross_mc.visible=true; circle_mc.visible=false; correct=0; } } } stage.addEventListener(KeyboardEvent.KEY_UP, onKeyUps); function onKeyUps(e:KeyboardEvent):void { if (checkKey==1) { for (var j:int=0; j<2; j++) { empty.removeChild(empty.getChildAt(0)); }//洗掉容器里面的题目 if (correct!=0) { totalCorrect=totalCorrect+1; } totalAnswered=totalAnswered+1; circle_mc.visible=false;//再度隐藏起来,准备下一题 cross_mc.visible=false; game();//重新启动一次fuction game } } ※ 编辑: sarah21 来自: 220.136.181.180 (09/08 20:08)







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:WOW站内搜寻

TOP