เรียนเขียนโปรแกรมยากจัง ผมคิดว่าทุกคนที่กำลังเริ่มเรียนเขียนโปรแกรม หรือ เรียนมาสักระยะหนึ่งแล้ว จะต้องมีความคิดที่ว่า "เรียนเขียนโปรแกรมยากจัง" อยู่ในหัวกันแน่ๆ แต่ถ้าเกิดเราเอาบทเรียนเขียนโปรแกรมที่สุดแสนจะปวดหัว มารวมเข้ากับ "เกม" ที่ให้ความบันเทิงแล้วล่ะก็... การเรียนเขียนโปรแกรมมันก็คงจะสนุกสนานและทำให้เราอยากเรียนมากขึ้นแน่ๆ จริงมั้ยครับ? ดังนั้นวันนี้ผมจะมาแนะนำให้รู้จักกับเกม "CodeCombat" ที่ได้รวมเอาวิธีการเขียนโปรแกรมนำมาใส่ไว้ในการเล่นเกมอย่างลงตัว พูดมาแบบนี้หลายๆคนอาจจะยังเดาไม่ออกว่า หน้าตาของมันจะเป็นยังไง จะเป็นเกมรูปแบบไหน และจะเรียนเขียนโปรแกรมไปด้วยได้ยังไง ถ้าอย่างงั้นเราไปลองดูกันเลยดีกว่าว่าเกมนี้มีอะไรให้เราเล่นบ้าง ขั้นแรกให้เข้าไปที่ URL: https://codecombat.com แล้วจะมาที่หน้านี้ เป็นหน้าเว็บของเกม CodeCombat ซึ่งจะสังเกตเห็นว่าสามารถเปลี่ยนภาษาได้ด้วย ผมลองหาดูแล้วมีภาษาไทยอยู่เหมือนกัน แต่ยังไม่สมบูรณ์ และยังแปลเป็นไทยแค่บางส่วนเท่านั้น ผมแนะนำว่าเล่นเป็นภาษาอังกฤษเลยจะดีกว่า เมื่อพร้อมที่จะเล่นแล้วให้เรากดไปที่คำว่า "Play" ได้เลย หลังจากเรากดปุ่ม "Play" แล้วจะเข้ามาที่หน้านี้ จะขอแบ่งเป็น 4 ส่วนเพื่ออธิบายนะครับ(สามารถข้ามได้)ส่วนตัวเกม จะแทนเกาะที่ลอยๆอยู่เป็นบทเรียนแต่ละบทที่เราจำเป็นต้องรู้ ซึ่งจะลัดไปเรียนบทยากๆเลยไม่ได้ ตัวละครของเราจำเป็นจะต้องไปลุยเกาะแรกๆเพื่อเก็บเลเวลให้มากพอที่จะสามารถไปลุยเกาะที่ระดับสูงกว่า หรือบทเรียนยากๆที่ต้องใช้บทเรียนแรกๆเป็นพื้นฐานนั่นเองส่วนด้านล่างซ้าย เป็นส่วนที่ไว้ใช้แสดงค่าสถานะของตัวละครของเรา รวมถึงการสมัครหรือล็อคอินบัญชีด้วย ในกรณีที่เราไม่ได้เล่นในคอมพิวเตอร์ของเราอย่างเดียว เมื่อเราต้องไปเล่น CodeCombat ที่อื่นแต่ต้องการเล่นตัวละครเดิมที่เราเก็บเลเวลมาเยอะแล้ว ก็จำเป็นจะต้องสมัครบัญชีและล็อคอินก่อนเพื่อให้เกมสามารถรู้ได้ว่าเราเป็นใคร แต่ถ้าหากคุณไม่ได้จะไปเล่นที่อื่นอยู่แล้วก็ไม่จำเป็นต้องสมัครบัญชีก็ได้ครับ เพราะตัวเกมสามารถจดจำตัวละครเราเอาไว้ได้แม้เราจะปิดเบราเซอร์ไปแล้วเปิดมาใหม่ก็ตามส่วนล่างขวา เป็นคุณสมบัติเพิ่มเติมของตัวเกม ทั้งหน้าต่างไอเทม ตัวละคร หรือ ความสำเร็จในเกม จะแสดงตรงนี้ส่วนทางบนขวา เป็นส่วนที่ใช้สำหรับการเล่นแบบ Multi Player ในกรณีที่คุณครูต้องนำเกมนี้ไปเล่นกับนักเรียนในห้อง ก็สามารถสร้างบัญชีสำหรับอาจารย์ และให้ "รหัสห้อง" ในการเข้าเล่นกับนักเรียนในห้องได้ ในกรณีนี้ผมจะไม่สมัครบัญชีหรือปรับแต่งอะไรเลย เสร็จแล้วก็กด "Play" ที่เป็นปุ่มเดียวที่สามารถกดได้ตอนนี้ เมื่อเลือกบทเรียนแรกมาแล้ว จะเห็นตัวเลขข้างบนเป็นตัวบ่งบอกถึงจำนวนด่านของแต่ละบทเรียน ซึ่งแน่นอนว่าเราจะข้ามไปเล่นด้านท้ายๆไม่ได้ถ้าหากเรายังไม่ผ่านด่านแรกๆ เช่นเดียวกับตอนเลือกบทเรียนนั่นเอง แต่ถ้าหากเราเคยเล่นผ่านด่านนั้นๆมาแล้ว สามารถกลับมาเล่นด่านเดิมได้อีกครั้งเผื่อใครอยากจะทบทวน ในด่านแรกนี้จะเป็นเพียงพื้นฐานของการเปลี่ยนตำแหน่งของตัวละครของเราเท่านั้น และภาษาของโปรแกรมเองก็เป็นเพียงคำสั่งพื้นๆที่ยังไม่มีความซับซ้อนอะไร หลังจากกดเข้ามาแล้วจะเป็นหน้าเลือกตัวละคร และเลือกภาษาโปรแกรมที่เราต้องการจะเรียนรู้ในเกม ในตอนนี้ภาษาที่สามารถเลือกเล่นได้แบบสมบูรณ์จะมีเพียงแค่ภาษา Python และ JavaScript เท่านั้น ส่วนในอนาคตจะต้องมีภาษาอื่นๆเพิ่มเติมมาอีกอย่างแน่นอน เมื่อกด "Next" เข้ามาจะเป็นหน้าจัดการไอเทมของตัวละคร ถ้าหากไอเทมเรามีมาก เราก็จำเป็นต้องเลือกไอเทมที่มีประโยชน์ที่จะทำให้เราผ่านด่านนั้นๆได้ดีที่สุด แต่ตอนนี้ไอเทมมีเพียงชิ้นเดียว ผมก็เพียงแค่กด "equip" ตามที่ไกด์แนะนำไป จากนั้นกด "Play" แล้วรอโหลดสักพัก ตัวเกมจะแสดงด่านแรกมาให้เราเล่นทันที เป้าหมายของด่านแรกมีสองอย่างด้วยกันก็คือ หลีกเลี่ยงหนามแหลมคม และเก็บรวบรวมอัญมณีให้หมดเท่านั้นเอง หน้าที่ของเราคือการบังคับตัวละครของเราให้เดินตามที่เราต้องการ ผ่านการเขียนโปรแกรม หลังจากนั้นตัวละครของเราจะเดินไปตามที่เราได้โปรแกรมไว้(ต้องกดปุ่ม "RUN" ก่อนนะ) หลังจากเรากดปุ่ม "START LEVEL" ตัวเกมจะแบ่งออกเป็นสามส่วนหลักๆ โดยทางซ้ายสุดจะเป็นสภาพด่านที่เราต้องพาตัวละครของเราให้ทำภารกิจสำเร็จลุล่วงไปได้ ตรงกลางเป็นชุดคำสั่งภาษาโปรแกรมที่เราสามารถใช้ได้ และทางขวาก็คือสคริปของโปรแกรมที่เราต้องทำการเขียนมันออกมาเพื่อให้ตัวละครของเราเคลื่อนไหวในแบบที่เราต้องการ ในกรณีของด่านแรก ผมเขียนคำสั่งให้ตัวละครเคลื่อนที่ไปทางขวา บรรทัดต่อมาผมให้เคลื่อนที่ไปข้างล่าง และสุดท้ายให้เคลื่อนที่ไปทางขวาอีกครั้ง เมื่อเขียนทุกอย่างเสร็จแล้วก็กดปุ่ม "RUN" จากนั้นรอดูผลลัพธ์ว่าโปรแกรมที่เขียนมาจะสามารถทำให้ตัวละครของเราทำภารกิจสำเร็จได้หรือไม่ โดยหลังกดปุ่ม "RUN" ตัวละครที่อยู่ในส่วนทางซ้ายของหน้าจอจะเคลื่อนที่ไปตามที่เราได้เขียนโปรแกรมไว้ เมื่อตัวละครทำตามโปรแกรมที่เขียนไว้จบแล้ว และภารกิจสำเร็จทั้งหมด จะขึ้นแจ้งเตือนว่าสามารถทำภารกิจได้ทั้งหมด เสร็จแล้วจะมีปุ่ม "DONE" ขึ้นมาเพื่อให้เรากดเพื่อรับรางวัลของด่าน หลังกดปุ่ม "DONE" แล้วก็จะมาหน้าสรุปของรางวัลที่ได้จากด่าน และแจ้งเตือนความสำเร็จต่างๆที่เราสามารถทำได้ หลังจากนั้นเมื่อเรากดปุ่ม "CONTINUE" ก็จะกลับมายังหน้าเลือกด่านอีกครั้ง เพื่อให้เราได้เลือกด่านต่อไปเรื่อยๆ เป็นยังไงบ้างครับ กับเกม CodeCombat ที่รวมการเรียนเขียนโปรแกรมไปไว้ในเกม รูปแบบของมันเป็นอย่างงี้นั่นเอง สำหรับบางท่านอาจจะเห็นว่ามันง่ายเกินไป แต่ผมขอบอกเลยว่านี่เป็นเพียงจุดเริ่มต้นเท่านั้นครับ สำหรับด่านหลังๆ ที่เลเวลตัวละครของเราสูงขึ้นนั้น ยังมีลูกเล่นอะไรต่างๆอีกมากมายให้เราได้ลองคิดหาคำตอบกัน จนความปวดหัวของการเขียนโปรแกรมก็เริ่มโผล่มาให้เห็นแม้จะเปลี่ยนมันเป็นเกมแล้วก็ตาม สำหรับเกมนี้นอกจากจะเหมาะกับคนที่เริ่มอยากจะหัดเขียนโปรแกรมแล้ว ยังเหมาะกับเด็กที่กำลังเรียนรู้ด้วย ได้ทั้งสกิลเขียนโปรแกรม และสกิลภาษาอังกฤษเลย แถมยังมีการสร้างบัญชีสำหรับคุณครูที่เอาไว้เล่นกับนักเรียนในห้องของตัวเองและสามารถติดตามความคืบหน้าของศิษย์แต่ละคนได้ด้วย สำหรับใครที่ลองเอาไปเล่นแล้วชื่นชอบก็แนะนำต่อๆไปได้นะครับ