ทำนายชีวิตด้วย 8 Ball บน JavaScript กัน

พาทำเกมส์ 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/ เพื่อลองเล่นได้นะครับ ได้ผลลัพธ์อะไรมาแชร์กันด้วยนะครับ

สุดท้ายแล้ว…การรักเขา แต่เขาไม่รู้ “ยังดีกว่าเขารับรู้แต่เขาไม่รัก” นะครัชชชช

ขอขอบคุณข้อมูลจาก
https://medium.com/@4isapoul/%E0%B8%97%E0%B8%B3%E0%B8%99%E0%B8%B2%E0%B8%A2%E0%B8%8A%E0%B8%B5%E0%B8%A7%E0%B8%B4%E0%B8%95%E0%B8%94%E0%B9%89%E0%B8%A7%E0%B8%A2-8-ball-%E0%B8%9A%E0%B8%99-javascript-%E0%B8%81%E0%B8%B1%E0%B8%99-3f80b533af8

Write a comment