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

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

6
อัลกอริทึมในการปรับเปลี่ยนสีเพื่อให้คล้ายน้อยกว่าพื้นหลัง
ฉันกำลังสร้างตัวอย่างลูกบอล 20 ลูกที่กระเด้งกันโดยมีพื้นหลังที่เต็มไปด้วยสีทึบ สีสำหรับแต่ละลูกบอลจะถูกเลือกแบบสุ่มด้วยrandint(0, 255)สำหรับองค์ประกอบ Tuple R, G, B แต่ละชิ้น ปัญหาคือลูกบอลบางส่วนจบลงด้วยสีที่คล้ายกับพื้นหลังทำให้ดูยาก ฉันต้องการหลีกเลี่ยงสิ่งนั้นไม่ว่าจะโดยการกลิ้งสีอื่นถ้าสีที่เลือกนั้นคล้ายกันเกินไป (ภายในขีด จำกัด ที่กำหนด) หรือโดยการเลื่อนออกไปจากสีพื้นหลัง จะคำนวณดัชนีความคล้ายคลึงกันเพื่อใช้เป็นเกณฑ์ได้อย่างไร หรือวิธีการแปลงสีเพื่อให้พูดน้อยสีฟ้า ish ? ข้อจำกัดความรับผิดชอบที่ชัดเจน: ฉันไม่รู้อะไรเลยเกี่ยวกับทฤษฎีสีดังนั้นฉันไม่รู้เลยว่าแนวคิดด้านบนยังคงมีอยู่! ฉันกำลังเขียนโปรแกรมในหลาม แต่ฉันกำลังมองหาแนวคิดและกลยุทธ์ดังนั้นหลอกรหัสเป็นเรื่องดี (หรือเพียงแค่ทฤษฎี) แก้ไข: หากต้องการชี้แจงจุดสองสามข้อ: ลูกบอลแต่ละลูกมีสีแบบสุ่มของตัวเอง ฉันต้องการให้พวกเขายังคงสุ่มให้มากที่สุดและสำรวจพื้นที่สีให้มากที่สุด (ไม่ว่าจะเป็น RGB หรือ HSV pygameยอมรับทั้งสองรูปแบบเพื่อกำหนดสี) ฉันแค่ต้องการหลีกเลี่ยงการเป็นสี "ใกล้เกินไป" กับพื้นหลัง ปัญหาไม่ได้เป็นเพียงเกี่ยวกับเว้: ฉันตกลงอย่างสมบูรณ์แบบด้วยลูกบอลสีฟ้าอ่อนกับพื้นหลังสีน้ำเงินเข้ม (หรือ "สีฟ้าเต็ม" กับ "สีขาว - สีฟ้า" สีฟ้า ฯลฯ ) สำหรับตอนนี้ฉันไม่สนใจหรอกว่าลูกจะจบลงด้วยสีที่คล้ายกัน (หรือเหมือนกัน) …
23 algorithm  color 

6
วิธีที่ง่ายที่สุดในการสร้างภูมิประเทศที่ราบรื่นสำหรับเกม 2d คืออะไร?
วิธีที่ง่ายที่สุดในการสร้างภูมิประเทศที่ราบรื่นสำหรับเกม 2d เช่น "Moon Buggy" หรือ "Route 960" คืออะไร? ฉันได้รับคำตอบที่ stackoverflow.com เกี่ยวกับการสร้างอาเรย์ของความสูงแบบสุ่มและเบลอในภายหลัง ใช่มันค่อนข้างโอเค แต่มันจะเป็นการดีกว่าถ้าคุณให้คะแนนและรับโค้งที่ราบรื่น

