ตัวอย่างการเขียนโปรแกรมสร้างเกม

Moster Programming

แถมฟรีภายใน VDO Tranning Vol6 เท่านั้น

 

รูปแบบคำสั่งในการสร้างเกมตัวอย่างการตีมอนสเตอร์เพื่อเก็บ level

monster-design


การบรรยายอย่างละเอียด 6 ชั่วโมงเต็มเทียบเท่าการอบรม ทุกขั้นตอน
พร้อมตัวอย่าง File model Source Code จริงประกอบในการบรรยาย
จาก Source Code บรรทัดแรกจนจบเกมส์ ที่นี่ ที่เดียวในไทย



Step01-ทำความรู้จักกับองค์ประกอบของไฟล์และทรัพยากรต่างๆภายใน project Game
Step02-บรรยาย Source Code Main.dba
Step03-การกำหนดขนาดการแสดงผลของตัวเกมส์
Step04-การสร้าง Camera ภายในเกมส์
Step05-การกำหนดแสงสว่างภายในเกมส์
Step06-การกำหนดระบบ ai ในเกมส์
Step07-ทำการเรียนรู้ตัวแปรแบบ global
Step08-ทำการเรียนรู้การโหลดไฟล์เสียงภายในเกมส์
Step09-คำสั่งสำหรับการโหลดไฟล์เสียง
Step10-การโหลดไฟล์นามสกุล .Avi
Step11-เรียนรู้การเล่น Loading
Step12-การโหลดโมเดลผู้เล่นเข้าสู่ตัวเกมส์
Step13-เรียนรู้นำอาวุธผูกติดกับตัวละคร
Step14-เรียนรู้การเล่น effect2D
Step15-การโหลดมอนสเตอร์ในแต่ละ level
Step16-โหลดมอนสเตอร์ปริมาณมากๆอย่างไร
Step17-การโหลดไอเท็มในระบบเกมส์คืออะไร
Step18-โหลด object โมเดลหลายแบบ
Step19-โหลดโมเดลกลุ่มที่ 3 อย่างไร
Step20-โหลดโมเดลกลุ่มที่ 4 อย่างไร
Step21-โหลดโมเดลกลุ่มที่ 5 อย่างไร
Step22-โหลดโมเดลกลุ่มที่ 6-7 อย่างไร
Step23-โหลดโมเดลอาคารประกอบในเกมส์
Step24-โหลดโมเดลต้นไม้เข้าสู่เกมส์
Step25-การสร้างพื้นในเกมส์
Step26-สร้างเงื่อนไขสำหรับ level 2
Step27-สร้างเงื่อนไขสำหรับ level ที่ 3
Step28-เรียนรู้การสร้าง timmer
Step29-การใส่ท้องฟ้าในเกมส์
Step30-การวนรอบประมวลผลในเกมส์
Step31-การกำหนดตัวอักษร font ในเกมส์
Step32-เรียนรู้การ debug data ตรวจสอบข้อผิดพลาดในการเขียนโปรแกรม
Step33-การควบคุมการเล่น effect2D
Step34-การควบคุมการเก็บไอเท็ม
Step35-การตรวจสอบการตีมอนสเตอร์
Step36-การควบคุมการเล่นแอนิเมชั่นการโจมตี
Step37-การแสดงรายละเอียดของศรัตรู
Step38-การควบคุมโมเดลในกลุ่มที่ 3
Step39-การควบคุมโมเดลในกลุ่มที่ 4
Step40-การควบคุมโมเดลในกลุ่มที่ 5
Step41-การควบคุมโมเดลในกลุ่มที่ 6
Step42-การควบคุมโมเดลในกลุ่มที่ 7
Step43-การควบคุมการทำงานใน level medium
Step44-การควบคุมการทำงานใน level hard
Step45-การเขียนเงื่อนตัดสินการชนะในเกมส์
Step46-การกำหนดให้ศรัตรูดจมตีผู้เล่นในแต่ละ level
Step47-การตรวจสอบศรัตรูโจมตีผู้เล่นใน level easy
Step48-การตรวจสอบศรัตรูโจมตีผู้เล่นใน level medium
Step49-การตรวจสอบศรัตรูโจมตีผู้เล่นใน level hard
Step50-การกำหนดให้กล้องติดตามผู้เล่นในเกมส์
Step51-การเขียนโปรแกรมควบคุมปุ่มเดินหน้าถอยหลังเลี้ยวซ้ายขวาในระบบเกมส์
Step52-การควบคุมปุ่ม space bar และการโจมตี
Step53-การสั่งผู้เล่นให้มีสถานนะตายในระบบเกมส์
Step54-การสร้างฟังก์ชันเพื่อควบคุม monster
Step55-การคำนวณระยะทางอัตโนมัติระหว่างผู้เล่นกับศรัตรูในกลุ่ม monster 1
Step56-การคำนวณระยะทางอัตโนมัติระหว่างผู้เล่นกับศรัตรูในกลุ่ม monster 2
Step57-การคำนวณระยะทางอัตโนมัติระหว่างผู้เล่นกับศรัตรูในกลุ่ม monster 3
Step58-การคำนวณระยะทางอัตโนมัติระหว่างผู้เล่นกับศรัตรูในกลุ่ม monster 4
Step59-การคำนวณระยะทางอัตโนมัติระหว่างผู้เล่นกับศรัตรูในกลุ่ม monster 5
Step60-การคำนวณระยะทางอัตโนมัติระหว่างผู้เล่นกับศรัตรูในกลุ่ม monster 6
Step61-การคำนวณระยะทางอัตโนมัติระหว่างผู้เล่นกับศรัตรูในกลุ่ม monster 7
Step62-การแสดงพลังชีวิตของผู้เล่น
Step63-การสร้างฟังก์ชันการคอมไพลืใน project Game
Step64-เรียนรู้การสร้างเมนูเกมส์
Step65-การทำงานกับเมนูเกมส์
Step66-ไฟล์ game ที่ทำงานร่วมกับเกมส์
Step67-การตรวจสอบการกดเมนูเกมส์
Step68-การอ่านตำแหน่ง mouse click menu x,y


