हर कोई हमेशा कॉनवे के गेम ऑफ लाइफ को लागू करना चाहता है। यह ऊबाऊ है! चलो बजाय पुलिस और लुटेरों!
आपके पास दो टीमें होंगी: पुलिस और लुटेरे। प्रत्येक टीम में 50 स्वास्थ्य के साथ 5 सदस्य हैं। कार्यक्रम लगातार लूप होगा। प्रत्येक पुनरावृत्ति, निम्नलिखित घटित होगी:
प्रत्येक टीम के लिए, (पहले अक्षर मुद्रित
Cपुलिस के लिए,Rलुटेरों के लिए), एक जगह है, सदस्यों की हिमाचल प्रदेश के एक अंतरिक्ष अलग की गई सूची, और एक नई पंक्ति। यह टीमों की स्थिति है। दोनों हो जाने के बाद, एक और नई लाइन प्रिंट करें। उदाहरण के लिए, यहाँ यह पहले दौर की तरह लग सकता है:C 50 50 50 50 50 R 50 50 50 50 501 से 10 तक यादृच्छिक संख्या चुनें (दोनों 1 और 10 सहित)। हम नंबर पर कॉल करेंगे
N। अगरNहै भी, तो लुटेरे इस चक्कर में हार जाते हैं; यदि विषम है, तो पुलिस खो जाती है।हारने वाली टीम का एक यादृच्छिक सदस्य चुनें जिसका एचपी 0 से अधिक हो और
Nएचपी को घटाएं । सदस्यों के एचपी को स्थिति पर 0 से नीचे कभी नहीं जाना चाहिए।लूप को पुनरारंभ करें।
खेल तब समाप्त होता है जब एक टीम के सभी सदस्य अपने सभी एचपी को खो देते हैं। यदि पुलिस जीत जाती है, तो निम्नलिखित को मुद्रित किया जाएगा:
C+
R-
और अगर लुटेरे जीत जाते हैं:
R+
C-
यह कोड गोल्फ है, इसलिए सबसे कम संख्या में पात्र जीतते हैं।
यहाँ अजगर 2 में एक नमूना कार्यान्वयन है:
import random
cops = [50]*5
robbers = [50]*5
while any(cops) and any(robbers):
# print the status
print 'C', ' '.join(map(str, cops))
print 'R', ' '.join(map(str, robbers))
print
# pick N
N = random.randint(1, 10)
# pick the losing team (robbers if N is even, else cops)
losers = robbers if N % 2 == 0 else cops
# pick a member whose HP is greater than 0
losing_member = random.choice([i for i in range(len(losers)) if losers[i]])
losers[losing_member] -= N
# make sure the HP doesn't visibly drop below 0
if losers[losing_member] < 0: losers[losing_member] = 0
if any(cops):
# robbers lost
print 'C+'
print 'R-'
elif any(robbers):
# cops lost
print 'C-'
print 'R+'
cops-and-robbers!
game-of-life।