7
การคำนวณแรงโน้มถ่วงที่เหมาะสมที่สุด
ฉันมีสิ่งของหลายชิ้นที่มีขนาดและความเร็วต่างกันไปซึ่งกันและกัน ในการอัพเดททุกครั้งฉันต้องข้ามวัตถุทุกอย่างและรวมแรงเข้าด้วยกันเนื่องจากแรงโน้มถ่วงของวัตถุอื่น ๆ มันไม่ได้ปรับขนาดได้ดีมากเป็นหนึ่งในสองคอขวดใหญ่ที่ฉันพบในเกมของฉันและฉันไม่แน่ใจว่าต้องทำอย่างไรเพื่อปรับปรุงประสิทธิภาพ มันรู้สึกเหมือนฉันควรจะสามารถที่จะปรับปรุงประสิทธิภาพการทำงาน เมื่อถึงเวลาใดก็ตาม 99% ของวัตถุในระบบอาจมีอิทธิพลเพียงเล็กน้อยต่อวัตถุ แน่นอนว่าฉันไม่สามารถจัดเรียงวัตถุตามมวลและพิจารณาวัตถุที่ใหญ่ที่สุด 10 อันดับแรกหรือบางสิ่งบางอย่างเท่านั้นเนื่องจากแรงแตกต่างกันไปตามระยะทางมากกว่ามวล (สมการนี้อยู่ในแนวของforce = mass1 * mass2 / distance^2) ฉันคิดว่าการประมาณที่ดีคือการพิจารณาวัตถุที่ใหญ่ที่สุดและวัตถุที่อยู่ใกล้ที่สุดโดยไม่สนใจเศษหินเล็ก ๆ หลายร้อยชิ้นที่อยู่อีกด้านหนึ่งของโลกซึ่งอาจไม่ส่งผลกระทบใด ๆ ต่อวัตถุ แต่เพื่อค้นหาว่าวัตถุใดเป็นวัตถุ ที่ใกล้เคียงที่สุดฉันต้องย้ำไปที่วัตถุทั้งหมดและตำแหน่งของพวกเขาจะเปลี่ยนแปลงตลอดเวลาดังนั้นฉันจึงไม่สามารถทำได้เพียงครั้งเดียว ขณะนี้ฉันกำลังทำสิ่งนี้: private void UpdateBodies(List<GravitatingObject> bodies, GameTime gameTime) { for (int i = 0; i < bodies.Count; i++) { bodies[i].Update(i); } } //... public virtual void …

6
การร่ายเวทย์ - วิธีเพิ่มประสิทธิภาพความเสียหายต่อวินาที
ลองนึกภาพเรามีพ่อมดที่รู้เวทย์บางอย่าง แต่ละคาถามี 3 คุณสมบัติ: ดาเมจ, เวลาเย็นลงและเวลาร่าย สิ่งที่มาตรฐาน RPG สวย เวลาคูลดาวน์: ระยะเวลา (t) ที่ใช้ก่อนที่จะสามารถใช้คาถานั้นได้อีกครั้ง คาถาจะ "คูลดาวน์" ทันทีที่มันเริ่มร่าย ระยะเวลาร่าย: ระยะเวลา (t) ที่ใช้ในการใช้คาถา ในขณะที่ตัวช่วยสร้างกำลังทำการร่ายคาถาอย่างอื่นไม่สามารถร่ายและไม่สามารถยกเลิกได้ คำถามคือคุณจะสร้างความเสียหายให้มากที่สุดด้วยคาถาต่าง ๆ ได้อย่างไร? มันง่ายในการคำนวณความเสียหายสูงสุดต่อเวลาร่าย แต่จะเกี่ยวกับอะไรในสถานการณ์ที่ดีกว่าที่จะรอก่อนที่จะ "จมปลัก" ร่ายคาถาสร้างความเสียหายต่ำเมื่อมีสกิลที่สูงกว่ามาก? ตัวอย่างเช่น, Fireball: 3000 ดาเมจ, ระยะเวลาร่าย 3 วินาที, 6 วินาทีทำให้เย็นลง Frostbolt: 20 ดาเมจ, ระยะเวลาร่าย 4 วินาที, 4 วินาทีทำให้เย็นลง Fireblast: 3 ดาเมจ, ระยะเวลาร่าย 3 …

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

1
วิธีการแปลงพิกัดของเมาส์เป็นดัชนีมีมิติเท่ากัน?
ฉันวาดแผนที่ภาพวาดสามมิติด้วยไทล์64x32 : const Offset = 160; int X, Y; for (int a=0; a < 6; a++) for (int b=0; b < 6; b++) { X = a * 32 - b * 32 + Offset; Y = a * 16 + b * 16; DrawTile(X, Y, tile); } ภาพแสดงรหัสนี้: มืออาชีพที่รักโปรดช่วยด้วยสูตรการแปลงค่าพิกัดของเมาส์ในดัชนีมีมิติเท่ากันของเซลล์ …

3
วิธีการใช้ AI สำหรับตัวตรวจสอบ / ร่าง?
ฉันเห็นเกมตัวตรวจสอบนี้และฉันสงสัยว่าการนำ AI มาใช้อย่างไร ฉันจะใช้ AI กับตัวตรวจสอบได้อย่างไร (ฉบับร่าง, dama, dame) มีอัลกอริทึมที่รู้จักหรือไม่? พวกเขาเต็มไปด้วยทุกสิ่ง ฉันประหลาดใจมากที่เห็นโพสต์บล็อกการสอนเกมTic Tac Toeนี้ ดังนั้นฉันต้องการอัลกอรึทึมเกม Damaโอเพนซอร์สและโพสต์บล็อก .. มีลิงค์ที่เป็นประโยชน์หรือไฟล์เอกสารใด ๆ .. ? โปรดแจ้งให้เราทราบ ..
21 algorithm  ai 

