मेरे सास-ससुर उनके कोठी में एक मछली का बच्चा है, जो कोई से भरा है। यह वास्तव में मेरे दिमाग को पार नहीं करता था जब तक कि मैंने अपने कोड से निम्नलिखित अर्क को नहीं देखा था।
',') & '_'
... मैं मछली-चेहरे मेरी स्क्रीन से मुझे देख रहा था ...
जिसने मुझे एक महान विचार दिया है ...
आपके लिए मेरी खोज, मेरे प्यारे गोल्फरों, एक-एक ASCII एक्वेरियम बनाना है, जिसमें निम्नलिखित नियम हैं:
- टैंक के दूसरी तरफ से टैंक के दूसरी तरफ के एक्वेरियम का आकार 60 अक्षरों से छोटा नहीं होना चाहिए और 80 वर्णों से बड़ा नहीं होना चाहिए। टैंक के पक्षों को पाइप / बार (
|
) वर्ण का उपयोग करके इंगित करने की आवश्यकता है । - मछली को टैंक के किनारों के बीच दाएं से बाएं "तैरना" करने में सक्षम होना चाहिए। जैसा कि वे मोड़ रहे होंगे, एक दिशा से दूसरी दिशा में संक्रमण के लिए एक सामने का दृश्य आवश्यक है।
मछली को निम्न जैसा दिखना चाहिए:
}}< }} ',')
मछली तैरना सही है(',' {{ >{{
मछली तैरना छोड़ दिया}}('_'){{
सामने की ओर मछली
जब कोई मछली दिशा बदलने (30% मौका) की ओर मुड़ती है, तो उसे एक दिशा से शुरू होना चाहिए, सामने की ओर, फिर दूसरी दिशा का सामना करना चाहिए ... सुनिश्चित करें कि मछली के मुड़ने के लिए पर्याप्त जगह है, अर्थात इससे पहले छह स्थानों की आवश्यकता होती है। न्यूनतम टैंक के किनारे ...
- जब तक एक मछली बुलबुले या बदलती दिशा में बह रही है, तब तक यह उस दिशा में जारी रहेगा जो सामना कर रहा है, अगर यह टैंक के किनारे के छह स्थानों के भीतर हो जाता है, तो यह दिशा बदल देगा।
- मछली (बाएं या दाएं) का सामना कर सकती है (10% मौका) उत्तराधिकार में बुलबुले को रोकने के लिए (
.oO*
), इसलिए मछली को बुलबुले के अस्तित्व के लिए उनके बगल में एक स्थान उपलब्ध होना आवश्यक है, इसलिए एक मछली हो सकती है केवल पक्षों के करीब तैरें, एक स्थान को बचाएं। मछली के हिलने से पहले बुलबुला गायब हो जाना चाहिए ...
मछलियों के व्यवहार की उदाहरण लाइनों की एक श्रृंखला, -
रिक्त स्थान का संकेत देने वाले पात्रों के साथ , क्योंकि यहाँ पर कोड डिस्प्ले फीचर थोड़ा सख्त है ... मुझे उम्मीद है कि जब आप इसे कोड करेंगे तो इन डैश को रिक्त स्थान से बदल दिया जाएगा ...
यहां प्रत्येक पंक्ति को समय-चूक में एक फ्रेम माना जा सकता है।
|-}}< }} ',')----------|
|--}}< }} ',')---------|
|---}}< }} ',')--------|
|----}}< }} ',')-------|
|-----}}< }} ',')------|
|-----}}< }} ',').-----|
|-----}}< }} ',')o-----|
|-----}}< }} ',')O-----|
|-----}}< }} ',')*-----|
|---------}}('_'){{----|
|-----------(',' {{ >{{|
|----------(',' {{ >{{-|
|---------(',' {{ >{{--|
|--------.(',' {{ >{{--|
|--------o(',' {{ >{{--|
|--------O(',' {{ >{{--|
|--------*(',' {{ >{{--|
|--------(',' {{ >{{---|
|-------(',' {{ >{{----|
|------(',' {{ >{{-----|
आदि उपरोक्त उदाहरण है, जैसा कि मैंने कहा, छोटा है, लेकिन आप सामान्य विचार प्राप्त करते हैं ...
सबसे छोटा कोड जीतता है ...
मैं एक ही लाइन (यदि संभव हो) पर आउटपुट की उम्मीद कर रहा हूं, यदि नहीं, तो उत्तराधिकार में फ्रेम के बाद फ्रेम प्रदर्शित करना ठीक है ... चाहे आप एक लाइन पर जाएं या कई लाइनें आपके ऊपर हैं। यदि आप कई लाइनें कर रहे हैं, तो उन्हें एक नई रेखा से अलग किया जाना चाहिए।
इसके अलावा फ्रेम, 2000ms के बीच एक टाइमर लगाया जाता है। यह अनिवार्य है ।
आइए देखें कि आपको क्या मिला है!