monster-source-code
ตัวอย่าง คำสั่งที่เริ่มการอธิบายตั้งแต่บรรทัดแรกจนจบเกมส์

จำนวน 2000 บรรทัด VDO Tranning 63 ขั้นตอน

ด้วย Dark Basic Game Enigne ซึ่งมีคำสั่งดังนี้

START:
เป็นจุด jump ที่สร้างขึ้นเพื่อรอการ click เลือก level จากไฟล์ game.dba

IF CHECK DISPLAY MODE(1024,768,32)=1
THEN SET DISPLAY MODE 1024,768,32

เงื่อนไขการตรวจสอบการกำหนดจอภาพ ถ้ามีการกำหนดไว้ที่ 1024,768
ตัวเกมก็จะแสดงผลที่ 1024,768

IF CHECK DISPLAY MODE(1600,900,32)=1
THEN SET DISPLAY MODE 1600,900,32

เงื่อนไขการตรวจสอบการกำหนดจอภาพ ถ้ามีการกำหนดไว้ที่ 1600,900
ตัวเกมก็จะแสดงผลที่ 1600,900


SYNC ON
เป็นคำสั่งสำหรับการเปิดระบบ Sync

SYNC RATE 60
กำหนด frame rate ไว้ที่ 60 ซึ่งทำงานร่วมกับบคำสั่ง Sync

SET CAMERA RANGE 0,0.2,1000000
คำสั่งสำหรับการสร้างกล้อง และกำหนดระยะการมองเห็น
โดยที่นี้ หมายเลขกล้องคือหมายเลข 0

SET AMBIENT LIGHT 80
เป็นคำสั่งสำหรับกำหนดแสงภายในเกม
ช่วยให้ความสว่างทางด้านเงา


AI START
เป็นคำสั่ง สำหรับการเริ่มเปิดระบบการทำงาน
ของ AI darak basic

AI SET RADIUS 3
เป็นคำสั่งสำหรับกำหนด radius ของตัวละครทั้งหมดในเกม
ซึ่งระบบ AI ของ Dark basic จะนำไปคำนวณในการตรวจสอบ ของ ai ในเกม

 

 

GLOBAL score
กำหนดตัวแปรโกบอล score สำหรับเก็บคะแนนภายในเกม
โดยเป็นประเภท จำนวนเต็ม

GLOBAL WALK#
กำหนดตัวแปร WALK#  สำหรับเก็บความเร็วในการเดินของผู้เล่น 
โดยเป็นประเภท ทศนิยม


GLOBAL Power_Player
กำหนดตัวแปร Power_player สำหรับเก็บพลังชีวิตของผู้เล่น
โดยเป็นประเภท จำนวนเต็ม


GLOBAL Status_Player$
กำหนดตัวแปร Status_Player$ สำหรับเก็บสถานะของผู้เล่น
โดยเป็นประเภท จำนวนสตริง

