WHAT'S NEW?
Loading...

Quis acak as3

Quis acak as3
Quis acak as3

Kali ini mencoba membantu teman lagi yang ada di forum babe flash untuk membuat sebuah quis secara random dengan as3 ockey... berikut cuplikan demonya

Demo

Demo Quis acak as3

berikut kode xml yang digunakan


<pertanyaan>
<q id="0">
<s>1+1</s>
<j>2</j>
</q>
<q id="1">
<s>12+3</s>
<j>15</j>
</q>
<q id="2">
<s>14+5</s>
<j>19</j>
</q>
<q id="3">
<s>16+2</s>
<j>18</j>
</q>
<q id="4">
<s>19+7</s>
<j>26</j>
</q>
<q id="5">
<s>5+5</s>
<j>10</j>
</q>
<q id="6">
<s>10+6</s>
<j>16</j>
</q>
<q id="7">
<s>12+5</s>
<j>17</j>
</q>
<q id="8">
<s>13+3</s>
<j>16</j>
</q>
<q id="9">
<s>16+5</s>
<j>21</j>
</q>
<q id="10">
<s>89x2</s>
<j>178</j>
</q>
</pertanyaan>

berikut potongan kode actionscript 3 yang digunakan


var _loader:URLLoader = new URLLoader();
var pertanyaan:XML = new XML();
_loader.addEventListener(Event.COMPLETE, readXML);
_loader.load(new URLRequest("pertnyaan.xml"));
function readXML(event:Event):void
{
 pertanyaan = new XML(event.target.data);
 trace("XML file loaded!");
 //mulai random
 function generateRandompertanyaan(isidata:XML, rdms:int = 5):XMLList
 {

  if (isidata..s.length() < rdms)
  {
   return isidata..s;
  }
  var daftar:XMLList;
  var hash:Array = [];
  var randomPosition:int;
  var rdm:XML;
  do
  {
   rdm =isidata.*[(Math.random() * isidata..s.length()) >> 0];
   if (hash.indexOf(rdm) < 0)
   {
    hash.push(rdm);
    daftar ? daftar +=  rdm:daftar = XMLList(rdm);
   }
  } while (daftar.length() < rdms);
  return daftar;
 }
 var awal = generateRandompertanyaan(pertanyaan);
 trace(awal.@id);
 var seet = 0;
 soal.text = awal.s[seet];
 cek.addEventListener(MouseEvent.CLICK, cekjwab);
 var nilai = 0;
 score.text = "score : " + nilai;
 function cekjwab(event:MouseEvent):void
 {
  if (jwab.text == awal.j[seet] && seet < 4)
  {
   trace("benar");
   seet++;
   soal.text = awal.s[seet];
   nomor.text = (seet + 1) + ".";
   jwab.text = "";
   nilai +=  20;
   score.text = "score : " + nilai;
  }
  else if (jwab.text!=awal.j[seet] && seet<4)
  {

   trace("salah");
   seet++;
   soal.text = awal.s[seet];
   nomor.text = (seet + 1) + ".";
   jwab.text = "";
  }
  else if (jwab.text!=awal.j[seet] && seet==4)
  {

   trace("salah");
   ucpn();
  }
  else if (jwab.text==awal.j[seet] && seet==4)
  {

   trace("benar");
   nilai +=  20;
   ucpn();

  }
  
  function ucpn()
  {
   score.text = "score : " + nilai;
   gotoAndPlay(3);
   if (nilai>=50)
   {
    penghargaan.text = "bagus  ";
   }
   if (nilai<=49)
   {
    penghargaan.text = "bodoh  ";
   }
  }
 }
}
cek.buttonMode = true;
stop();

bagi yang berminat silakan klik tombol download berikut


By Ricko nada di Pustaka FlashTerimakasih telah membaca Quis acak as3

0 komentar:

Post a Comment