บทความ

[Arknights] แนะนำตัวละคร 1-3 ดาว สำหรับมือใหม่

รูปภาพ
Arknights ไกด์นี้ สำหรับผู้เล่นหน้าใหม่โดยเฉพาะที่มีตัวละครน้อย มีตัวละครจำกัด จะขอไล่ตั้งแต่ 1 ดาวไปจนถึง 3 ดาว และในแต่ละหัวข้อจะไล่ตั้งแต่ตัวละครที่จำเป็นสุดไปจนถึงตัวที่อาจจะไม่ปั้นก็ได้ ในบทความนี้ผมจะยกมาเฉพาะตัวที่ผมมีโอกาสได้ใช้และคิดว่าจะเป็นประโยชน์กับมือใหม่เท่านั้น แนะนำให้ลองหาไกด์อื่น ๆ ดูประกอบไปด้วยนะครับ ตัวละคร 1 ดาว Lancet-2 เป็นตัวละคร 1 ดาวที่ผมใช้อยู่ตัวเดียวเลย เป็นตัวละครที่ใช้แต้มในการ deploy เพียง 3 แต้ม และไม่สนค่า Unit limit ภายในด่านด้วย คือถ้าจำเป็นต้องมีตัวฮีลเพิ่มโดยไม่อยากจะเสียแต้มมากขึ้นนัก หรือต้องการฮีลแบบฉุกเฉินก็สามารถลงได้ทันที เมื่อลงสนามจะฮีลให้เพื่อนทุกคนในสนามสูงสุดที่ 500 HP เมื่อ Potential เต็ม (แต่ส่วนตัวเอามาแค่ฮีลในบางด่านที่ฮีลไม่พอใช้) ตัวละคร 2 ดาว 12F เป็นตัวเวทย์ที่โจมตีหมู่ตัวแรก ใช้แต้มในการ deploy ต่ำ ในช่วงด่านแรก ๆ ใช้งานได้ดี มี stat หลบหลีกกายภาพสูงอีกด้วย ใช้แก้ขัดได้จนถึงกลางเกม Rangers ตัวละคร Sniper ยิงไกลที่มาพร้อมกับความสามารถโจมตีเป้าหมายบิน(จำพวกโดรน)ได้แรงขึ้น 50%  เมื่อเล่นเนื้อเรื่องไปสักพักจะเริ่มมีด่านที่มีโดรนออ

[JavaScript] Arrow function expressions ใช้งานยังไง?

รูปภาพ
 Arrow function expressions คือการเขียน function ในรูปแบบอย่างย่อ ทำให้สะดวกในการเขียนมากขึ้น web browser ยุคใหม่ก็ support กันหมดแล้ว แต่จะเห็นว่าใช้แพร่หลายคือกับ node.js หรือกับ JavaScript framework ตัวใหม่ ๆ ซึ่งส่วนมากจะใช้กับ closure function แปลง function ปกติเป็น Arrow function // function แบบปกติทั่วไป function (a){ return a + 100; } // แปลงเป็น Arrow Function // 1. ลบ "function" และใส่ => เข้าไปแทนระหว่างวงเล็บของ argument และปักกาเปิด { (a) => { return a + 100; } // 2. ลบปีกกาและคำว่า "return" ออก (a) => a + 100; // 3. ลบวงเล็บของ argument ออก a => a + 100; ถ้า argument มีหลายตัว // Traditional Function function (a, b){ return a + b + 100; } // Arrow Function (a, b) => a + b + 100; // เอาวงเล็บ argument ออกไม่ได้ ถ้า function ไม่มี argument // Traditional Function (no arguments) let a = 4; let b = 2; function (){ return a + b + 100; } // Arrow Function (no arguments) let a = 4; let b = 2; () => a + b + 100; //ใ

[JavaScript] วิธีใช้ Spread syntax (...)

รูปภาพ
 Spread syntax คือการนำค่าของตัวแปรที่มีลักษณะเป็น collection ไม่ว่าจะ array หรือ object มาแจกแจงกระจายออกมาใช้งาน ซึ่งจะคนละอย่างกับ Rest syntax (แต่ใช้ ... เหมือนกัน) โดย Rest syntax จะเป็นการประกาศให้ function รับ argument กี่ตัวก็ได้ ซึ่งจะเขียนในบทความถัดไป Spread syntax จะมีการใช้งานหลัก ๆ อยู่ 3 รูปแบบดังนี้ ใช้ส่ง arguments ให้ function ยกตัวอย่าง function sum ตามภาพ รับ argument 3 ตัว เราสามารถโยน array ที่มีสมาชิก 3 ตัวด้วย Spread syntax เข้าไปใน function ได้เลย function sum(x, y, z) { return x + y + z; } let numbers = [1, 2, 3]; console.log(sum(...numbers)); // 6 และหากเรานำไปใช้กับ function ที่ประกาศด้วย Rest syntax จะมองเห็นความเจ๋งของ Spread syntax ได้ชัดขึ้น function sum(...theArgs) { //theArgs รับเข้ามาจะเป็น array return theArgs.reduce((previous, current) => { return previous + current; }); } let numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]; console.log(sum(...numbers)); // 55 ใช้งานกับ array array ใน JavaScript จะมีความพิเศษอยู่อย่างหนึ่