rem ---------------------------------- Player -------------------
PLAYER=99
สร้างตัวแปร PLAYER และกำหนดหมายเลขเป็น 99

WALK#=10                 ; REM -------->Speed Player
กำหนดความเร็วของการเดินของผู้เล่นเป็น 10

Power_Player=2000      
กำหนดพลังชีวิตของผู้เล่นเป็น 2000

Status_Player$="life"  
กำหนดสถานะเริ่มต้นของผู้เล่น life

 

 

GLOBAL Group1
กำหนดตัวแปรโกบอล Group1 สำหรับการโหลดภาพข้อความ
  โดยเป็นประเภท จำนวนเต็ม


GLOBAL Group1_2
กำหนดตัวแปรโกบอล Group1_2  สำหรับการโหลดภาพข้อความ 
โดยเป็นประเภท จำนวนเต็ม


GLOBAL Group1_3
กำหนดตัวแปรโกบอล Group1_3 สำหรับการโหลดภาพข้อความ 
โดยเป็นประเภท จำนวนเต็ม

GLOBAL Group1_4
กำหนดตัวแปรโกบอล Group1_4  สำหรับการโหลดภาพข้อความ 
โดยเป็นประเภท จำนวนเต็ม


GLOBAL Group1_5
กำหนดตัวแปรโกบอล Group1_5  สำหรับการโหลดภาพข้อความ 
โดยเป็นประเภท จำนวนเต็ม


GLOBAL Group1_6
กำหนดตัวแปรโกบอล Group1_6  สำหรับการโหลดภาพข้อความ 
โดยเป็นประเภท จำนวนเต็ม


GLOBAL Group1_7
กำหนดตัวแปรโกบอล Group1_7  สำหรับการโหลดภาพข้อความ 
โดยเป็นประเภท จำนวนเต็ม


GLOBAL Group2_2
กำหนดตัวแปรโกบอล Group2_2  สำหรับการโหลดภาพข้อความ 
โดยเป็นประเภท จำนวนเต็ม


GLOBAL Group2_3
กำหนดตัวแปรโกบอล Group2_3  สำหรับการโหลดภาพข้อความ 
โดยเป็นประเภท จำนวนเต็ม


GLOBAL Group2_4
กำหนดตัวแปรโกบอล Group2_4  สำหรับการโหลดภาพข้อความ 
โดยเป็นประเภท จำนวนเต็ม


GLOBAL Group2_5
กำหนดตัวแปรโกบอล Group2_5 สำหรับการโหลดภาพข้อความ 
โดยเป็นประเภท จำนวนเต็ม


GLOBAL Group2_6
กำหนดตัวแปรโกบอล Group2_6  สำหรับการโหลดภาพข้อความ 
โดยเป็นประเภท จำนวนเต็ม


GLOBAL Group2_7
กำหนดตัวแปรโกบอล Group2_7  สำหรับการโหลดภาพข้อความ 
โดยเป็นประเภท จำนวนเต็ม


GLOBAL Group3_2
กำหนดตัวแปรโกบอล Group3_2  สำหรับการโหลดภาพข้อความ 
โดยเป็นประเภท จำนวนเต็ม


GLOBAL Group3_3
กำหนดตัวแปรโกบอล Group3_3  สำหรับการโหลดภาพข้อความ 
โดยเป็นประเภท จำนวนเต็ม


GLOBAL Group3_4
กำหนดตัวแปรโกบอล Group3_4  สำหรับการโหลดภาพข้อความ
  โดยเป็นประเภท จำนวนเต็ม


GLOBAL Group3_5
กำหนดตัวแปรโกบอล Group3_5  สำหรับการโหลดภาพข้อความ
  โดยเป็นประเภท จำนวนเต็ม


GLOBAL Group3_6
กำหนดตัวแปรโกบอล Group3_6  สำหรับการโหลดภาพข้อความ 
โดยเป็นประเภท จำนวนเต็ม


GLOBAL Group3_7
กำหนดตัวแปรโกบอล Group3_7  สำหรับการโหลดภาพข้อความ 
โดยเป็นประเภท จำนวนเต็ม

rem ==================================================

rem GAME INTERFACE
InterFaceLayer1=200
กำหนดให้ InterFaceLayer1 เป็นหมายเลขของภาพ200

Group1=221
กำหนดให้ Group1 เป็นหมายเลขของภาพ221


Group1_2=203
กำหนดให้ Group1_2 เป็นหมายเลขของภาพ203


