พาทำเกมส์ 8 ball โดยใช้ Switch Statement
สวัสดีครับผม ซา คนเดิม วันนี้จะพาทำเกมส์ 8 ball โดย JavaScript ถ้าใครไม่รู้จัก
8 ball คือของเล่นที่ถูกประดิษฐ์ขึ้นมาในปี 1950 โดย Albert Carter และ Abe Bookman โดยเป็นของเล่นที่ทำหน้าที่เหมือนกับลูกแก้วแห่งคำทำนายที่มีรูปทรงเหมือนกับลูกบิลเลียดนั่นเอง โดยวิธีการเล่นของมันก็คือการให้ผู้เล่นนึกคำถามๆ หนึ่งขึ้นมาในใจและทำการเขย่าลูกบอลนั้น สามารถอ่านต่อได้ที่นี่ครับ โดยครั้งนี้เราจะนำ Switch Statement เข้ามาใช้ด้วย โดยให้ user ถามคำถามปิด ในตัวอย่างข้างล่างจะใช้คำถามว่า “จากวันนี้ถึงวันวาเลนไทน์ปีหน้าจะมีแฟนหรือเปล่า”
เริ่มต้นโดยการสร้าง variable ชื่อ userName ให้เท่ากับชื่อของเรา
let userName = "ซา";
ต่อมาเราจะมาทักทาย user โดยมี condition ว่าถ้า user ได้กำหนดค่า userName ก็จะ console log ออกมาเป็น สวัสดี ซา! โดยใช้การ interpolate แต่ถ้าไม่ได้เขียนชื่อก็จะแค่ทักทายว่า สวัสดี!
userName ? console.log(`สวัสดี, ${userName} !`) : console.log('สวัสดี!');
สร้าง variable ชื่อ userQuestion โดยเท่ากับสตริงคำถามที่เราอยากจะให้ 8 ball ทำนายออกมา โดย console log ออกมาเป็น คำถามของคุณคือ: ….
let userQuestion = "จากวันนี้ถึงวันวาเลนไทน์ปีหน้าจะมีแฟนหรือเปล่า"
console.log(`คำถามของคุณคือ: ${userQuestion}`);
มาถึง core ของ 8 ball คือการทำ random ตัวแลก 1–7 (เพื่อที่จะทำนายคำตอบ)โดยให้ expression นี้เท่ากับ randomNumber
let randomNumber = Math.floor(Math.random()*8);
ขั้นตอนต่อมาคือการสร้าง control flow โดยการนำ random number ที่เราสร้างข้างบนมาใช้ โดยให้ 8 ball (eightฺBall) เท่ากับ สำนวนคำทำนาย ในที่นี้คือคำตอบที่เราอยากให้มันทำนายออกมานั้นเอง ในขั้นตอนนี้ผมจะทำแบบ switch case ให้ดูนะครับ ถ้าใครอยากลองสามารถนำโค้ดไปเปลี่ยนเป็น if/else statement ได้
let eightBall = "";
switch (randomNumber){ case 0: eightBall = 'แน่นอน!'; break; case 1: eightBall = 'สวรรค์กำหนดมาให้เป็นอย่างนั้นอยู่แล้ว'; break; case 2: eightBall = 'สัญญาณมันลางๆไม่สามารถบอกได้'; break; case 3: eightBall = 'ยังไม่สามารถคาดการณ์ได้'; break; case 4: eightBall = 'ปล่อยว่างเหอะ'; break; case 5: eightBall = 'ไม่หรอกจากแหล่งข้อมูลที่ฉันได้ยินมา'; break; case 6: eightBall = 'แนวโน้มไม่ค่อยดี'; break; case 7: eightBall = 'มีสัญญาณที่บ่งบอกว่าใช่'; break; }
อย่าลืม console log คำทำนายของ 8 ball ออกมานะครับ
console.log(eightBall)
สรุป
8 ball เป็นเกมส์ที่เล่นง่ายไม่ยืดเยื้อแถมยังได้ใช้ control flow อย่าง Switch Statement ให้ execute ตาม case ที่มีเลขที่ random ออกมาเหมือนกันใน JavaScript อีก เพื่อน ๆ สามารถทำความเข้าใจ Switch Statement ได้ที่นี้นะครับ ถ้าใครอยากลองเล่นเกมส์ข้างบน สามารถนำโค้ดไปวางที่ https://playcode.io/ เพื่อลองเล่นได้นะครับ ได้ผลลัพธ์อะไรมาแชร์กันด้วยนะครับ
สุดท้ายแล้ว…การรักเขา แต่เขาไม่รู้ “ยังดีกว่าเขารับรู้แต่เขาไม่รัก” นะครัชชชช