คำถามติดแท็ก algorithm

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

3
วิธีการแยกแผ่นสไปรต์
ฉันมีสไปรต์จำนวนมากที่มีรูปแบบไม่ดีซึ่งฉันต้องการย่อยสลายหรือแยกออกเป็นภาพขนาดเล็กจำนวนมากหนึ่งภาพสำหรับแต่ละสไปรต์ หากฉันสามารถทำได้ฉันสามารถใช้เครื่องมือตัวสร้างแพ็คเกอร์กำหนดพื้นผิวของฉันเพื่อสร้างเนื้อหาเกมด้วย เครื่องมือในการพัฒนาของฉันคือ XNA และ C # ที่กำหนดเป้าหมายเป็น Windows ฉันจะสลายภาพได้อย่างไร?

2
เอนจิ้นฟิสิกส์ที่สามารถรองรับตัวดึงดูดได้หลายตัว?
ฉันรวบรวมเกมที่จะเล่นเป็นส่วนใหญ่ด้วยแรงโน้มถ่วงสามมิติ โดยที่ฉันหมายถึงดาวเคราะห์ / ดวงดาว / ดวงจันทร์หลายตัวประพฤติตามความเป็นจริงและการวางแผนเส้นทางและการทำนายเส้นทางในสนามโน้มถ่วง ฉันได้ดูเครื่องยนต์ฟิสิกส์หลากหลายชนิดเช่นBullet , tokamakหรือNewtonแต่ดูเหมือนว่าไม่มีพวกมันที่เหมาะสมเพราะฉันจะต้องเขียนกลไกแรงโน้มถ่วงอีกครั้งในกรอบของมัน คุณรู้หรือไม่ว่าเครื่องยนต์ฟิสิกส์ที่มีความสามารถในการจัดการกับวัตถุต่าง ๆ ดึงดูดกันได้หรือไม่? ฉันไม่ต้องการการจัดการ Scenegraph หรือการเรนเดอร์แค่ฟิสิกส์หลัก (การตรวจจับการชนจะเป็นโบนัสเช่นเดียวกับการเปลี่ยนแปลงของร่างกายที่แข็งแกร่ง) พื้นหลังของฉันอยู่ในวิชาฟิสิกส์ดังนั้นฉันจะสามารถเขียนเครื่องยนต์ที่ใช้การรวม Verlet หรือ RK4 (หรือแม้แต่การรวมออยเลอร์ถ้าฉันต้อง) แต่ฉันค่อนข้างจะปรับตัวออกจากชั้นวางของโซลูชั่น [แก้ไข]:มีแหล่งข้อมูลที่ยอดเยี่ยมสำหรับการจำลองทางฟิสิกส์ของปัญหาร่างกายแบบออนไลน์และในสแต็คโอเวอร์โฟลว์

4
มีวิธีเพิ่มประสิทธิภาพการตรวจสอบการชนของระบบของวัตถุ n หรือไม่?
ฉันกำลังสร้างเกมที่ประกอบด้วยวัตถุบนหน้าจอจำนวนมากซึ่งหนึ่งในนั้นคือผู้เล่น ฉันจำเป็นต้องรู้ว่าวัตถุใดที่กระทบทุกการทำซ้ำ ฉันทำอะไรแบบนี้ for (o in objects) { o.stuff(); for (other in objects) if (collision(o, other)) doStuff(); bla.draw(); } นี่มี O (n ^ 2) ซึ่งฉันบอกว่าไม่ดี ฉันจะทำสิ่งนี้ได้อย่างมีประสิทธิภาพมากขึ้นเป็นไปได้ไหม ฉันกำลังทำสิ่งนี้ใน Javascript และโดยปกติแล้ว n จะต่ำกว่า 30 จะเป็นปัญหาหรือไม่หากสิ่งนี้ยังคงเหมือนเดิม

5
เพิ่มความน่าจะเป็นสำหรับไพ่ที่คล้ายกันเพื่อสร้างถัดจากกันและกัน
ฉันกำลังทำงานกับระบบแผนที่ย่อยซึ่งตราบเท่าที่มีลักษณะเช่นนี้ (สีเขียวคือหญ้าอากาศเป็นสีขาวหินเป็นสีเทาและสีน้ำเงินคือน้ำ): มันใช้ตัวสร้างตัวเลขสุ่มอย่างง่ายเพื่อให้มีโอกาส 45% ของกระเบื้องที่เป็นหญ้าโอกาส 30% ของการเป็นน้ำและโอกาส 25% ที่จะเป็นหิน มีอยู่แล้วฉันสามารถเพิ่มแนวโน้มสำหรับบล็อกหญ้า / ก้อนหินให้รวมตัวกันเพื่อก่อให้เกิดมวลบกและทำให้บล็อกน้ำก่อตัวในมหาสมุทร
9 java  algorithm  tiles  maps  lwjgl 

