तमागोटची और गीगा पेट्स छोटे इलेक्ट्रॉनिक उपकरण थे जिन्होंने थोड़ा आभासी पालतू बनाया। इस पालतू जानवर के कई आँकड़े थे, जैसे स्वास्थ्य, भूख, आदि।
मैंने हाल ही में यह उदाहरण लिखा है:
import msvcrt,os,sys;d=m=100;h=s=t=p=0;f=10
while 1:
os.system('cls'if os.name=='nt'else'clear');print("health:",d,"\nhunger:",h,"\nsleep:",s,"\nfood:",f,"\npotions:",p,"\nmoney:",m);t+=1
if msvcrt.kbhit():
k=ord(msvcrt.getch())
if k==102 and h>8 and f:f-=1;h-=9
if k==115:s=0
if k==112 and p:p-=1;d+=9
if k==98 and m>8:m-=9;p+=1
if k==116 and m>8:m-=9;f+=1
if t>99:
t=0;h+=1;s+=1
if s>80:s=0;h+=9
if h>80:d-=1
if d<1:sys.exit(0)
if d>79:m+=1
यह 467 बाइट्स में एक नंगे हड्डियों वाला आभासी पालतू जानवर है! मैं तो सोचता था कि कोड गोल्फ पेशेवरों को कितना अच्छा कर सकता है, इसलिए अब, चुनौती।
चुनौती
एक प्रोग्राम बनाएं जो एक आभासी पालतू जानवर के 6 आंकड़ों को ट्रैक करता है, और समय के साथ और उपयोगकर्ता इनपुट के जवाब में उन्हें अपडेट करता है। आँकड़े हैं: स्वास्थ्य और धन (100 से शुरू), भोजन (10 से शुरू), और भूख, नींद और औषधि (0 से शुरू)।
कार्यक्रम को निम्नलिखित घटनाओं के जवाब में मूल्यों को अद्यतन करना चाहिए:
जबकि कार्यक्रम को कोई इनपुट नहीं मिल रहा है, उसे नियमित अंतराल पर अपडेट करना चाहिए (अपडेट के बीच का अंतराल आधे सेकंड से कम नहीं होना चाहिए और न ही एक सेकंड से अधिक समय तक)। प्रत्येक अद्यतन निम्न करता है:
- भूख और नींद 1 की वृद्धि।
- यदि भूख 80 या उससे अधिक है, तो स्वास्थ्य 1 से कम हो जाता है।
- यदि नींद 80 या उससे अधिक है, तो यह 0 पर रीसेट हो जाता है, और भूख एक अतिरिक्त 9 से बढ़ जाती है।
- यदि स्वास्थ्य 80 या अधिक है, तो धन 1 से बढ़ जाता है।
- यदि स्वास्थ्य 0 है, तो प्रोग्राम से बाहर निकलता है।
कार्यक्रम को उपयोगकर्ता द्वारा निम्नलिखित कुंजीपटों पर तुरंत जवाब देना चाहिए (इसका मतलब है कि आपको एक भाषा सुविधा या पुस्तकालय का उपयोग करने की आवश्यकता होगी जो कुंजी दबाए जाने का पता लगा सकती है और मानक इनपुट से पढ़ने के बजाय तुरंत इसका जवाब दे सकती है), प्रदर्शन निम्नलिखित क्रियाएं:
f: यदि भूख 8 से अधिक है और भोजन नॉनवेज है, तो भोजन 1 से कम हो जाता है और भूख 9 से कम हो जाती है।s: नींद 0 पर रीसेट है।p: यदि गुणन शून्य से अधिक है, तो गुणन 1 से कम हो जाता है और स्वास्थ्य 9 से बढ़ जाता है।b: यदि धन 8 से अधिक है, तो धन 9 से घटाया जाता है और औषधि 1 से बढ़ जाता है।t: यदि धन 8 से अधिक है, तो धन 9 से कम हो जाता है, और खाद्य 1 से बढ़ जाता है।
जब भी आँकड़े के मान बदलते हैं, तो उन्हें प्रपत्र में स्क्रीन पर प्रदर्शित किया जाना चाहिए । जब भी उनमें से कोई भी परिवर्तन होता है, तो सभी छह आँकड़े प्रदर्शित होने चाहिए; और एक प्रदर्शन के भीतर आँकड़े या तो अल्पविराम या newlines द्वारा अलग किया जाना चाहिए।Stat: value
यह चुनौती सामान्य है कोड गोल्फनियम: जीत के ऊपर विनिर्देशन का अनुपालन करने वाला सबसे छोटा कार्यक्रम। (ध्यान दें कि हमेशा की तरह, यदि भाषा प्रतियोगिता से नई है, तो जमा को गैर-प्रतिस्पर्धा के रूप में चिह्नित किया जाना चाहिए।)
