Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
84 changes: 65 additions & 19 deletions index.js
Original file line number Diff line number Diff line change
Expand Up @@ -14,11 +14,11 @@
* Aşağıdaki kodlar bu görevin nasıl yapılacağına örnek olacaktır
* Bu fonskiyon 'asas' dönmeli(return)
*/

//moduler yaparsak, callback'in parametreden farkı yok sadece bir fonksiyon yolluyoruz, daha önce tanımlanmıs
function ilkiniDon(stringArray, callback) {
return callback(stringArray[0])
}
console.log('örnek görev:', ilkiniDon(['as','sa'],function(metin){return metin+metin}));
//console.log('örnek görev:', ilkiniDon(['as','sa'],function(metin){return metin+metin}));

// Başlangıç Challenge'ı Sonu

Expand All @@ -45,9 +45,17 @@ function skorArtirici() {
}

const skor1 = skorArtirici();
//console.log(skor1())
//console.log(skor1())

// skor2 kodları
let skor = 0;
//console.log(skor1())
//console.log(skor1())
//yukarda skoru 0lamamıza rağmen sonucu 2 ve 3 diye devam ediyor, burada dışarıda skor=0 diye okuyor ancak işin özünde
//fonksiyon içindeki skora dönüyor ve onu öncelik alarak oradan devam ediyor; bu closure yapısı oluyor işte
//closure ile süslü parantez içinde tanımlamış oldduğumuz değişkenlere erişebiliyoruz


function skor2() {
return skor++;
Expand All @@ -63,12 +71,14 @@ Aşağıdaki takimSkoru() fonksiyonununda aşağıdakileri yapınız:

Not: Bu fonskiyon, aşağıdaki diğer görevler için de bir callback fonksiyonu olarak da kullanılacak
*/

function takimSkoru(/*Kodunuzu buraya yazınız*/){
/*Kodunuzu buraya yazınız*/
//Math.random(): 0 ve 1 arasında değer verir; 0 dahil ama 1 dahil değil!
//Math.random()*16 ile 0 ile 15 arasında değer veriyo, + 10 diyince hangi değer gelirse +10 eklediği için 10 ile 25 değerleri arasında deng geliyor artık
function takimSkoru(){
let skor = Math.floor(Math.random()*16) + 10;
return skor;
}


//console.log(takimSkoru());


/* Görev 3: macSonucu()
Expand All @@ -86,13 +96,23 @@ Aşağıdaki macSonucu() fonksiyonununda aşağıdakileri yapınız:
}
*/

function macSonucu(/*Kodunuzu buraya yazınız*/){
/*Kodunuzu buraya yazınız*/
}


function macSonucu(takimSkoru, ceyrekSayisi){
let skor = {
"EvSahibi": 0,
'KonukTakim': 0
}
for(let i = 1; i <= ceyrekSayisi; i++){
//takimSkoru() fonksiyonunu çağırıp, skor değiş
let evSahibiSkor = takimSkoru();
let konukTakimSkor = takimSkoru();

skor.EvSahibi += evSahibiSkor;
skor.KonukTakim +=konukTakimSkor;
}
return skor;
}

//console.log(macSonucu(takimSkoru, 4))


/* Zorlayıcı Görev 4: periyotSkoru()
Expand All @@ -109,11 +129,14 @@ Aşağıdaki periyotSkoru() fonksiyonununda aşağıdakileri yapınız:
*/


function periyotSkoru(/*Kodunuzu buraya yazınız*/) {
/*Kodunuzu buraya yazınız*/

function periyotSkoru(takimSkoru) {
let skor = {
"EvSahibi": takimSkoru(),
'KonukTakim': takimSkoru()
}
return skor;
}

console.log(periyotSkoru(takimSkoru))

/* Zorlayıcı Görev 5: skorTabelasi()
Aşağıdaki skorTabelasi() fonksiyonunu kullanarak aşağıdakileri yapınız:
Expand Down Expand Up @@ -146,10 +169,33 @@ MAÇ UZAR ise skorTabelasi(periyotSkoru,takimSkoru,4)
] */
// NOTE: Bununla ilgili bir test yoktur. Eğer logladığınız sonuçlar yukarıdakine benziyor ise tmamlandı sayabilirsiniz.

function skorTabelasi(/*Kodunuzu buraya yazınız*/) {
/*Kodunuzu buraya yazınız*/
function skorTabelasi(periyotSkoru, takimSkoru, ceyrekSayisi) {
let skorlar = [];
let sonuc = {
"EvSahibi": 0,
"KonukTakim": 0
}
for (let i = 1; i <= ceyrekSayisi; i++) {
let skor= periyotSkoru(takimSkoru);
let metin = `${i}. Periyot: Ev Sahibi: ${skor.EvSahibi} - Konuk Takim ${skor.KonukTakim}`;
sonuc.EvSahibi += skor.EvSahibi;
sonuc.KonukTakim += skor.KonukTakim;
skorlar.push(metin);
}
let i = 1;
sonuc.EvSahibi = sonuc.KonukTakim;
while(sonuc.EvSahibi == sonuc.KonukTakim){
let skor= periyotSkoru(takimSkoru);
let metin= `${i}. Uzatma: Ev Sahibi: ${skor.EvSahibi} - Konuk Takim ${skor.KonukTakim}`;
sonuc.EvSahibi += skor.EvSahibi;
sonuc.KonukTakim += skor.KonukTakim;
skorlar.push(metin);
i++;
}
skorlar.push(`Maç Sonucu: Ev Sahibi: ${sonuc.EvSahibi} - Konuk Takim ${sonuc.KonukTakim}`);
return skorlar;
}

console.log(skorTabelasi(periyotSkoru, takimSkoru, 4));



Expand All @@ -168,4 +214,4 @@ module.exports = {
macSonucu,
periyotSkoru,
skorTabelasi,
}
}