3
ทำให้ศัตรู flocking หลายตัวล้อมรอบสิ่งกีดขวางได้อย่างมีประสิทธิภาพ
ฉันกำลังพยายามปรับปรุงการหาเส้นทางสำหรับศัตรูในเกมของฉัน ตอนนี้พวกเขาเพียงแค่ขยับไปยังตำแหน่งที่แน่นอนของผู้เล่นโดยการคำนวณมุมระหว่างพวกเขากับผู้เล่นและเคลื่อนที่ไปในทิศทางนั้น ฉันยังมีอัลกอริทึม flocking ที่ป้องกันศัตรูจากการซ้อนทับกันดังนั้นพวกเขาจะรวมตัวกันเป็นกลุ่มแทนที่จะจับกลุ่มกัน อย่างไรก็ตามตอนนี้ฉันได้เพิ่มแผนที่แบบเรียงต่อกันแล้วฉันต้องการศัตรูเพื่อให้สามารถเดินไปรอบ ๆ สิ่งกีดขวางและกำแพงได้เช่นกัน ในขั้นต้นฉันพยายามเพิ่มค่าการแยกลงในไทล์ "ไม่สามารถเดินได้" เพื่อที่อัลกอริทึม flocking จะพิจารณาผนังและอุปสรรคเป็นวัตถุที่จะย้ายออกไป ฉันยังไม่ทราบว่าเป็นไปได้หรือไม่เพราะการทดสอบครั้งแรกของฉันแสดงให้เห็นว่าศัตรูชนกำแพงที่มองไม่เห็นซึ่งไม่มีกระเบื้องที่ไม่สามารถเดินได้ แต่ด้วยเหตุผลบางอย่างพวกเขาชนและเริ่มพูด ฉันสงสัยว่ามันอาจจะทำงานหนักเกินไปหรือไม่ในการคำนวณเส้นทางไปยังผู้เล่นโดยใช้ A * จากนั้นใช้อัลกอริทึม flocking เพื่อป้องกันการจับกันเป็นก้อน เดิมทีเกมของฉันจะเป็นเกมยิงตามคลื่น แต่ฉันตัดสินใจที่จะทำให้เกมนี้อยู่ในระดับที่เส้นเลือดของ Hotline Miami ดังนั้นจึงเป็นไปได้ที่ฉันจะมีศัตรูน้อยลง พวกเขาแข็งแกร่งขึ้น นี่เป็นทางออกที่ทำงานได้หรือไม่? ฉันใช้ Java กับ Slick2D เป็นเอ็นจิ้นเกมของฉัน หรือมีวิธีแก้ปัญหา / อัลกอริทึมที่ดีกว่าที่จัดการกับปัญหาทั้งสองนี้ได้หรือไม่

4
การคำนวณความเร็วต่ำสุดของกระสุนปืนที่จำเป็นในการเข้าถึงกลุ่มเป้าหมายเป็นรูปโค้งโค้ง
หากฉันมีจุดที่ฉันต้องการตีในตอนท้ายหรือในช่วงโค้งพาราโบลาฉันจะคำนวณความเร็ว x และ y ที่ต้องการได้อย่างไร

6
ค้นหาทิศทางของการเดินทางในโลกที่มีขอบล้อมรอบ
คำถามนี้ถูกโยกย้ายจาก Stack Overflow เนื่องจากสามารถตอบได้ใน Game Exchange Stack Exchange อพยพ 8 ปีที่ผ่านมา ฉันต้องการค้นหาทิศทางระยะทางที่สั้นที่สุดจากจุดหนึ่งในโลก 2 มิติของฉันไปยังอีกจุดที่ขอบถูกห่อ (เช่นดาวเคราะห์น้อย ฯลฯ ) ฉันรู้วิธีหาระยะทางที่สั้นที่สุด แต่ฉันพยายามหาทิศทางที่มันอยู่ ระยะทางที่สั้นที่สุดจะได้รับจาก: int rows = MapY; int cols = MapX; int d1 = abs(S.Y - T.Y); int d2 = abs(S.X - T.X); int dr = min(d1, rows-d1); int dc = min(d2, cols-d2); …
20 c++  algorithm 

