কনভয়ের গেম অফ লাইফ প্রত্যেকেই সর্বদা বাস্তবায়িত করতে চায়। এটা বিরক্তিকর! এর পরিবর্তে পুলিশ এবং ডাকাতগুলি করা যাক!
আপনার দুটি দল থাকবে: পুলিশ এবং ডাকাত। প্রতিটি টিমের ৫০ জন করে স্বাস্থ্য রয়েছে Each প্রোগ্রাম অবিচ্ছিন্নভাবে লুপ হবে। প্রতিটি পুনরাবৃত্তি, নিম্নলিখিত ঘটবে:
প্রতিটি দলের জন্য, প্রথম চিঠিটি (
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।