def getMsg(request): uid = request.GET.get('uid', None) # 获取请求消息用户ID if uid is not None: uid = int(uid) if uid not in user_dict: # 如果用户首次请求则建立用户实例 user_dict[uid] = Player() try: msgs = user_dict[uid].gettMsg( ) # 返回所有消息列表 [{from_id:111,to_id:111.....},{},{}] return HttpResponse(json.dumps(msgs)) # 响应一个json格式字符串 except Exception, e: print str(e)
def sendMsg(reuqest): data = reuqest.POST.get('data', None) # 接受前端传过来的json data = json.loads(data) # 把json转成python字典 now = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S') # 获取服务器时间 data['time'] = now to_id = int(data['to_id']) # 获取朋友的id if to_id not in user_dict: # 如果用户不在全局用户字典中则加入 user_dict[to_id] = Player() try: user_dict[to_id].msg_q.put(data) # 向用户字典中的对象的队列里加入一条消息 except Exception, e: print e
def parse_rankings(file, order=False): csv_reader = csv.reader(file) players_list = next(csv_reader)[1:] players_map = dict(zip(players_list, [Player(name=player) for player in players_list])) for ratings_row in csv_reader: # Column 1 is the timestamp value # Update player mapping with weighted score for each letter rank for col_idx, rating in enumerate(ratings_row[1:]): if RANKING_WEIGHT[rating] is not None: players_map[players_list[col_idx]].ratings.append(RANKING_WEIGHT[rating]) if order: return _ordered_tuple_from(players_map) else: return players_map
def __init__(self): super().__init__("War") self.players = [Player() for i in range(self.np)]
def reset_game(self): self.players = [Player() for i in range(self.np)] self.deck = Deck()