Base

python – List all base classes in a hierarchy of given class?


See the __bases__ property available on a python class, which contains a tuple of the bases classes:

>>> def classlookup(cls):
...     c = list(cls.__bases__)
...     for base in c:
...         c.extend(classlookup(base))
...     return c
...
>>> class A: pass
...
>>> class B(A): pass
...
>>> class C(object, B): pass
...
>>> classlookup(C)
[<type 'object'>, <class __main__.B at 0x00AB7300>, <class __main__.A at 0x00A6D630>]



لینک منبع

java – Send different objects to different users from one base object Game


I have object Game which has ArrayList of Players and some other info.

Right now I am sending whole Game object with it’s properties as JSON to all the users.

What I want to achieve is this:

I have a very big structure btw so the players have heroes and heroes have some attributes and so on…

There are some info in Player class which I don’t want to send to all the users (like respawnTime of a Player if he’s not in your team.).

What is the best way to do this? I don’t have any idea how to solve this problem…

Btw I use Jackson to transform a Game object to JSON.



لینک منبع

آپدیت Builder Base کلش آف کلنز پیشرفت در بازی را سخت تر کرده است


بازی Clash of Clans چند هفته پیش یک به روز رسانی بزرگی را دریافت کرد که طی آن، دنیای جدیدی با تاون هال Builder Base به بازی اضافه می شود.

به گزارش کلیک، کمپانی Supercell به هیچ وجه قصد ندارد که بازی Clash of Clans 2 را طراحی،توسعه و عرضه کند. اما این کمپانی تمرکز ویژه ای بر روی ارتقا و پیشرفت بازی Clash of Clans دارد. با این حال شما در هر حالت بایستی از ابتدای شروع بازی، با استفاده از یک استراتژی ایده آل و درست بازی را شروع کنید و Base خود را ارتقا دهید. هیچوقت به این فکر نکنید که شما دیر شروع کرده اید چرا که همه کاربران بازی کلش آف کلنز همین فکر را داشته اند و حالا در Level های بالاتری قرار گرفته اند. ضمن اینکه Supercell حمایت همه جانبه خود را از بازی دریغ نمی کند و در فکر خلق ایده های جدید در بازی است. یکی از همین ایده های جدید، اضافه کردن دنیای Builder Base است. شما بازی Clash of Clans خود را به آخرین نسخه به روز رسانی می کنید و شاهد یک دنیای جدیدی از بازی Clash of Clans می شوید. با استفاده از یک قایق شما به آن دنیا می روید و یک Town Hall با نام Builder Base را مشاهده می کنید. شما با ارتقا Builder Base و آیتم های وابسته ی آن، ویژگی های جدیدی را به بازی اصلی و Town Hall در نقشه اصلی اضافه می کنید. ضمن اینکه بخش Builder Base خود شامل آپگرید ها و ارتقاهای ویژه ای است که جذابیت بازی را دوچندان کرده  و بازیباز را بیشتر سرگرم خود می کند. با این وجود یک مشکل در روند بازی وجود دارد.

1th pic

در بخش Builder Base شما با حمله های لوت محدودی مواجه هستید و همانند بازی اصلی نمی توانید هر لحظه که نیروهایتان آماده شد حمله را شروع کنید. در این بخش شما فقط سه بار می توانید حمله کنید و لوت بدست بیاورید. این حمله ها باید با یک استراتژی دقیق و کامل انجام شود هرچند در بازی اصلی ما با استفاده از استراتژی های کارساز می توانیم پیروز میدان شویم. در بخش Builder Base همان طور که گفته شد شما فقط سه فرصت برای جمع آوری لوت دارید و این بدین معنی نیست که اگر در حمله ای برنده نشدید فرصتتان از دست می رود خوشبختانه کمپانی Supercell از این موضوع چشم پوشی کرده است چرا که اگر در این حالت فرصت ها هم از دست می رود واقعا بازی غیر قابل تحمل می شد. شما پس از آماده کردن نیروهای خود گزینه Find Now را می زنید و منتظر می مانید تا سیستم به صورت Random و خودکار یک Builder Base آنلاین را برای شما پیدا کند. یکی از مشکلات آزار دهنده بخش جدید این است که شما حتما باید در حمله ای که سیستم برای شما پیدا می کند پیروز شوید و این حالت دقیقا برای حریف برقرار است. ممکن است شما نیروهای ضعیف تری نسبت  به سیستم دفاعی Builder Base حریف داشته باشید ولی باز هم باید یا شکست را قبول کنید و امتیاز لوت را به حریف بدهید و یا اینکه با تمام قدرت و ذهن و فکر خود و با به کارگیری یک استراتژی دقیق پیروز نبرد باشید. در حمله های بخش Builder Base هیچ گزینه Skip یا Next یا ترک جنگ وجود ندارد بنابراین یا امتیاز خواهید گرفت یا امتیاز لوت را به حریف خواهید داد. این یک ضعف برای پیشرفت در بازی Clash Of Clans محسوب می شود چرا که به بازیباز تحمیل می کند به هر نحوی که شده در حمله ها برنده شود.

2th pic

در حمله های بخش Builder Base شما باید نیروهای خود را با آرایش خاصی ارسال کنید بدین معنی که همه نیروهای خود را از یک مسیر رها نکنید. حمله های این بخش سخت تر از حمله های بازی اصلی شده و نیاز به یک استراتژی دقیق و منظم دارد. ضمن اینکه نقشه Builder Base و آیتم های دفاعی مربوطه را با آرایش خاصی چینش کنید. کلا دنیای Builder Base دنیای متفاوتی دارد اگرچه ارتقا این دنیا کمک به سزایی به بازی اصلی و آیتم های دفاعی بازی اصلی می کند اما ارتقا دنیای Builder Base واقعا سخت و مشکل است. در حملات به حریف بخش Builder Base هیچ مزیت به بازیباز داده نشده است. یعنی اگر شما حمله را سه ستاره برنده شوید هیچ پاداشی جز لوت خود حمله را دریافت نمی کنید. همین لوت را می توان تنها با گرفتن یک ستاره بدست آورد البته این زمانی است که حریف نتواند به خوبی به شما حمله کند. در واقع هر کسی که درصد تخریب بیشتری داشته باشد برنده است و لوت حمله را دریافت می کند. خواه این برد با گرفتن یک ستاره حاصل شود خواه با گرفتن سه ستاره! همچنین زمانی که شما و حریف درصد تخریب برابری داشته باشید سیستم به هیچ کدام یک از شما لوت حمله را نخواهد داد! در صورت عدم پیروزی در حمله فقط از کاپ شما کسر می شود و خوشبختانه هیچ لوت یا منبعی به حریف داده نمی شود.

3th pic

ارتقا دنیای Builder Base همانند دنیای بازی اصلی زمان بر است. برای اضافه کردن برخی از ویژگی های جدید به آیتم های دفاعی بازی اصلی، باید دنیای Builder Base را به آن میزانی که نیاز است ارتقا دهید. فرایند زمان گیر ارتقا دنیای Builder Base باعث می شود که شما از پیشرفت ها و ارتقای آیتم های بازی اصلی غافل بمانید و بدین ترتیب روند ارتقا را بیش از گذشته کندتر و سخت تر کنید. در حالت کلی شما بایستی آن میزان زمانی را که به بازی Clash of Clans اختصاص می دادید دو برابر کنید چرا که فرایند ارتقا آیتم های بازی اصلی آهسته تر می شود به این جهت که فرایند ارتقا دنیای Builder Base و آیتم های آن زمان بر است.



لینک منبع