एक ग्रिड पर खेले जाने वाले कई खेलों के लिए, हेक्सागोन्स स्पष्ट रूप से सुपीरियर चॉइस ™ हैं। दुर्भाग्य से, कई मुफ्त गेम कला साइटों में केवल चौकोर मानचित्रों के लिए सहज टाइल सेट हैं। एक पिछले प्रोजेक्ट पर, मैंने इनमें से कुछ का उपयोग किया, और मैन्युअल रूप से उन्हें हेक्सागोन्स में बदल दिया।
हालांकि , मैं अपने बुढ़ापे में आलसी हो गया हूं। एक छोटी स्क्रिप्ट के साथ प्रक्रिया को स्वचालित करना आसान होना चाहिए।
हालांकि , मैं अपने बुढ़ापे में आलसी हो गया हूं। तो मैं इसे आपके लिए आउटसोर्सिंग कर रहा हूं, और इसे कोड गोल्फ चुनौती 1 के रूप में प्रच्छन्न कर रहा हूं ।
इनपुट
इनपुट 24-बिट आरजीबी रंग में सक्षम किसी भी सामान्य छवि प्रारूप में एक वर्ग छवि है। आप छवि डेटा के बजाय इनपुट के रूप में फ़ाइल नाम भी ले सकते हैं।
आप मान सकते हैं कि छवि वर्गाकार है, और यह कि साइड की लंबाई चार से अधिक है।
उत्पादन
आउटपुट इनपुट टाइल है, लेकिन एक षट्भुज में परिवर्तित हो जाता है (छवि स्वयं ही चौकोर होगी, पारदर्शी क्षेत्रों के साथ)। आप इसे फ़ाइल या स्क्रीन पर प्रदर्शित करने के लिए सहेज सकते हैं।
फिर से, कोई भी सामान्य छवि प्रारूप करेगा। यदि आप जिस प्रारूप का उपयोग कर रहे हैं, वह पारदर्शिता का समर्थन करता है, तो पृष्ठभूमि क्षेत्र पारदर्शी होना चाहिए। यदि ऐसा नहीं होता है, तो आप स्टैंड-इन के रूप में रंग # FF00FF (वह भयानक फ्यूशिया एक) का उपयोग कर सकते हैं।
तरीका
तो हम ऐसा कैसे करें? मैं जिस विधि का उपयोग करता हूं वह 2 वर्गाकार छवि को थोड़ा लंबवत खड़ी करती है, लेकिन कुल मिलाकर यह ज्यादातर चीजों के लिए बहुत अच्छी लगती है। हम इस इनपुट छवि के साथ एक उदाहरण देंगे:
- स्केल: छवि को ३: २ के अनुपात में स्केल करें। चूंकि हमारी छवियां चौकोर होंगी, इसका मतलब है कि आप उन्हें 75% चौड़ाई और 50% ऊँचाई पर मापेंगे। हमारा उदाहरण इनपुट 200x200 है, इसलिए हम इस 150x100 चित्र को समाप्त करते हैं:
- टाइल: 2x2 ग्रिड में अपनी स्केल की गई छवि की प्रतियां नीचे रखें:
- फसल: इस 2x2 ग्रिड में कहीं से भी उचित आकार के षट्भुज को पकड़ो। अब, आसानी से टाइलिंग के लिए, यह षट्भुज बिल्कुल नियमित नहीं है। मूल आकार (यहां 200x200) के एक वर्ग को काटकर, आप फिर कोनों को काटते हैं। फसल की रेखाएं ऊपरी (नीचे) किनारे से एक चौथाई तक प्रत्येक बाईं / दाईं ओर के केंद्र से (लगभग) चलना चाहिए:
और वह आपका आउटपुट है!
यहाँ पर इसका उदाहरण दिया जा सकता है कि यह कैसा दिख सकता है जब टाइल किया जाता है (यहाँ से ज़ूम आउट किया गया है):
यह कोड गोल्फ है, इसलिए बाइट्स जीत में सबसे छोटा कोड है। मानक खामियों लागू होते हैं, आदि और इतने पर।
1 इस पर विश्वास करें या न करें।
2 इस उपयोगी साइट से एक विधि ।