Group1_3=204
กำหนดให้ Group1_3 เป็นหมายเลขของภาพ204


Group1_4=205
กำหนดให้ Group1_4 เป็นหมายเลขของภาพ205


Group1_5=206
กำหนดให้ Group1_5 เป็นหมายเลขของภาพ206


Group1_6=207
กำหนดให้ Group1_6 เป็นหมายเลขของภาพ207


Group1_7=208
กำหนดให้ Group1_6 เป็นหมายเลขของภาพ207


Group2_2=209
กำหนดให้ Group2_2 เป็นหมายเลขของภาพ209

Group2_3=210
กำหนดให้ Group2_3 เป็นหมายเลขของภาพ210

Group2_4=211
กำหนดให้ Group2_4 เป็นหมายเลขของภาพ211

Group2_5=212
กำหนดให้ Group2_5 เป็นหมายเลขของภาพ212

Group2_6=213
กำหนดให้ Group2_6 เป็นหมายเลขของภาพ213

 

Group2_7=214
กำหนดให้ Group2_7 เป็นหมายเลขของภาพ214

Group3_2=215
กำหนดให้ Group3_2 เป็นหมายเลขของภาพ215

Group3_3=216
กำหนดให้ Group3_3 เป็นหมายเลขของภาพ216

Group3_4=217
กำหนดให้ Group3_4 เป็นหมายเลขของภาพ217

Group3_5=218
กำหนดให้ Group3_5 เป็นหมายเลขของภาพ218

Group3_6=219
กำหนดให้ Group3_6 เป็นหมายเลขของภาพ219

Group3_7=220
กำหนดให้ Group3_7 เป็นหมายเลขของภาพ220

InterFaceLayer2=300
กำหนดให้ InterFaceLayer2เป็นหมายเลขของภาพ300

LOAD IMAGE "interface\layer1.png",InterFaceLayer1
ทำการโหลด image จาก directory  " interface\layer1.png " 
แล้วกำหนดภาพนี้ให้กับตัวแปร InterFaceLayer1
สำหรับทำเป็นอินเตอร์เฟส พลังชีวิต  


LOAD IMAGE "interface\layer2.png",InterFaceLayer2
ทำการโหลด image จาก directory  " interface\layer2.png " 
แล้วกำหนดภาพนี้ให้กับตัวแปร InterFaceLayer2
สำหรับทำเป็นอินเตอร์เฟส พลังชีวิต

 

LOAD IMAGE "Object\level2\battery\battery.bmp",201
ทำการโหลด image จาก directory  " interface\gold.png "  
แล้วกำหนดภาพนี้ให้กับตัวแปร 201
สำหรับทำเป็นอินเตอร์เฟสภาพบอกสถานะของวัตถุภายในเกมให้กับผู้เล่น

LOAD IMAGE "interface\gold.png",Group1
ทำการโหลด image จาก directory  interface\gold.png " 
แล้วกำหนดภาพนี้ให้กับตัวแปร Group1
สำหรับทำเป็นอินเตอร์เฟสภาพบอกสถานะของวัตถุภายในเกมให้กับผู้เล่น

LOAD IMAGE "interface\group1_2.png",Group1_2
ทำการโหลด image จาก directory  “interface\group1_2.png " 
แล้วกำหนดภาพนี้ให้กับตัวแปร Group1_2
สำหรับทำเป็นอินเตอร์เฟสภาพบอกสถานะของวัตถุภายในเกมให้กับผู้เล่น


LOAD IMAGE "interface\group1_3.png",Group1_3
ทำการโหลด image จาก directory  “interface\group1_3.png "
  แล้วกำหนดภาพนี้ให้กับตัวแปร Group1_3
สำหรับทำเป็นอินเตอร์เฟสภาพบอกสถานะของวัตถุภายในเกมให้กับผู้เล่น

LOAD IMAGE "interface\group1_4.png",Group1_4
ทำการโหลด image จาก directory  “interface\group1_4.png " 
แล้วกำหนดภาพนี้ให้กับตัวแปร Group1_4
สำหรับทำเป็นอินเตอร์เฟสภาพบอกสถานะของวัตถุภายในเกมให้กับผู้เล่น

LOAD IMAGE "interface\group1_5.png",Group1_5
ทำการโหลด image จาก directory  “interface\group1_5.png " 
แล้วกำหนดภาพนี้ให้กับตัวแปร Group1_5
สำหรับทำเป็นอินเตอร์เฟสภาพบอกสถานะของวัตถุภายในเกมให้กับผู้เล่น

