เรียนภาษา Python ด้วยเกม Code Combat - Part 1

Code Combat Mar 23, 2023

สวัสดีครับ โพสนี้เป็นสรุป การเรียนภาษา Python จากการเล่นเกม Code Combat Part 1 นะครับ โดยเนื้อหาที่เขียน จะอ้างอิงจาก Video Youtube ที่ผมบันทึกไว้ ตัวบล็อก เป็นการนำเอาเนื้อหา มาเขียนอธิบายเพิ่มเติม รวมถึงเผื่อเอาไว้อ่านทบทวนครับ (เพราะเข้าใจว่า 70% คือกลุ่มนักเรียน นักศึกษา)

Code Combat ตอนที่ 0 - แนะนำเกม
สืบเนื่องจากผมนั่งเล่น Facebook อยู่ แล้วไถไปเจอเพจนี้ CodeCombat Thailand ทำให้ผมนึกถึงเกม Code Combat ที่เป็นการฝึกเขียนโปรแกรมด้วยการเล่นเกม และก็เคยทำคลิปลง Youtube ที่ช่อง Devahoy เอาไว้ 2-3 ตอน (จำไม่ได้) แต่ช่วงหลังๆ พอดีว่า งานยุ่ง ก็เลยไม่ได้ทำต่
บทความ Code Combat ที่ผมเขียนไว้ก่อนหน้า

คลิปวิดีโอ


อธิบายเพิ่มเติม จากเกม Code Combat

Python จะอ่าน code จากบนลงล่าง คือเริ่มจาก บรรทัด 1 ไป 2 ไป 3 เรื่อยๆ

ในช่องเขียนโค๊ดขวามือ ถ้าเราพิมพ์ hero จะหมายถึง ตัว Hero เรา เราสามารถสั่งให้ Hero เดิน ขึ้น ลง ซ้าย ขวา ตามชื่อ method ที่เราต้องการได้

  • hero.moveUp() - ให้ Hero เดินขึ้น 1 ช่อง
  • hero.moveRight() - ให้ Hero เดินไปขวา 1 ช่อง
  • hero.moveDown() - ให้ Hero เดินลง 1 ช่อง
  • hero.moveLeft() - ให้ Hero เดินซ้าย 1 ช่อง
การเรียก method และต้องมีเครื่องหมาย วงเล็บ เปิด ปิด จะเป็นการบอกว่า ให้ทำการ execute method ถ้าเราไม่มีวงเล็บ เปิด เปิด จะเป็นแค่การ reference ถึง method

เราสามารถส่งค่า (argument) ไปกับ method ได้ เช่น ให้ hero เดินไปข้างบน 10 ช่อง

hero.moveUp(10)

การโจมตี (Attack)

การโจมตีโดยการระบุเป้าหมาย เป็นชื่อเป้าหมาย (ชื่อ ตัวพิมพ์เล็ก ตัวพิมพ์ใหญ่ ต่างกันนะครับ)

hero.attack("Treg")

การโจมตี โดยใช้ตัวแปร

enemy = "Treg"
hero.attack(enemy)

การโจมตีโดยใช้ method findNearestEnemy()

enemy = hero.findNearestEnemy()
hero.attack(enemy)

การสร้างสิ่งของ buildXY() จะมีรูปแบบคือ ชนิดของที่จะสร้าง ตำแหน่ง x และ y

hero.buildXY(buildTye, x, y)

ซึ่ง buildTypes ที่เกมมีมาให้คือ fire-trap (กัปดักไฟ) กับ fence (รั๊ว)

["fire-trap"], "fence"]

# เราลองสร้างกับดักไฟ แทนรั๋ว ได้ เช่น
hero.buildXY("fire-trap", 36, 34)

Python พื้นฐานจากเกม

การ comment ใน ภาษา Python จะเป็นแบบนี้ comment ในการเขียน comment คือ เอาไว้ให้คนอ่าน เป็น Information ต่างๆ ตัว Python จะไม่ execute comment

# This is comment

เพิ่มเติม เราสามารถเขียน comment หลายบรรทัดได้ แบบนี้

# THIS IS COMMENT
# this is second line

# หรือเขียนแบบนี้ได้

"""
นี่คือ
comment
ที่เขียนหลายบรรทัด
"""

String ในภาษา Python คือค่า text ทั่วๆ ไป ที่เขียนอยู่ภายใน Double Quote ( "" ) เช่น

"This is string"

Variables คือสิ่งที่เอาไว้เก็บค่า เก็บตัวเลข เก็บ String เก็บอะไรก็ได้ เช่น ตัวอย่างก่อนๆ

enemy = "Treg"
score = 100
age = 20
name = "Devahoy"

While Loop - Loop คือสิ่งที่ทำซ้ำๆ ตามเงื่อนไขของเรา ตัวอย่างในเกมคือ While Loop จะทำงาน จนกว่าเงื่อนไขจะเป็น เท็จ (False)

while True:
    <ทำงานตลอดไป เพราะว่าเงื่อนไขเป็น True>

Indentation - ในภาษา Python Indent หรือ space นั้นสำคัญมากๆ คือช่องว่าง ที่เราจะใส่ไว้ก่อน หรือใน Statement นั้นๆ เช่น อย่างใน While loop เราต้องมี 4 space ข้างใน loop เพื่อให้รู้ว่า มันเป็นสิ่งที่ทำภายใน Loop ถ้า Indent ผิด ใส่ space ไม่เท่ากัน ตัว Python มันก็จะอ่านไม่ได้

สรุป

เกมนี้ก็ถือว่าเป็นเกมที่ดีนะครับ ได้ทั้งความรู้ และก็ความสนุก เพลินๆ ดี คิดว่าเด็กๆ น่าจะชอบ นอกจากนี้ ถ้าเราจะเขียน Python ให้ชำนาญขึ้น ก็ต้องลองศึกษา หาข้อมูลเพิ่มเติม และที่สำคัญคือ การฝึกฝน และความสม่ำเสมอ นั่นเอง

Happy Coding ❤️

ฝากติดตาม Youtube และ Facebook Devahoy ด้วยนะครับ

Devahoy
Devahoy. Отметки ”Нравится”: 9 072 · Обсуждают: 133. รวม Tutorial เกี่ยวกับ Web Development โดยเฉพาะ JavaScript, Node.js และ React.js ในรูปแบบ blog และ video บน Youtube
Devahoy
สอนเขียนโปรแกรม สอนทำเว็บ สอน Node.js สอน React สอน Vue.js, Express.js, MongoDB ทั้ง Video Tutorial และ Blog Tutorial ปรึกษาปัญหาการเขียนโปรแกรม / สามารถสอบถามมาได้ทุกช่องทาง / ทั้ง Facebook Page หรือ เว็บ หรือ LINE

Tags

Chai Phonbopit

เป็น Web Dev ทำงานมา 10 ปีหน่อยๆ ด้วยภาษา JavaScript, Node.js, React, Vue และปัจจุบันกำลังสนใจ Web3, Crypto และ Blockchain เขียนบล็อกที่ https://devahoy.com