3
การสร้างพูลหรือทะเลสาบสุ่ม
ฉันใช้งานฟังก์ชั่นที่สามารถวาดรูปหลายเหลี่ยม แต่ฉันไม่สามารถสร้างรูปทรงที่เรียบซึ่งเลียนแบบขอบโค้งมนของทะเลสาบ ฉันพยายามสร้างวงกลมสองวงและเชื่อมขอบ แต่มันมีความผันแปรหรือความเรียบไม่พอ ไม่มีใครมีตัวชี้หรือความคิดใด ๆ ที่สามารถสร้างรูปร่างเช่นนี้ได้หรือไม่?

2
ฟังก์ชั่นสำหรับการเคลื่อนไหวของดวงอาทิตย์?
ดังนั้นเมื่อสไปรต์ดวงอาทิตย์ถูกวางที่ขอบฟ้า (x = 0, y = worldheight / 2) ฉันพยายามคิดฟังก์ชั่นเพื่อทำให้ดวงอาทิตย์ขึ้นแล้วตก วิธีที่ดีที่สุดในการทำเช่นนี้คือฟังก์ชั่นบาป แต่ฉันไม่รู้ว่าจะใช้มันอย่างไร หากใช้ y = sin (x) ดังนั้น x จะต้องอยู่ในช่วงระหว่าง 0 ถึง pi สำหรับเส้นโค้งเต็มขณะที่มีความเร็วคงที่สำหรับ X ความคิดหรือข้อเสนอแนะ? แก้ไข: ขอบคุณครับ!

