Math Sınıfı
Programlama dillerinin tümünde Math sınıfı vardır. Math sınıfında işlerimizi kolaylaştıracak ve bizi büyük yüklerden kurtaracak kütüphaneler yer almaktadır.
Örneğin birden fazla sayı içinde en büyük olan sayıyı bulmak için;
var sayilar: Array = [15, 1, 195, 25, 4];
trace("Buyuk: " + buyukSayiyiBul(sayilar));//Output 195
function buyukSayiyiBul(liste: Array): Number {var buyukSayi: uint = liste[0];
for (var i: uint = 0; i <liste.length; i++) {
if (buyukSayi < liste[i]) { buyukSayi = liste[i]; }
}
return buyukSayi; }
yukarıdaki gibi veya benzer başka bir yöntemle büyük olan sayıyı
bulabiliriz.
Oysa Math sınıfını kullanacak olursak bunu çok daha basit bir yöntemle
yapabiliriz.
Örnek:
trace("Math sınıfı ile büyük sayıyı bulma: "+Math.max(15, 1, 195, 25, 4))//Output 195;
Math sınıfı metodları
//Math.ceil() ondalık sayıyı yukarı yuvarlar
trace(Math.ceil(10.5))//Output 11
//Math.floor() ondalık sayıyı aşağı yuvarlar
trace(Math.floor(10.5))//Output 10
//Math.PI Pi sayısını verir.
trace(Math.PI)//Output 3.141592653589793
//Math.random() Paramatre kabul etmez. 0 ile 1 arasında rasgele bir sayı üretir.
trace(Math.random());//Output 0.8091822071000934
//Math.max(); verilen sayılar arasından en büyüğünü döndürür
trace(Math.max(15,7,2,56));//Output 56
//Math.min(); verilen sayılar arasından en küçüğünü döndürür
trace(Math.min(15,7,2,56));//Output 2
//Math.pow(); 1. parametre ile verilen sayının 2. parametre de verilen kuvvetini döndürürr
trace(Math.pow(5,3));//Output 125
//Math.sqrt(); karekökünü döndürür
trace(Math.sqrt(6));//Output 36
//Math.abs(); mutlak değerini döndürür
trace(Math.abs(-20));//Output 20
Örnek: İstenilen 2 sayı aralığında rasgele sayı üretmek (max ve min dahil)
var rasegeleSayi:Number = rSayi(1,100);
function rSayi(min:Number,max:Number):Number{
return Math.floor(Math.random() * (max-min+1)+min);
}
Flappy Bird27.12.2023----------------------------------------import flash.events.MouseEvent;
var ivme: Number = 0;
var hiz: Number = 5;
var fark: Number = 300;
var dusmeHizi=2;
var kSes = new kanatSes();
var cSes = new carpmaSes();
var pSes = new puanAlSes();
var isPlay: Boolean = false;
var engel1;
var engel2;
var puan: Number = 0;
setChildIndex(player, 1);
engelleriEkleVeKonumlandir();
addEventListener(Event.ENTER_FRAME, loopFnk);
function loopFnk(evt: Event) {
playeriAsagiDusurVeDondur();
playerSahnedenCiktimi();
engelKontrol(engel1);
engelKontrol(engel2);
zeminHareket();
playerinEngellereCarpipCarmadigininKontrolu();
if (engel1.x == 210 || engel2.x == 210) {
puan++;
paunMc.puanTxt.text = puan.toString();
pSes.play();
}
}
stage.addEventListener(MouseEvent.MOUSE_DOWN, sahneyeTiklandi);
function sahneyeTiklandi(evt: MouseEvent) {
if (isPlay) {
kSes.play();
player.play();
ivme = -5;
player.rotation = -30;
}
}
function engelKontrol(fonksiyonaGelenEngel) {
if (isPlay) {
fonksiyonaGelenEngel.x -= hiz;
if (fonksiyonaGelenEngel.x <= -50) {
fonksiyonaGelenEngel.x = 530;
fonksiyonaGelenEngel.y = rSayi(100, 300);
}
}
}
btnPlay.addEventListener(MouseEvent.CLICK, btnPlayFnk);
function btnPlayFnk(evt: MouseEvent) {
isPlay = true;
btnPlay.visible = false;
bastanBasla();
}
function bastanBasla(){
engel1.x = 530;
engel2.x = engel1.x + fark;
player.y=100;
ivme=0;
player.rotation=0;
puan=0;
paunMc.puanTxt.text=puan.toString();
}
function rSayi(min: Number, max: Number): Number {
return Math.floor(Math.random() * (max - min + 1) + min);
}
function engelleriEkleVeKonumlandir() {
engel1 = new e1();
engel2 = new e1();
engel1.x = 530;
engel1.y = rSayi(100, 300);
engel2.x = engel1.x + fark;
engel2.y = rSayi(100, 300);
addChild(engel1);
addChild(engel2);
setChildIndex(engel1, 2);
setChildIndex(engel2, 2);
}
function playerinEngellereCarpipCarmadigininKontrolu() {
//Playerin engellerle çarpma kontrolü
if (isPlay) {
if (
engel1.ust.hitTestPoint(player.x, player.y, true) ||
engel2.ust.hitTestPoint(player.x, player.y, true) ||
engel1.alt.hitTestPoint(player.x, player.y, true) ||
engel2.alt.hitTestPoint(player.x, player.y, true)
) {
cSes.play();
isPlay = false;
btnPlay.visible = true;
}
}
}
function playeriAsagiDusurVeDondur() {
if (isPlay) {
ivme += .5;
player.y += ivme*dusmeHizi;
if (player.rotation < 45) player.rotation += 3;
}
}
function playerSahnedenCiktimi() {
if (player.y >= zemin.y || player.y < -100) {
if (isPlay) cSes.play();
isPlay = false;
btnPlay.visible = true;
}
}
function zeminHareket() {
if (isPlay) {
bg.x -= .5;
zemin.x -= hiz + 7;
if (zemin.x <= -480) {
zemin.x = 0;
}
if (bg.x <= -480) {
bg.x = 0;
}
}
}