PHP 8.0 มาแล้ว!!!

รูปภาพ
 บทความนี้จะเขียนเฉพาะหัวข้อที่ส่วนตัวคิดว่าเป็นสิ่งที่น่าสนใจสำหรับ PHP 8.0 จะไม่ครอบคลุมทั้งหมด แต่จะทิ้งลิงก์สำหรับข้อมูลตัวเต็มไว้ให้ท้ายบทความครับ Named arguments (ใช้ชื่อ argument ในการส่งค่าได้) ในตัวอย่างนี้ดูแล้วอาจจะงงสักหน่อย ต้องมาดูที่ว่า function นี้ถูกประกาศยังไง ใน feature นี้อธิบายง่าย ๆ คือเราสามารถ "เลือก" ที่จะส่ง argument ยังไงก็ได้หากมีการกำหนดชื่อของ argument ที่ส่ง ไม่จำเป็นต้องลำดับ argument ด้วย ในตัวอย่างของ PHP 8 จะเห็นว่าเขาเลือกส่ง $string (อันนี้ไม่ได้ใช้ Named argument ส่งแบบปกติ) และ double_encode (อันนี้มีการใช้ละ คือเลือกส่งเฉพาะ double_encode เป็น false) ส่วนตัวแปรที่เหลือปล่อยให้เป็นค่า default ไปตามใน doc ครับ Constructor property promotion (ประกาศ property ผ่าน constructor) feature นี้ตรงไปตรงมาตามภาพคือไม่จำเป็นต้องประกาศ property ด้านบนของ class แล้ว ประกาศผ่าน argument ของ constructor รวมถึง assign ค่าไปในตัวให้ด้วยเลยเมื่อส่งค่าเข้ามา Match expression ครั้งหนึ่งในชีวิต PHP programmer น่าจะมีคิดกันบ้างว่าทำไมต้องมาพิมพ์ break; หลาย ๆ

เว็บสำหรับคำนวณ stat เกม Freestyle 2

วิธีใช้งานเว็บ  Freestyle 2 Stat Calcuator กรอกแต้มที่มีในช่อง Training Point   (เวอร์ชั่นนี้จะไม่มีแบ่งว่าเป็นตัวละครพิเศษ หรือตัวละครเลเวลเท่าไหร่ ให้กรอกแต้มที่มีลงไปเลย) เลือกตำแหน่งของตัวละคร (Position) เลือกประเภทของตัวละคร (Type = Balanced, Power, Shrewd) จะมี stat ทั้งหมดแสดงขึ้นมาให้กด +, - เหมือนกับในเกมเพื่อทดลองอัพได้เลย ตรวจสอบแต้มที่คงเหลือจากหัวข้อ Available Point ถ้าติดลบจะนำไปใช้จริงไม่ได้ Link:  https://fs2statcal.vercel.app/

[Laravel] วิธีทำ Helper function ไว้ใช้เอง

รูปภาพ
 ในบทความนี้ผมจะถือว่าทุกคนมีความรู้พื้นฐานเกี่ยวกับ Laravel Framework มาแล้วระดับนึงในเรื่องของโครงสร้างไฟล์ แต่อย่างไรก็ตาม หากสงสัยก็คอมเม้นท์ถามไว้ได้ครับ มาเริ่มกันเลย ก่อนอื่นผมจะสร้าง folder ชื่อ Helpers ไว้ภายใต้ folder app ของ framework เพื่อง่ายจ่อการจำแนกไฟล์ จากนั้นสร้างไฟล์ขึ้นมา ตั้งชื่อตามหน้าที่ของ function ด้านในไฟล์นั้น ๆ ในตัวอย่างนี้ผมจะสร้างไฟล์ชื่อว่า NumberHelper.php ไว้จัดการกับตัวเลขต่างๆ ต่อมาผมจะสร้าง function ชื่อว่า numberInRange ไว้ตรวจเช็คว่าตัวเลขที่ใส่เข้ามามีค่าระหว่าง(between)อีก 2 ตัวเลขหรือไม่ โดยมีเนื้อหาของ function ดังนี้ if (! function_exists ( 'numberInRange' )) {      function numberInRange ( $val , $min , $max ) {          return ( $val >= $min && $val <= $max );     } } function_exists มีไว้เพื่อป้องกันการทับซ้อน function ที่มีอยู่แล้วในโปรเจ็กต์ของเรา หากไม่มี function จึงค่อยประกาศ function ถัดมาให้เปิดไฟล์ที่ชื่อว่า composer.json ซึ่งอยู่ที่ root ของโปรเจ็กต์ ในไฟล์ เลื่อนลงจนถึงส่วนของ autoload เพิ่มโค้ดส่วนนี