LOAD IMAGE "interface\group1_6.png",Group1_6
ทำการโหลด image จาก directory  “interface\group1_6.png " 
แล้วกำหนดภาพนี้ให้กับตัวแปร Group1_6
สำหรับทำเป็นอินเตอร์เฟสภาพบอกสถานะของวัตถุภายในเกมให้กับผู้เล่น

LOAD IMAGE "interface\group1_7.png",Group1_7
ทำการโหลด image จาก directory  “interface\group1_7.png " 
แล้วกำหนดภาพนี้ให้กับตัวแปร Group1_7
สำหรับทำเป็นอินเตอร์เฟสภาพบอกสถานะของวัตถุภายในเกมให้กับผู้เล่น

LOAD IMAGE "interface\group2_2.png",Group2_2
ทำการโหลด image จาก directory  “interface\group2_2.png " 
แล้วกำหนดภาพนี้ให้กับตัวแปร Group2_2
สำหรับทำเป็นอินเตอร์เฟสภาพบอกสถานะของวัตถุภายในเกมให้กับผู้เล่น

LOAD IMAGE "interface\group2_3.png",Group2_3
ทำการโหลด image จาก directory  “interface\group2_3.png " 
แล้วกำหนดภาพนี้ให้กับตัวแปร Group2_3
สำหรับทำเป็นอินเตอร์เฟสภาพบอกสถานะของวัตถุภายในเกมให้กับผู้เล่น

LOAD IMAGE "interface\group2_4.png",Group2_4
ทำการโหลด image จาก directory  “interface\group2_4.png " 
แล้วกำหนดภาพนี้ให้กับตัวแปร Group2_4
สำหรับทำเป็นอินเตอร์เฟสภาพบอกสถานะของวัตถุภายในเกมให้กับผู้เล่น

LOAD IMAGE "interface\group2_5.png",Group2_5
ทำการโหลด image จาก directory  “interface\group2_5.png "
  แล้วกำหนดภาพนี้ให้กับตัวแปร Group2_5
สำหรับทำเป็นอินเตอร์เฟสภาพบอกสถานะของวัตถุภายในเกมให้กับผู้เล่น

LOAD IMAGE "interface\group2_6.png",Group2_6
ทำการโหลด image จาก directory  “interface\group2_6.png " 
แล้วกำหนดภาพนี้ให้กับตัวแปร Group2_6
สำหรับทำเป็นอินเตอร์เฟสภาพบอกสถานะของวัตถุภายในเกมให้กับผู้เล่น

LOAD IMAGE "interface\group2_7.png",Group2_7
ทำการโหลด image จาก directory  “interface\group2_7.png " 
แล้วกำหนดภาพนี้ให้กับตัวแปร Group2_7
สำหรับทำเป็นอินเตอร์เฟสภาพบอกสถานะของวัตถุภายในเกมให้กับผู้เล่น

LOAD IMAGE "interface\group3_2.png",Group3_2
ทำการโหลด image จาก directory  “interface\group3_2.png " 
แล้วกำหนดภาพนี้ให้กับตัวแปร Group3_2
สำหรับทำเป็นอินเตอร์เฟสภาพบอกสถานะของวัตถุภายในเกมให้กับผู้เล่น

LOAD IMAGE "interface\group3_3.png",Group3_3
ทำการโหลด image จาก directory  “interface\group3_3.png "
  แล้วกำหนดภาพนี้ให้กับตัวแปร Group3_3
สำหรับทำเป็นอินเตอร์เฟสภาพบอกสถานะของวัตถุภายในเกมให้กับผู้เล่น

LOAD IMAGE "interface\group3_4.png",Group3_4
ทำการโหลด image จาก directory  “interface\group3_4.png " 
แล้วกำหนดภาพนี้ให้กับตัวแปร Group3_4
สำหรับทำเป็นอินเตอร์เฟสภาพบอกสถานะของวัตถุภายในเกมให้กับผู้เล่น

LOAD IMAGE "interface\group3_5.png",Group3_5
ทำการโหลด image จาก directory  “interface\group3_5.png " 
แล้วกำหนดภาพนี้ให้กับตัวแปร Group3_5
สำหรับทำเป็นอินเตอร์เฟสภาพบอกสถานะของวัตถุภายในเกมให้กับผู้เล่น

LOAD IMAGE "interface\group3_6.png",Group3_6
ทำการโหลด image จาก directory  “interface\group3_6.png " 
แล้วกำหนดภาพนี้ให้กับตัวแปร Group3_6
สำหรับทำเป็นอินเตอร์เฟสภาพบอกสถานะของวัตถุภายในเกมให้กับผู้เล่น

