เกมคอมพิวเตอร์คือวงวนไม่รู้จบของ:
- อัปเดต: เลื่อนระดับสถานะเกมหนึ่งช่วงเวลาเล็ก ๆ (เช่น 1/80 วินาที)
- ระบายสีสถานะเกมปัจจุบัน
มีความหลากหลายของสิ่งเหล่านี้ เกมบางเกมมีการปรับปรุงเพิ่มเติมระหว่างการระบายสีแต่ละครั้งหรืออาจแตกต่างกันไปเพื่อให้การไหลของเกมราบรื่นบนเครื่องต่างกัน แต่นั่นคือรายละเอียดทางเทคนิค
ขั้นตอนการอัปเดตที่เกิดขึ้นระหว่าง 50 และ 100 เท่าในแต่ละวินาที (ใช่บ่อยครั้ง) ทำสิ่งนี้:
- อัพเดทเกมฟิสิกส์ บอกได้เลยว่านักแสดงมีความเร็ว การอัปเดตควรเลื่อนเขาไปนิดหน่อยในทิศทางที่ถูกต้อง นอกจากนี้ถ้าคุณใช้เครื่องมือฟิสิกส์มันควรตรวจสอบการชนกับแอคชั่นหรืออุปสรรคอื่น ๆ
- อัปเดตกฎของเกม นี่คือสิ่งที่ทำให้มันเป็นเกมและไม่ใช่การทดลองทางฟิสิกส์ บอกว่ามีกระสุนนัดนักแสดง กฎของเกมบอกผู้เล่นให้หักคะแนนสุขภาพ X และสัญลักษณ์แสดงหัวข้อย่อยจะหายไป
- การอัพเดท AI บางครั้งนักแสดงที่ควบคุมด้วยคอมพิวเตอร์ควรจะตัดสินใจในสิ่งที่ควรทำ ไปทางซ้ายหรือขวา ค้นหาเส้นทางสู่สถานที่ที่น่าอยู่ ยิงอาวุธ
- การควบคุมอินพุต อัปเดตนักแสดงของผู้เล่นตามปุ่มที่กดบนแป้นพิมพ์
- อัปเดตกราฟฉาก สิ่งนี้สามารถพัฒนาแอนิเมชั่นได้ในขั้นตอนเดียวหรืออัปเดต GUI เพื่อแสดงว่าตอนนี้ผู้เล่นมีพลังชีวิตน้อยลง 10 คะแนน มีวัตถุประสงค์เพียงอย่างเดียวคือทำให้เกมดูดีและรู้สึกดี
คุณเริ่มจากที่ไหน
ข้อกำหนดพื้นฐานสำหรับเกมกราฟิกคือการเขียนโปรแกรมกราฟิก ตรวจสอบให้แน่ใจว่าคุณสามารถเปิดหน้าต่างและดึงลูกบอลเข้าไปได้
ฉันคิดว่าคุณสามารถสร้างคลาสได้ ทำคลาสบอล มีสมาชิกต่อไปนี้: x, y, deltaX, deltaY ทั้งหมดเป็นจำนวนเต็มและในระดับพิกเซล ตอนนี้เขียนวงนี้
forever, do this {
start measure time (in milliseconds)
//physics part
add deltaX to x
add deltaY to y
if x is bigger than the screen width, assign -deltaX to deltaX
if y is bigger than the screen height, assign -deltaY to deltaY
if x is less than 0, assign -deltaX to deltaX
if y is less than 0, assign -deltaY to deltaY
//paint
paint the ball at x, y
stop measuring time, assign this to workTime
make the thread sleep for (25 - workTime) milliseconds
}
สิ่งนี้จะทำให้ลูกบอลกระดอนจากขอบหน้าต่าง มันไม่ได้เป็นเกม แต่เป็นการจำลองทางกายภาพ ถ้าคุณเขียนการอัพเดตฟิสิกส์ของลูกบอลภายในคลาสบอลมันเป็นการง่ายที่จะเพิ่มหลาย ๆ ลูก เก็บไว้ในรายการและอัปเดตและระบายสีแต่ละภาพสำหรับแต่ละเฟรม
คุณสามารถเพิ่มไม้พาย (จำลองฟิสิกส์สำหรับมันและทำให้สามารถควบคุมได้ด้วยเมาส์หรือแป้นพิมพ์) และวัตถุประสงค์ของเกมเช่นหยุดลูกบอลจากการไปถึงกำแพงด้านซ้าย หากเกมเพิ่มลูกมากขึ้นเมื่อเวลาผ่านไปความยากจะเพิ่มขึ้น คุณมีเกม
ทำไมต้องนอนเป็นเวลา (25 - เวลาทำงาน) มิลลิวินาที หากคุณทำเช่นนี้การจำลองจะทำงานด้วยการอัพเดต 40 ครั้งและสีต่อวินาที มันจะค่อนข้างราบรื่น ถ้าคุณจะข้ามส่วนสลีปภาพเคลื่อนไหวจะกระตุกและใช้ CPU 100% นอกจากนี้ความเร็วของลูกบอลก็ขึ้นอยู่กับความเร็วของเครื่องที่ใช้ด้วย ตอนนี้ความเร็วแนวตั้งของลูกคือ 40 * deltaY พิกเซลต่อวินาที