รีวิวเกม South Park™: The Stick of Truth™

รูปภาพ
 ช่วงนี้ก็ช่วงของ Steam Autumn Sale ซึ่งผมเองก็ได้จัด South Park™: The Stick of Truth™ ไปตั้งแต่วันแรกของ sale ที่ลด 40% ซึ่งหลังหักเรียบร้อยครับ วันนี้มันลด 66%!! แต่ก็ยังรู้สึกว่าคุ้มราคาที่ซื้อมาเล่นครับ เป็นเกมที่ดีเกมหนึ่งเลย ขอเกริ่นนำเกี่ยวกับ South Park สักหน่อย South Park มันคืออะไร? หลายๆคนอาจจะไม่รู้จักกับ South Park ซึ่งเป็นการ์ตูนสำหรับผู้ใหญ่ที่มีการเสียดสีสังคม และทำให้มันออกมาตลกมากๆ ที่มันเป็นการ์ตูนสำหรับผู้ใหญ่เพราะว่ามันมีทั้งความรุนแรง ใช้คำหยาบคาย และหนักเรื่องเพศ แบบว่าลามกมากๆเลยล่ะ ซึ่งการ์ตูนนี้โด่งดังมานานหลายปีแล้วในสหรัฐอเมริกา โดยเริ่มมีตั้งแต่ปีค.ศ. 1997 เลยทีเดียว จนถึงปัจจุบันมีทั้งหมด 18 Season ไปแล้ว โดยแบ่งเป็นตอนๆ แต่ละตอนไม่มีส่วนเกี่ยวข้องกัน ทำแล้วจบในตอน แล้วมันเกี่ยวอะไรกับเกม? ด้วยความที่ดังและเกิดความนิยมในตัวการ์ตูนเรื่องนี้อย่างมาก ทำให้เกิดการสร้างเกมซึ่งก็มีมาหลายเกมแล้วตั้งแต่สมัย Play Station 1 เลย และในภาคนี้ The Stick of Truth ก็เป็นอีก 1 เกมที่ทำออกมาได้ดีและเข้ากับตัว South Park มากๆ จุดเด่นของเกมนี้ เกมนี้ทำออกมาเป็นเกม RPG ท

รีวิวเกม The Wolf Among Us

รูปภาพ
 สำหรับเกม  The Wolf Among Us  ผมก็เล่นจบมาสักพักใหญ่ๆแล้วล่ะ แต่พึ่งมาเริ่มเขียนรีวิว เพราะตอนนั้นยังไม่ได้เริ่มเขียน blog นะครับ ก็จะมาเล่าถึงประสบการณ์ในการเล่นเกมนี้กันนะครับ The Wolf Among Us  เป็นเกมที่มีเนื้อเรื่องเป็นตอนๆไปซึ่งอ้างอิงจากการ์ตูนเรื่อง  Fables  ซึ่งเขียนโดย  Bill Willingham  เกมนี้ถูกพัฒนาโดย  Telltale Games ซึ่งมีมีจุดเด่นในเกมแนวที่มีเนื้อเรื่องสนุก น่าติดตาม และเกมเพลย์ที่ตื่นเต้นเสมือนเราเป็นตัวละครนั้นอยู่จริงๆ เผยแพร่โดย  Vertigo และ   Warner Bros. Interactive Entertainment ระบบของเกม เกมนี้จะเป็นเกมแนว point-and-click คือคลิกเพื่อที่จะบังคับตัวละคร เก็บของ หรือสำรวจพื้นที่ โดยเกมนี้จะเกี่ยวกับตัวละครจากนิทาน(ในเกมจะเรียบกว่า fable)ที่อาศัยอยู่ในเมืองใหญ่ที่ต้องปรับตัวในการใช้ชีวิตกันไปไม่ให้ผู้คนธรรมดาสงสัยในตัวพวกเขา(อยู่กันมาเป็นร้อยปีละพวกตัวละครพวกนี้)  ซึ่งเราจะเล่นเป็นตัวละครชื่อ  Bigby  เป็นหมาป่าจากนิทานที่ fable ตัวอื่นๆเกรงกลัว ทำหน้าที่เป็นนายอำเภอดูแลและรักษาความสงบให้กับ fable ต่างๆเรื่องมา จนกระทั่งเกิดเหตุฆาตรกรรม fable เกิดขึ้น เป็นต้