LOAD IMAGE "interface\group3_7.png",Group3_7
ทำการโหลด image จาก directory  “interface\group3_7.png " 
แล้วกำหนดภาพนี้ให้กับตัวแปร Group3_7
สำหรับทำเป็นอินเตอร์เฟสภาพบอกสถานะของวัตถุภายในเกมให้กับผู้เล่น



LOAD SOUND "sound\hit.wav",1               ; rem key spacebar
ทำการโหลด SOUND จาก directory  “sound\hit.wav " 
แล้วกำหนดให้เป็น sound หมายเลข 1 สำหรับกด space bar แล้วเล่น sound โจมตี

LOAD SOUND "sound\Aliens\droid4.wav",2     ; rem hit monster
ทำการโหลด SOUND จาก directory  “sound\Aliens\droid4.wav " 
แล้วกำหนดให้เป็น sound หมายเลข 2

 

LOAD SOUND "sound\Aliens\droid1.wav",3     ; rem keep item
ทำการโหลด SOUND จาก directory  “sound\Aliens\droid1.wav "
  แล้วกำหนดให้เป็น sound หมายเลข 3

LOAD SOUND "sound\Monsters\Lorax.wav",4     ; rem monster die
ทำการโหลด SOUND จาก directory  “sound\Monsters\Lorax.wav "
  แล้วกำหนดให้เป็น sound หมายเลข 4

LOAD SOUND "sound\Shot-impacts\hit-can.wav",5 ; rem hit can
ทำการโหลด SOUND จาก directory  “sound\Shot-impacts\hit-can.wav "
  แล้วกำหนดให้เป็น sound หมายเลข 5

LOAD SOUND "sound\Shot-impacts\hitwindow.wav",6 ; rem hit glass
ทำการโหลด SOUND จาก directory “sound\Shot-impacts\hitwindow.wav "
แล้วกำหนดให้เป็น sound หมายเลข 6

LOAD SOUND "sound\Shot-impacts\hittube.wav",7 ; rem hit tube
ทำการโหลด SOUND จาก directory “sound\Shot-impacts\hittube.wav "
แล้วกำหนดให้เป็น sound หมายเลข 7

LOAD SOUND "sound\Shot-impacts\Hitgarbage.wav",8 ; rem hit gar bag
ทำการโหลด SOUND จาก directory “sound\Shot-impacts\Hitgarbage.wav "
แล้วกำหนดให้เป็น sound หมายเลข 8

LOAD MUSIC "Music\mp3\music1.mp3",1
ทำการโหลด MUSIC  จาก directory “Music\mp3\music1.mp3"
แล้วกำหนดให้เป็น music  หมายเลข 1

LOAD MUSIC "Music\mp3\music2.mp3",2
ทำการโหลด MUSIC  จาก directory “Music\mp3\music2.mp3"
แล้วกำหนดให้เป็น music  หมายเลข 2

LOAD MUSIC "Music\mp3\music3.mp3",3
ทำการโหลด MUSIC  จาก directory “Music\mp3\music3.mp3"
แล้วกำหนดให้เป็น music  หมายเลข 3

LOAD ANIMATION "AVI\win.avi",1
ทำการโหลด ANIMATION จาก directory “AVI\win.avi "
แล้วกำหนดให้เป็น ANIMATION  หมายเลข 1

LOAD ANIMATION "AVI\over.avi",3
ทำการโหลด ANIMATION จาก directory “AVI\over.avi "
แล้วกำหนดให้เป็น ANIMATION  หมายเลข 3


REM =================================
PLAY LOADING===============
namebg$="Menu\Load10.jpg"
gosub loading
namebg$="Menu\Load20.jpg"
gosub loading


กระบวนสำหรับเล่นภาพ loading โดยทำการเล่นภาพ loading 1 ครับ
แล้ว clear เพื่อเล่นภาพ loading ภาพต่อไป
load object "Object\player\Sinsamut.x",PLAYER
เป็นการโหลด object ที่เราได้สร้างไว้ โดยอยู่ที่ Directory
  “Object\player\Sinsamut.x ”
Object ที่โหลดมาชื่อ Sinsamut.x
พร้อมค่ากำหนดตัวแปรเป็น player คือตัวละครผู้เล่นนั่นเอง

 

