ติดตามเราได้ที่ Facebook ชื่อเพจ Planila Game Developer
บทนี้จะเป็นเนื้อหาเกี่ยวกับการเขียนโปรแกรม ผู้อ่านที่ไม่เคยเขียนโปรแกรมมาก่อนไม่ต้องกังวลไป โปรแกรม Ren'Py ใช้รูปแบบเดียวกับภาษา Python ซึ่งเข้าใจง่ายกว่าภาษาคอมพิวเตอร์หลายตัว (เช่น C, Java) จุดประสงค์ของบทนี้คือเพื่อให้ผู้อ่านใช้งานตัวแปรเบื้องต้นได้ ไม่ได้สอนภาษา Python เต็มตัว ผู้เขียนละเนื้อหาเชิงเทคนิคที่ซับซ้อนไว้ เพื่อให้นักสร้างเกมที่ไม่เคยเขียนโปรแกรมสามารถเข้าใจได้ง่าย ๆ สำหรับผู้อ่านที่ต้องการเขียนโปรแกรมเต็มตัวให้ศึกษาภาษา Python จากตำราสอนเขียนโปรแกรม
คำสั่งของโปรแกรม Ren'Py ไม่มีตัวแปรใด ๆ เลย นั่นหมายความว่าเราไม่สามารถเก็บข้อมูลลงหน่วยความจำได้ แต่เกมแนว Visual Novel หลายเกมจำเป็นต้องเก็บข้อมูล เช่น เก็บค่าความรักของนางเอก, หรือเก็บตัวเลือกที่ผู้เล่นเคยเลือก เพื่อนำไปสู่ฉากจบที่แตกต่างกัน กรณีที่ต้องใช้ตัวแปรหรือเก็บข้อมูลแบบนี้ ถึงคราวที่ต้องใช้ภาษา Python แล้วล่ะ!
เนื้อหาในบทนี้จะเป็นเนื้อหาทฤษฎี เราจะนำเนื้อหาในบทนี้ไปต่อยอด และลงมือปฏิบัติจริงกันในบทต่อไป
ประเภทของตัวแปร
ตัวแปร (Variable) คือสิ่งที่เก็บข้อมูล เมื่อเกมหรือโปรแกรมทำงานบางครั้งมีข้อมูลที่ต้องใช้งานต่อในอนาคต เราต้องเก็บข้อมูลนั้นไว้ สิ่งที่เก็บข้อมูลก็คือตัวแปร เมื่อถึงเวลาที่ต้องการก็เรียกใช้ข้อมูลจากตัวแปรนั้น
(เชิงเทคนิค : ในทางทฤษฎีตัวแปรเป็นเพียงสิ่งที่สมมติขึ้น เพื่อใช้อ้างอิงตำแหน่งที่เก็บข้อมูลในหน่วยความจำ ตัวแปรไม่ได้เก็บข้อมูลจริง ๆ แต่ตามตำรามักสอนว่าตัวแปรเก็บข้อมูล เพื่อให้คนที่เพิ่งเรียนเขียนโปรแกรมเข้าใจง่าย)
ตัวแปรที่ควรทราบในภาษา Python มี 2 ประเภทได้แก่- ตัวแปรตัวเลข (Number) เก็บข้อมูลที่เป็นจำนวนเต็ม (Integer) หรือทศนิยม (Floating-Point) เช่น 0, -5, 91, -12.67
- ตัวแปรข้อความ (String) เก็บข้อมูลที่เป็นตัวอักษรหรือข้อความ เช่น "A", "Planila Game Developer", 'Visual Novel'
ภาษา Python แตกต่างจากหลายภาษา (เช่น C, Java) ตรงที่ตัวแปรจะถูกประกาศทันทีที่ใช้งาน ไม่ต้องประกาศตัวแปรล่วงหน้า และไม่ต้องระบุประเภทของตัวแปร วิธีใช้ตัวแปรเพียงแค่ใส่ชื่อของตัวแปร (Identifier) และกำหนดค่าให้ตัวแปร ถ้าตัวแปรนั้นไม่เคยมีมาก่อนจะถือว่าเป็นการประกาศตัวแปรโดยอัตโนมัติ และโปรแกรมจะเลือกประเภทของตัวแปรให้โดยอัตโนมัติ ตัวอย่างเช่น
Code:
$ a = -3 # ประกาศตัวแปร a (ประเภท integer) และเก็บค่า -3
$ relation = 12.65 # ประกาศตัวแปร relation (ประเภท floating-point) และเก็บค่า 12.65
$ name = "Planila" # ประกาศตัวแปร name (ประเภท string) และเก็บค่า "Planila"
$ b = 3 * 5 # ประกาศตัวแปร b (ประเภท integer) และเก็บค่า 15
$ a = 9 + 2 # เก็บค่า 11 | บรรทัดนี้ไม่ใช่การประกาศตัวแปร เพราะตัวแปร a เคยถูกประกาศแล้ว
ตัวแปรตัวเลขแบ่งย่อยเป็นตัวแปรจำนวนเต็ม (Integer) และตัวแปรทศนิยม (Floating-Point) ความแตกต่างคือการเก็บค่าทศนิยม เช่น x = 1 เป็นตัวแปรจำนวนเต็ม, แต่ y = 1.0 เป็นตัวแปรทศนิยม (สังเกตจากการใส่จุดทศนิยม ไม่สนใจว่าเลขหลังทศนิยมคือเลขอะไร)
ข้อความหรือตัวอักษรที่ใส่ในตัวแปรข้อความต้องอยู่ในเครื่องหมาย ' ' หรือ " " เช่น name = 'Planila' หรือ name = "Planila" ก็มีค่าเหมือนกัน ภาษา Python ไม่มีตัวแปรตัวอักษร (Character) โดยเฉพาะเหมือนภาษา C ดังนั้นตัวแปรที่เก็บตัวอักษรเพียงตัวเดียวจะถูกจัดอยู่ในตัวแปรข้อความ
Boolean คือส่วนหนึ่งของ Integer
ภาษา Python ไม่มีตัวแปรตรรกศาสตร์ (Boolean) โดยเฉพาะเหมือนภาษา C หรือ Java แต่สามารถเก็บค่าทางตรรกศาสตร์ลงในตัวแปรจำนวนเต็มได้ (Boolean เป็นส่วนหนึ่งของ Integer) ผลลัพธ์ทางตรรกศาสตร์ในภาษา Python ได้แก่ 0 (และ 0.0) คือเท็จ (False) และนอกจากนั้นคือจริง (True) แต่โดยทั่วไปมักกำหนดให้จริงเท่ากับ 1 การกำหนดค่าตรรกศาสตร์ต้องใส่เป็นตัวเลขเท่านั้น เช่น love = 1 ไม่สามารถใส่เป็น True หรือ False ได้
นอกจากนี้ภาษา Python ยังมีตัวแปรประเภทอื่น เช่น Lists, Tuple, Set ตัวแปรเหล่านี้สามารถใช้ในโปรแกรม Ren'Py ได้ แต่ผู้เขียนจะไม่สอนในบทความนี้ เนื่องจากเป็นเนื้อหาที่ลึกและไม่จำเป็นสำหรับนักสร้างเกมมือใหม่
ตัวดำเนินการ (Operator)
นอกจากตัวแปรสามารถเก็บข้อมูลตามหัวข้อที่แล้ว เรายังสามารถคำนวณหรือเปรียบเทียบค่าแล้วเก็บลงในตัวแปรได้ การคำนวณหรือเปรียบเทียบต้องใช้ตัวดำเนินการ ตัวดำเนินการที่ควรทราบในภาษา Python ได้แก่
......
นี่เพิ่งแค่ 35% ของบทความนี้เท่านั้น บทความฉบับเต็มมีเยอะกว่านี้อีก!
เนื่องจากติดปัญหาเรื่องนโยบายการเผยแพร่บทความ ทำให้เราไม่สามารถเผยแพร่บทความฉบับเต็มลงในเว็บนี้ได้ อ่านฉบับเต็มได้ที่บทความต้นฉบับ (ไม่มีค่าใช้จ่าย)
บทความต้นฉบับ https://planila.blogspot.com/2019/07/ren...ter04.html