รีวิวเกม Octodad: Dadliest Catch

รูปภาพ
 รอบนี้มารีวิวเกมสุดอินดี้  Octodad: Dadliest Catch  ที่ผมเล่นจบมานานสักพักแล้ว ซื้อมาตอนลดแค่ 40% แต่อยากเล่นมาก ตัวเกมไม่ยาวนัก ผมเล่นเคลียร์ในเวลาประมาณ 3 ชม. แต่ก็สนุกมากเลยล่ะ เนื้อหาของเกม เกมนี้เราจะได้เล่นเป็นปลาหมึก ซึ่งมีครอบครัวเป็นคน(งงอะดิ) เรามีภรรยาแสนสวยชื่อ Scarlet ลูกชายชื่อ Tommy และลูกสาว Stacy (มีลูกได้ไงฟะ) ในเกมเราต้องบังคับตัวเราคือ Octodad เพื่อทำกิจกรรมต่างๆในชีวิตประจำวัน(เป็นคำสั่งขึ้นมาให้ทำตาม) เช่น ให้ถางหญ้า, ให้เอานมไปให้ลูก ฯลฯ  ซึ่งผมใช้เม้าส์ในการบังคับ(ไม่เคยใช้จอย) ต้องคลิกเม้าส์ซ้ายและขวาเพื่อบังคับการเดิน และเม้าส์กลางในการสลับไปบังคับมือ (ยากมากๆ) ระหว่างบังคับตัว Octodad ก็ห้ามซุ่มซ่ามไปชนนู่นนี่ล้ม จะทำให้หลอดความสงสัยของผู้คน(รวมถึงคนในบ้านเราด้วย)เพิ่มขึ้น หากหลอดเต็มเกมโอเวอร์ทันที และในแต่ละฉากก็จะมีคู่ปรับของเรา Chef Fujimoto ที่พยายามจะฆ่าเรา ซึ่งเราต้องหนีจากเงื้อมมือของเขาให้ได้(ส่วนทำไมถึงมีความแค้นกับเรานั้นต้องไปเล่นกันดูนะครับ ไม่อยากสปอย) จุดเด่นของเกม ตัวเกมมีความสนุก และตลกในตัว มีทั้งมุก และอื่นๆที่มีให้เพลิดเพลิน ตัวเก

รีวิวเกม Deponia: The Complete Journey

รูปภาพ
  Deponia: The Complete Journey  เป็นเกมแนว Point&Click Adventure (แนวที่จิ้มๆคลิกๆด้วยเม้าส์เพื่อหาทางไปต่อเรื่อยๆ) ที่มีเนื้อเรื่องที่เจ๋งยิ่งกว่าหนังหลายๆเรื่อยเสียอีก ซึ่งเดิมทีแยกเป็น 3 ภาคคือ  Deponia, Chaos on Deponia, และ Goodbye Deponia  ผมเองก็ซื้อแยกมาเล่น 3 ภาคนั่นล่ะ แต่เล่นจนจบทุกภาคจึงขอมัดรวมเป็นรีวิวเดียวละกัน โดย  Deponia: The Complete Journey  จะมีได้พวกโบนัสเบื้องหลังและอื่นๆด้วย รวมถึงหน้าตา UI ของเกมจะต่างจากภาคแยกอยู่นิดหน่อย แต่เนื้อเรื่องเป็นเนื้อเรื่องเดิมครับ เนื้อเรื่องย่อ ตัวเอกของเรามีชื่อว่า  Rufus  ซึ่งออกเป็นตัวละครที่เห็นแก่ตัว(มาก) คือทำอะไรไม่สนใจ เกรงใจคนอื่น ซึ่งอาศัยอยู่บนพื้นโลกที่เต็มไปด้วยขยะเรียกว่า  Deponia  เขาใฝ่ฝันที่จะขึ้นไปอยู่บนเมืองลอยฟ้าไม่ว่าจะวิธีใดก็ตามที่ชื่อ  Elysium  ซึ่งเขาก็ได้พบกับนางเอกชื่อว่า  Goal  ซึ่งเป็นชาว Elysium  เขาตกหลุมรักเธอตั้งแต่แรกเห็น และการพบกันของทั้งสองก็เป็นจุดเริ่มต้นของความวุ่นวายหลายๆเรื่องที่ตัวเอกของเราต้องตามแก้ไขเพื่อช่วยโลก และพิชิตใจนางเอกด้วย ซึ่งผมขอเตือนไว้เลยว่าเรื่องนี้ไม่ใช่การ์ตูนแ