SCALE OBJECT PLAYER,1000,1000,1000
เป็นคำสั่งกำหนดขนาดโมเดล player ที่เราได้โหลดมาโดยให้
ขนาดทางแกน x = 1000 แกน y=1000 แกน z=1000
โดยสามารถทดลองกำหนดค่าขนาดของ scale ได้ตามใจ  ชอบ
ตามมุมมองความเหมาะสมของคุณ

SET OBJECT LIGHT PLAYER,2
กำหนดความสว่างให้กับโมเดล player

POSITION OBJECT PLAYER,11700,0,15370
เป็นการวางตำแหน่งเริ่มต้นของผู้เล่นในเกม
โดยให้ x=11700,y=0,z=15370

SET SHADOW SHADING ON PLAYER,0,900,1.8
เป็นคำสั่งสำหรับสร้างเงาให้กับตัวละครของผู้เล่น
AI ADD PLAYER PLAYER
เป็นข้อกำหนดเรื่อง AI ของ Darkbasic เราต้องมีการใช้คำสั่งนี้เพื่อบอก AI
ของระบบให้ทราบว่าใครคือ ฝั่ง Player
เพื่อที่เกมเอนจิ้นจะได้นำไปคำนวณ สถานะของ AI

rem -------------------------------------------------------------

 

rem ------------------------------ Load item --------------------
Sword=98
กำหนดตัวแปรสำหรับ Sword กระบอง เป็นหมายเลข 98


Sheild=97
กำหนดตัวแปรสำหรับ Sheild กระบอง เป็นหมายเลข 97

load object "Object\item\SpinClub.x",Sword
เป็นการโหลด object ที่เราได้สร้างไว้ โดยอยู่ที่ Directory 
“Object\item\SpinClub.x”
Object ที่โหลดมาชื่อ SpinClub.x
พร้อมค่ากำหนดตัวแปรเป็น Sword
คืออาวุธผู้เล่นนั่นเอง

   set object Transparency Sword,1
กำหนดความโปร่งใส่ให้กับอาวุธของผู้เล่น  มีค่าเท่ากับ 1

   Scale object Sword,300,300,300
เป็นคำสั่งกำหนดขนาดโมเดล Sword ที่เราได้โหลดมาโดยให้
ขนาดทางแกน x = 300 แกน y=300 แกน z=300
โดยสามารถทดลองกำหนดค่าขนาดของ scale ได้ตามใจ  ชอบ
ตามมุมมองความเหมาะสมของคุณ

load object "Object\item\Sheild.x",Sheild
เป็นการโหลด object ที่เราได้สร้างไว้ โดยอยู่ที่ Directory
  “Object\item\Sheild.x”
Object ที่โหลดมาชื่อ Sheild โล่ของผู้เล่นนั่นเอง

   LeftHand=Joint_Search(Player,"LeftHand")
เรียกการทำงานของ function Joint_Search สำหรับทำการยึด
ติดอาวุธเข้ากับตัวละคร ฝั่ง LeftHand

   RightHand=Joint_Search(Player,"RightHand")
เรียกการทำงานของ function Joint_Search
สำหรับทำการยึดติดอาวุธเข้ากับตัวละครฝั่ง   RightHand

   Glue object to limb Sword,Player,LeftHand
คำสั่งสำหรับ ยึดอาวุธติดกับตัวละคร
Glue object to limb Sheild,Player,RightHand
คำสั่งสำหรับ ยึดอาวุธติดกับตัวละคร

rem -------------------------------------------------------------

 

rem ===============1. Load Picture Effect =============
FOR k=1 TO 25
LOAD IMAGE "EFFECT-01\e" + str$(k) + ".bmp",1000+k    ; REM STEP-0039
Next k                                                ; REM STEP-0039
beffect=1000                                          ; REM STEP-0039
effect2=1000                                          ; REM STEP-0039
MAKE OBJECT PLAIN effect2,1000,1000                   ; REM STEP-0039
REM -------------------------------------------------

ใช้ for สำหรับวนรอบเพื่อทำการโหลด image
และกำหนดหมายเลขตั่งแต่ 1000-1025
สำหรับใช้เป็นภาพในการเล่น effect


beffect=1000       
   สร้างตัวแปรสำหรับกำหนดภาพการเริ่มเล่น effect
โดยจะเริ่มเล่น effect ตั้งแต่ภาพที่ 1000

IF LEVEL=1
  ถ้า LEVEL=1 เป็นจริงให้ทำตามเงื่อนไขดังนี้