3
การตรวจจับการชนกันของกระเบื้องที่มีประสิทธิภาพสำหรับสี่เหลี่ยมจำนวนมากหรือไม่
ขณะนี้ฉันกำลังทำเกมตามแบบตัวเอง (คิดว่า Terraria แต่แปลกน้อยกว่านี้ (ฉันคิดว่านั่นเป็นคำหรือไม่ขออภัยถ้าไม่ใช่) อย่างไรก็ตามตอนนี้ฉันมีระบบตรวจจับการชนกันของข้อมูลทำงานได้ดี มีบางสิ่งที่น่ายินดีเป็นอย่างยิ่งที่ได้เห็นผีสางไม่วิ่งผ่านบล็อก แต่แล้วฉันก็มีความคิดที่จะสร้างมาตรฐาน ความคิดที่ไม่ดี 1,000 สี่เหลี่ยมไม่มีปัญหา 10,000 สแควร์สำหรับ 3 ตัวอักษรเป็นความล่าช้า 100,000 squares (แผนที่ใหญ่มาก) สำหรับ 3 ตัวละครนั้นเล่นไม่ได้ ฉันมีปัญหาที่ฉันไม่ต้องการพิจารณาบล็อกที่อยู่ไกลจากผู้เล่นตัวละครไอเท็ม ฯลฯ แต่ฉันไม่ต้องการโหลดหน่วยความจำที่เหลืออยู่เหล่านั้นอย่างต่อเนื่อง นี่คืออัลกอริทึมของฉันจนถึงตอนนี้อย่าลังเลที่จะวิจารณ์ foreach (Block in level) { if (distance from block to player > a specified amount) ignore this block; else { get the intersection depth between …

1
เอกสารประกอบเกี่ยวกับการแบ่งพื้นที่ 2D
ฉันกำลังมองหาเอกสารที่อธิบายถึงความแตกต่างของ (แบ่งเป็นสาขาหลัก) อัลกอริทึมการแบ่งพื้นที่ 2D & โครงสร้างข้อมูล พอยน์เตอร์ใด ๆ นอกจาก 'Google it และกรองผ่านเอกสารนับร้อย' บางทีหนังสือ?

1
การค้นหาว่าการคลิกเมาส์แบบเรียงต่อกันใด
ฉันกำลังทำงานกับเกมที่มีตารางแบบสามมิติและฉันประสบปัญหาในการพยายามเชื่อมโยงการคลิกเมาส์จากผู้ใช้กับไทล์ ฉันสามารถแยกปัญหาออกเป็น 2 ส่วน: การค้นหาสี่เหลี่ยมผืนผ้าที่ล้อมรอบไทล์ (ซึ่งฉันทำได้) การหาจากสี่เหลี่ยมผืนผ้าที่มีการคลิกที่ไทล์ (ทำให้ฉันนิ่งงัน) นี่คือตัวอย่างของสี่เหลี่ยมผืนผ้าที่มีแผ่นกระเบื้องด้านใน: สี่เหลี่ยมผืนผ้ามีความยาว 70px และสูง 30px ดังนั้นถ้าฉันใช้อินพุทที่พูดว่า 30x (บนสุด) / 20y (ซ้าย) ฉันจะดูได้อย่างไรว่ากระเบื้องตัวใดที่ตกลงมา?

3
จะหาเซลล์กริด 2 มิติที่ถูกกวาดโดยวงกลมที่กำลังเคลื่อนที่ได้อย่างไร
ฉันกำลังสร้างเกมโดยใช้กริด 2 มิติโดยบางเซลล์สามารถผ่านได้และบางอันก็ไม่ได้ วัตถุแบบไดนามิกสามารถเคลื่อนที่ได้อย่างต่อเนื่องโดยไม่ขึ้นกับกริด แต่ต้องชนกับเซลล์ที่ไม่สามารถใช้ได้ ฉันเขียนอัลกอริทึมเพื่อติดตามรังสีกับกริดซึ่งให้เซลล์ทั้งหมดที่เรย์ตัดกัน อย่างไรก็ตามวัตถุจริงไม่ใช่ขนาดจุด ฉันกำลังแสดงพวกเขาเป็นแวดวง แต่ฉันไม่สามารถหาอัลกอริทึมที่มีประสิทธิภาพเพื่อติดตามวงกลมที่กำลังเคลื่อนที่ นี่คือภาพสิ่งที่ฉันต้องการ: ตัวเลขจะแสดงตามลำดับที่วงกลมชนกับเซลล์กริด ไม่มีใครรู้อัลกอริทึมในการค้นหาการชนเหล่านี้หรือไม่ โดยเฉพาะอย่างยิ่งใน C # อัปเดตวงกลมอาจใหญ่กว่าเซลล์กริดเดียว

1
การสร้างเกมกระดาน AI
ฉันต้องการโค้ดเกมกระดานที่ชื่อ Okey และเป็นที่นิยมในตุรกีเป็นส่วนใหญ่ http://en.wikipedia.org/wiki/Okey แต่ฉันมีปัญหาเกี่ยวกับ AI Firslty ให้ฉันอธิบายเกม .. เกมนี้เล่นโดยผู้เล่น 4 คน ในเกมนี้มีไพ่ 106 ใบโดย 2 ในนั้นเป็นโจ๊กปลอม กระเบื้อง 104 ชิ้นแบ่งออกเป็น 4 สีโดยทั่วไปคือสีเขียวสีดำสีน้ำเงินและสีแดง ทุกสีมีสองชุดของไพ่ ชุด ise ประกอบด้วย 13 แผ่นที่เรียงตามลำดับหมายเลข 1 ถึง 13 ผู้เล่นแต่ละคนเริ่มต้น 14 แผ่น (หนึ่งเริ่มต้นที่ 15 และเริ่มต้นก่อน) และโยนหนึ่งในไพ่ที่ไม่ต้องการมากที่สุดในผู้เล่นถัดไป ผู้เล่นคนต่อไปสามารถรับไทล์นี้หรือสามารถรับไทล์อีกอันจากสแต็คตรงกลางโต๊ะ เกมที่เล่นในทวนเข็มนาฬิกา .. เป้าหมายของเกมนี้คือการหาลำดับที่ถูกต้องของ 14 แผ่นโดยเร็วที่สุด ผู้เล่นสามารถจัดเรียงไพ่เรียงตามหมายเลขตามลำดับในสีเดียวกันจนถึง 13 สำหรับการสอบสีเขียว 1, เขียว 2, …

5
ประสิทธิภาพลดลงในการนำ A * ไปใช้ในเกมป้องกันหอคอย
ฉันกำลังสร้างเกม Tower Defense ใน Flash โดยไม่มีเส้นทางที่กำหนดไว้ล่วงหน้า แม้ว่ากริดของฉันจะมีขนาด 40x40 (เล็ก) แต่ A * ก็ลำบากเมื่อคำนวณใหม่ทุกครั้ง ดังนั้นฉันจึงทำการดัดแปลงของตัวเองเพื่อความสะดวกในการคำนวณใหม่และจำนวนเซลล์ที่ถูกสัมผัสลดลงเหลือประมาณ 900 (เมื่อปรับเปลี่ยนใกล้รูต) มันยังคงค้างสำหรับระยะเวลาที่สั้นมาก แต่สามารถตรวจพบได้เมื่อวางหอคอยใหม่ นี่เป็นปัญหาการใช้งานหรือเป็น 40x40 มากเกินไปหรือไม่ แก้ไข: โครงสร้างของรหัสของฉัน: ข้อมูลทั้งหมดจะถูกบันทึกในเซลล์อาร์เรย์ 2 มิติ แต่ละเซลล์มีพาเรนต์ในทิศทางพา ธ (1-8 ตามเข็มนาฬิกา) และอาร์เรย์ที่เข้ารหัสระดับบิตของลูกในพา ธ (ทุกบิตแทนค่าเด็ก) การค้นหาดำเนินการโดย A * ด้วยการประมาณระยะทางยูคลิด
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.