2010-03-28 39 views
5

我希望用戶在我的應用程序中完成各種任務(從標記對象到交朋友等任務)獲得「積分」。我還沒有找到簡化這個的Django應用程序。Django中的社交遊戲機制

目前我正在考慮積累積分的最佳方式是每個用戶動作創建「流項目」的等價物,並通過計算髮布到其流中的每個動作的值來計算積分。

很明顯社交遊戲機制是一個巨大的領域,目前正在進行大量的研究。但從發展的角度來看,最簡單的入門方法是什麼?我在錯誤的軌道上還是有更好/更簡單的方法?

編輯:對於想要一個非常簡單的實現的任何人透露此事:

對於任何人有興趣在一個非常簡單的實現這個想法的嘗試創建一個「日誌」應用,並把這個在你的models.py :

log_models = [Tag, Post, Vote] 

class Point(models.Model): 
    # model fields 

def increase_score(sender, instance, signal, *args, **kwargs): 
    # score logic 

for model in log_models: 
    post_save.connect(increase_score, sender=model) 
    post_delete.connect(decrease_score, sender=model) 

請參閱本文檔,如果你發現post_save被髮射兩次:http://code.djangoproject.com/wiki/Signals#Helppost_saveseemstobeemittedtwiceforeachsave

回答

2

「流項目」?從來沒有聽說過。

「日誌」是有道理的。這聽起來像你要在一個表中記錄事件。總結或計數記錄的事件。這是最簡單和最具擴展性的。

您可以定期總結(每小時爲大社會人羣,每天爲小人羣)。