ทำการเล่นภาพ loading ในส่วนของ 30-80 เปอร์เซ็นต์
namebg$="Menu\Load30.jpg"
gosub loading
namebg$="Menu\Load40.jpg"
gosub loading
namebg$="Menu\Load50.jpg"
gosub loading
namebg$="Menu\Load60.jpg"
gosub loading
namebg$="Menu\Load70.jpg"
gosub loading
namebg$="Menu\Load80.jpg"
gosub loading
  สั่งเล่นภาพ load ing

 

 

 

 

REM *************************************
GLOBAL DIM status_unit$(10)
กำหนดตัวแปร array ชื่อ  status_unit$ ให้มีค่าเท่ากับ 10  
สำหรับเก็บสถานะของศรัตรูว่าเป็น die หรือยัง

GLOBAL DIM power_unit(10)
กำหนดตัวแปร array power_unit ให้มีค่าเท่ากับ 10 
สำหรับเก็บพลังชีวิตของตัวละคร monster  

FOR i=1 to 10
status_unit$(i)="Life"
power_unit(i)=1000
NEXT i
ใช้ for….loop  สำหรับกำหนดค่าให้ตัวแปร Array ทั้ง  
status_unit$(i)="Life"   power_unit(i)=1000

GLOBAL DIM monster(10)
กำหนดตัวแปร array แบบ global ชื่อ  monster ให้มีค่าเท่ากับ 10 
สำหรับเก็บจำนวนของมอนสเตอร์ใน LEVEL1

FOR i=1 to 10
วนรอบจำนวน 10 รอบเพื่อกำหนดค่าดังนี้
monster(i)=100+i
กำหนดหมายเลข object ของ monster
จำนวน 10 ตัวไล่ตังแต่หมายเลขโมเดล 101,102,103…110

Load Object "Object\enemy\Slimer.x",monster(i)
โหลดโมเดลมอนสเตอร์จาก ไดเรคทอรี่ 
Object\enemy\Slimer.x ให้กับ Array ที่เราสร้าง monster(i)

   Set Object Transparency monster(i),1
กำหนดความโปร่งใสให้กับตัวละครมอนสเตอร์ทั้ง 10ตัว
โดยกำหนดเป็นโหมด 1

   SCALE OBJECT monster(i),1000,1000,1000
กำหนดขนาดให้กับตัวละครมอนสเตอร์ ทั้ง 10 ตัว
ตามด้วยพารามิเตอร์ขนาด 1000,1000,1000

   POSITION OBJECT monster(i),8000+RND(10000),0,8000+RND(10000)
กำหนดพิกัดภายในเกมสำหรับตัวละคร monster ทั้ง 10 ตัว
จากการ random ค่าทางแกน x 8000+RND(10000),
ค่า y=0  ค่าทางแกน y= 8000+RND(10000),

 

   AI ADD ENEMY monster(i)
กำหนด AI จำนวนตัวละครศรัตรูทั้ง 10 ตัว

AI SET ENTITY SPEED monster(i),100
กำหนด AI ความเร็วให้กับตัวละครมอนสเตอร์ทั้ง 10 ตัวค่าสูงสุดคือ 1-100

AI SET ENTITY TURN SPEED monster(i),100
กำหนด AI ความเร็วให้กับตัวละครมอนสเตอร์ทั้ง 10 ตัวค่าสูงสุดคือ 1-100

   AI SET ENTITY VIEW ARC monster(i),10,180
กำหนดการมุมมอง ให้ตัวละครศรัตรู ในที่นี้คือ 10-180 องศา

AI SET ENTITY VIEW RANGE monster(i),13000
กำหนดระยะทางการมองเห็นให้กับตัวละครมอนสเตอร์


loop object monster(i),1,30
สั่งเล่นอนิเมชั่นให้กับศรัตรู
NEXT i

 



อธิบายรายละเอียดทุกคำสั่งพร้อม VDO Tranning อธิบายทุกขั้นตอน
ทำความเข้าใจทุกบรรทัด แถมฟรีภายใน VDO Tranning VOl6 เท่านั้น
โดย prasansoft.com


อธิบายตัวเกมส์จริง

จากเริ่มต้นจนจบ

กว่า 2000 บรรทัด

ละเอียดทุกขั้นตอน

ด้วย VDO จำนวน

63 ขั้นตอนพร้อมคู่มือ


monster

แถมฟรีภายใน

VDO Tranning Vol6

เท่านั้น

monster
ขุมพลังแห่ง

ในการสร้างเกมส์

เรียนรู้ด้วยตัวเอง

ได้จริงที่นี่เท่านั้น

prasasnsoft.com




monster


monster


monster