3
อัลกอริธึมการสร้างประวัติทำงานอย่างไร
ฉันได้ยินเกี่ยวกับเกม Dwarf Fortress แต่ตอนนี้มีเพียงหนึ่งคนที่ฉันติดตามบน Youtube ได้ให้ความเห็นเกี่ยวกับเรื่องนี้ ... ฉันประหลาดใจยิ่งกว่าเมื่อฉันสังเกตเห็นว่า Dwarf Fortress สร้างประวัติศาสตร์ให้โลกได้อย่างไร! ตอนนี้อัลกอริทึมเหล่านี้ทำงานอย่างไร พวกเขามักจะทำอะไรเป็นอินพุตยกเว้นความยาวของการจำลอง? พวกเขาจะมีความเฉพาะเจาะจงได้อย่างไร? และที่สำคัญกว่านั้น พวกเขาสามารถทำใน Javascript หรือ Javascript ช้าเกินไป? (ฉันเดาว่าสิ่งนี้ขึ้นอยู่กับความลึกของการจำลอง แต่ยกตัวอย่างป้อมปราการคนแคระ)

5
คำนวณคะแนนสุ่ม (พิกเซล) ภายในวงกลม (รูปภาพ)
ฉันมีรูปภาพที่มีวงกลมที่ตำแหน่งเฉพาะและเส้นผ่านศูนย์กลางเฉพาะ สิ่งที่ฉันต้องทำก็คือสามารถคำนวณคะแนนสุ่มภายในวงกลมจากนั้นจัดการพิกเซลที่บอกว่ามีความสัมพันธ์กับจุดนั้น ฉันมีรหัสต่อไปนี้แล้ว: private Point CalculatePoint() { var angle = _random.NextDouble() * ( Math.PI * 2 ); var x = _originX + ( _radius * Math.Cos( angle ) ); var y = _originY + ( _radius * Math.Sin( angle ) ); return new Point( ( int )x, ( int )y …
19 c#  algorithm 

3
ฉันจะสร้างฝูงบกลอยตัวสำหรับเครื่องยนต์ที่เหมือน Minecraft ได้อย่างไร?
ฉันกำลังสร้างเอนจินคล้าย Minecraft ใน XNA สิ่งที่ฉันต้องการทำคือการสร้างเกาะลอยคล้ายกับที่แสดงในวิดีโอนี้: http://www.youtube.com/watch?v=gqHVOEPQK5g&feature=related ฉันจะทำซ้ำสิ่งนี้โดยใช้เครื่องกำเนิดไฟฟ้าโลกได้อย่างไร ฉันต้องใช้อัลกอริธึมเสียงรบกวน Perlin บ้างหรือไม่ ฉันไม่รู้ว่ามันจะช่วยให้ฉันสร้างดินแดนเช่นนี้ได้อย่างไร นี่คือรหัสสำหรับตัวกำเนิดสัญญาณรบกวน perlin ที่ฉันใช้: private double[,] noiseValues; private float amplitude = 1; // Max amplitude of the function private int frequency = 1; // Frequency of the function /// <summary> /// Constructor /// </summary> /// public PerlinNoise(int freq, float _amp) …

3
การหาเส้นทางไดนามิกแบบเรียลไทม์?
ขณะนี้ฉันกำลังทำการวิจัยการบอกกล่าวและการจำลองของฉันมีดังต่อไปนี้: ฉันมีฉาก 3 มิติที่มีจุดเริ่มต้นและจุดสิ้นสุดแสดงฉันสามารถสร้างตาข่ายนำทางจุดและรูปหลายเหลี่ยมเพื่อช่วยในการหาเส้นทาง ฉันได้ลองอัลกอริทึม A * และตัวแปรบางตัวแล้วพวกมันก็ทำงานได้อย่างสมบูรณ์ อย่างไรก็ตามตอนนี้ฉันสนใจการหาเส้นทางแบบไดนามิกมากขึ้น ตัวอย่างเช่นในขณะที่ค้นหาเส้นทางจากจุด A ไปยังจุด B หากมีสิ่งกีดขวางใหม่ปรากฏขึ้นมาทันทีฉันต้องการให้อัลกอริทึมของฉันสามารถวางแผนเส้นทางใหม่ได้ทันทีและไม่เริ่มค้นหาจากศูนย์อีกครั้ง ฉันได้อ่านอัลกอริทึม D * แล้วและสงสัยว่าสิ่งนี้จะเหมาะสมกับสิ่งที่ฉันต้องการหรือสิ่งนี้ดูเหมือนว่าเกินความเป็นจริงหรือไม่ ดังนั้นคำถามของฉันคือ: อัลกอริธึมที่ดีที่สุดสำหรับ Real Time Dynamic Pathfinding? หรือเทคนิคใดบ้างที่ฉันสามารถใช้แทนกันได้

3
จับคู่ชิ้นส่วนของโลกที่สร้างขึ้นแบบขั้นตอนกับส่วนอื่นของโลก
คุณได้อ่าน The Chronicles of Amber โดย Roger Zelazny แล้วหรือยัง? ลองนึกภาพตัวเองเล่นในเกม MMO คนที่ 3 คุณวางไข่ในโลกและเริ่มเดินไปรอบ ๆ เมื่อเวลาผ่านไปเมื่อคุณคิดว่าคุณได้เรียนรู้แผนที่คุณรู้ว่าคุณอยู่ในสถานที่ที่คุณไม่เคยเห็นมาก่อน คุณกลับไปยังที่สุดท้ายที่คุณแน่ใจและรู้ว่ายังอยู่ที่นั่น แต่ส่วนที่เหลือของโลกมีการเปลี่ยนแปลงและคุณไม่ได้สังเกตว่ามันเกิดขึ้นได้อย่างไร ฉันได้อ่านเกี่ยวกับการสร้างโลกขั้นตอน ฉันได้อ่านเกี่ยวกับเสียงเพอร์ลินและอ็อกเทฟเสียงรบกวน, อัลกอริธึมไดมอนด์สแควร์เกี่ยวกับการจำลองแผ่นเปลือกโลกและการกัดเซาะของน้ำ ฉันเชื่อว่าฉันมีความเข้าใจที่คลุมเครือของวิธีการทั่วไปในการสร้างโลกแบบขั้นตอน และด้วยความรู้นี้ฉันไม่มีความคิดว่าคุณจะทำสิ่งที่เขียนไว้ด้านบนได้อย่างไร ทุกความคิดที่อยู่ในใจของฉันได้พบกับปัญหาทางทฤษฎีบางอย่าง นี่คือความคิดที่ฉันคิดได้: 1) "ย้อนกลับ" รุ่นโลกที่มีหมายเลขเมล็ดเป็นอินพุตและบางอย่างที่อธิบาย -a-chunk-number ฉันสงสัยว่ามันเป็นไปได้ แต่ฉันจินตนาการถึงฟังก์ชั่นที่จะได้รับเมล็ดพันธุ์และสร้างเมทริกซ์ของตัวเลขซึ่งจะถูกสร้างเป็นชิ้น ๆ และสำหรับแต่ละหมายเลขที่ไม่ซ้ำกันจะมีอันที่ไม่ซ้ำกัน และฟังก์ชั่นที่สองที่ได้รับหมายเลขอันไม่ซ้ำกันนี้และสร้างเมล็ดพันธุ์ที่มีหมายเลขนี้ ฉันพยายามที่จะทำให้รูปแบบในภาพด้านล่าง: 2) การทำชิ้นสุ่มอย่างสมบูรณ์และทำการเปลี่ยนแปลงระหว่างพวกเขา ตามที่แนะนำในAracthor ประโยชน์ของวิธีนี้คือมันเป็นไปได้และไม่ต้องใช้เวทมนตร์ fuction :) ข้อเสียของวิธีการนี้มีอยู่ในความคิดของฉันคือว่าเป็นไปไม่ได้ที่จะมีโลกที่หลากหลาย ถ้าคุณสมมุติว่าทั้งหมู่เกาะและทวีปแสดงเพียงหนึ่งหมายเลขและมันเป็นส่วนที่อยู่ติดกันดังนั้นขนาดของก้อนจะไม่เท่ากับทวีป และฉันสงสัยว่ามันเป็นไปได้ที่จะทำให้การเปลี่ยนหน้าตาดีระหว่างชิ้น ฉันพลาดอะไรไปรึเปล่า? คุณกำลังพัฒนา MMO กับโลกที่สร้างขึ้นแบบขั้นตอน แต่แทนที่จะมีโลกเดียวคุณมีมากมายจำนวนมากคุณจะใช้วิธีการใดในการสร้างโลกและคุณจะใช้การเปลี่ยนแปลงของผู้เล่นจากโลกหนึ่งไปยังอีกโลกหนึ่งได้อย่างไรโดยที่ผู้เล่นไม่สังเกตเห็นการเปลี่ยนแปลง อย่างไรก็ตามฉันเชื่อว่าคุณมีความคิดทั่วไป …

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.