Thursday, November 28, 2013

รู้ได้อย่างไร ว่าเข้าใจใน Syntax ต่างๆ ของโปรแกรมภาษา ได้ในระดับที่ใช้การได้แล้ว

สวัสดีครับ

    การเรียนเขียนโปรแกรม ภาษานั้น ไม่มีสิ่งใดจะบอกเราได้ว่า เรารู้ในภาษานั้น ในระดับที่ใช้การได้หรือยัง นอกจาก

   1. การได้เขียนโปรแกรมที่มีการทำงานหลากหลาย   เช่นการทำโปรเจคท์ ให้ที่ทำงาน หรือหน่วยงาน
  ข้อนี้ มีข้อดีคือ คุณจะพบ สวรรค์ และ นรก ด้วยตัวคุณเอง เพราะมี กรอบเวลาบังคับอยู่ ประสบการณ์จะเพิ่มแบบพรวดพราด หากคุณ เอาอยู่ หากทำกันหลายคน ก็ยังได้แลกเปลี่ยนข้อมูลกันหลากหลายอีกด้วย

  2. ได้ทดลองเขียน เกม สัก 1 เกม สิ่งที่อยากแนะนำมากๆ คือ เกมแนวภาษาครับ หรือที่ ฝรั่งเรียกว่า เกมแนว Adventure ที่เป็นแบบ Text Based game หรือ ในญี่ปุ่นจะเรียกว่า Visual Novels นั่นเอง

       การทำเกม แนว Text Based game นั้นยุคแรกเป็นแนวผจญภัยเป็นส่วนมาก และฮิตมากๆ ในฝั่งตะวันตกสักราวๆ 30 กว่าปีก่อนครับ เสียดายเราไม่ได้เกิดสมัยนั้น ไม่งั้น พวกเราก็เขียนเกม แนวนี้และรวยกันไปแล้วครับ ทำไมเขียนเกมแนว Text Based ที่เน้นตัวอักษร

       1.เราอาจลืมไปว่า เกม ต่างๆ ก็คือ โปรแกรม 1 โปรแกรม หากคุณเรียนโปรแกรมภาษาใดๆ ได้แล้ว คุณก็ต้องเขียน เกมได้ จริงไหม งั้นทำไม ไม่ลองเขียนล่ะ

       2.เกมแนวอักษร จะเน้นอักษรเป็นหลัก ไม่ต้องไปเรียนรู้เรื่องอนิเมชั่น 2 - 3 มิติ คือ ตัดเรื่องนี้ไปเลย เอาไว้โอกาสหน้า ครับทำให้เขียนเกมได้ไม่ยาก

    สำหรับการเขียน แนวทางก็คือ สร้างเนื้อเรื่อง ซึ่ง ส่วนมากเน้นการเดินทางของผู้กล้า ประมาณ มังกร อัศวิน เจ้าหญิง การเผชิญกับภัยต่างๆ แก้ปริศนา อะไรประมาณนี้ครับ แต่จะเขียนแนวอื่นได้ไหม ได้ครับเช่น สืบสวน สอบสวน เป็นต้น ก็จริงๆ แล้วฝรั่งเขาก็มีฉีกออกไปอีกแนว คือ Interactive Fiction หรือ นิยายแนวตอบโต้กันได้ระหว่างผู้เล่นกับเนื้อเรื่อง มีทั้งแบบ หนังสือ และแบบเหมือนเกม นี่ล่ะ เจ๋งไหม

     ถามว่าเกมแนวข้างต้น มันย้ำว่าเราเข้าใจการเขียนโปรแกรมที่ตรงไหน ?

    -เรื่อง Input เราได้เขียนในส่วน ตัวรับคำสั่ง ว่าจะให้ทำอะไร เช่น

Hello , What is your command?  ท่านต้องการสั่งอะไร
เกมแนวนี้จะตอบว่า   go north, west อะไรประมาณนี้ คือ ไปทางทิศเหนือ ทิศตะวันตก เป็นต้น

  -เรื่อง Selection เช่น...
จากน้ัน พอเดินทางไป ก็ไปเจอ อะไรต่างๆ เช่น พ่อมด
What do you want? พ่อมดอาจถามแบบนี้ แล้วมี ตัวเลือกมาให้
เช่น A. Sword, B. Script, C.Holy water
อะไรประมาณนี้

-เรื่องการ สร้างเหตุการณ์สุ่ม แบบ Random ก็ต้องใช้ ฟังก์ชั่น Random เป็นต้น
-เรื่องการจัดการไฟล์ เช่น การนำข้อมูลของผู้เล่น ณ. เวลาหนึ่งๆ ไปเก็บไว้ใน Array
จากนั้น ค่อยนำลง Save ในไฟล์ ประมาณนี้ พอคราวหลังมาเล่น ก็อาจใช้ Password มาเรียกข้อมูลของ
ตัวเองแบบนี้เป็นต้น
-การเข้ารหัสข้อมูลที่ Save ไม่ให้ เราไปแอบเพิ่ม ลด เอาเอง เป็นต้น ทำเป็นเล่นไป สมัยแรกๆ ขนาดเกมมีกราฟิกสวยๆ ดังๆ ยัง Save เป็น Text File อ่านได้ Save ทับได้ ก็มีมาแล้วครับ ตอนนั้น สงสัย เกมเมอร์ยังไม่เชี่ยวเหมือนสมัยนี้ ที่เขาใช้ Bot เล่นแทนกันแล้ว (ไม่ดีครับ โกงงงง ครับ)

  จะเห็นว่า มันเอา พื้นฐานการเขียนโปรแกรม ที่สุดแล้ว ก็คือ Program Control มาใช้นั่นล่ะครับ

จึงต้องบอกว่า ต้องลองเขียนเกม แนวนี้ครับ แล้วคุณจะรู้ว่า เรียนในตำรา กับเขียนเกมเอง แล้วหา Solution หรือ การแก้ปัญหาเอง โดยคิดเองเป็นส่วนใหญ่นี่ มันน่าภูมิใจขนาดไหน :0)

สวัสดีครับ
คุณบอลล์ :0)

No comments:

Post a Comment