Beispiel #1
0
 def Login(self, m_uid, account, password):
     sValue = self.Query(account)
     dvalue = json.loads(sValue)
     score = "-1"
     time = "-1"
     socketMgr = pubglobalmanager.GetGlobalManager("socketmgr")
     #register success
     if sValue == "-1":
         sendMsg = "register success"
         socketMgr.GetItem(m_uid).SendMsg(sendMsg)
         value = "{\"password\":\"" + password + "\",\"score\":\"" + score + "\",\"time\":\"" + time + "\"}"
         print(value)
         self.Add(account, value)
         t = Timer(1, self.SendScore, [m_uid])
         t.start()
     #login success
     elif dvalue['password'] == password:
         sendMsg = "Login success"
         #print(sendMsg)
         #print(pubglobalmanager.GetGlobalManager("socketmgr").m_UID)
         socketMgr.GetItem(m_uid).SendMsg(sendMsg)
         t = Timer(1, self.SendScore, [m_uid])
         t.start()
     #password is wrong
     elif dvalue['password'] != password:
         sendMsg = "Password is wrong"
         socketMgr.GetItem(m_uid).SendMsg(sendMsg)
         #print(dvalue['password'])
     self.Save()
Beispiel #2
0
 def SaveScore(self, m_uid, account, score, time):
     sValue = self.Query(account)
     sendMsg = ""
     if sValue == "-1":
         sendMsg = "Save Error!"
     else:
         dValue = json.loads(sValue)
         dValue['score'] = score
         dValue['time'] = time
         value = json.dumps(dValue)
         self.Add(account, value)
         sendMsg = "Save Success!"
     socketMgr = pubglobalmanager.GetGlobalManager("socketmgr")
     socketMgr.GetItem(m_uid).SendMsg(sendMsg)
     print("save")
     self.Save()
Beispiel #3
0
 def SendScore(self, m_uid):
     dScore = {}
     for key, value in self.m_Data.items():
         if key != "total":
             dValue = json.loads(value)
             score = dValue['score']
             dScore[key] = score
             #print(dScore[key]),key
     #sorted by scorenum
     sortdScore = sorted(dScore.items(),
                         key=lambda dScore: dScore[1],
                         reverse=True)
     #get the valid data what the sender requires (score!=-1)
     sendMsg = []
     i = 0
     for tup in sortdScore:
         account = tup[0]
         score = tup[1]
         if score != "-1":
             value = self.m_Data[account]
             dValue = json.loads(value)
             msgRow = "{\"account\":\"" + account + "\",\"score\":\"" + dValue[
                 'score'] + "\",\"time\":\"" + dValue['time'] + "\"}"
             sendMsg.append(msgRow)
             i += 1
             if i == 10:
                 break
     #convert to json string,send to server
     sendString = "["
     for sMsg in sendMsg:
         if sendMsg.index(sMsg) != 0:
             sendString += ','
         sendString += sMsg
     sendString += ']'
     print(sendString)
     socketMgr = pubglobalmanager.GetGlobalManager("socketmgr")
     socketMgr.GetItem(m_uid).SendMsg(sendString)
     print("Send Score Success")
Beispiel #4
0
def Init():
    if pubglobalmanager.GetGlobalManager(defines.MUTEXLOCK_NAME):
        return
    oManager = manager.CMutexLockManager()
    pubglobalmanager.SetGlobalManager(defines.MUTEXLOCK_NAME, oManager)
Beispiel #5
0
 def ___AutoLock(*args, **kwargs):
     oMgr = pubglobalmanager.GetGlobalManager(defines.MUTEXLOCK_NAME)
     oMgr.Acquire(sName)
     ret = func(*args, **kwargs)
     oMgr.Release(sName)
     return ret
Beispiel #6
0
def Init():
    if pubglobalmanager.GetGlobalManager("demo"):
        return
    oManger = CDemo()
    pubglobalmanager.SetGlobalManager("demo", oManger)
    oManger.Init()
Beispiel #7
0
def Init():
    if pubglobalmanager.GetGlobalManager(defines.COMMAND_CTRL_NAME):
        return
    oManager = manager.CCommandManager()
    pubglobalmanager.SetGlobalManager(defines.COMMAND_CTRL_NAME, oManager)
Beispiel #8
0
def OnCommand(oClient, dData):
    oManager = pubglobalmanager.GetGlobalManager(defines.COMMAND_CTRL_NAME)
    oManager.OnCommand(oClient, dData)
Beispiel #9
0
def Init():
    if pubglobalmanager.GetGlobalManager(defines.TIME_CONTRL_MANAGER):
        return
    oManager = manager.CTimerManager()
    pubglobalmanager.SetGlobalManager(defines.TIME_CONTRL_MANAGER, oManager)
Beispiel #10
0
def Init():
    if pubglobalmanager.GetGlobalManager(defines.DBCTRL_MANAGER_NAME):
        return
    oManager = manager.CDBManager()
    pubglobalmanager.SetGlobalManager(defines.DBCTRL_MANAGER_NAME, oManager)
Beispiel #11
0
def Init():
    if pubglobalmanager.GetGlobalManager("tetris"):
        return
    oManger = CTetris()
    pubglobalmanager.SetGlobalManager("tetris", oManger)
    oManger.Init()
Beispiel #12
0
def Init():
    if pubglobalmanager.GetGlobalManager(defines.SOCKET_MANAGER):
        return
    oManager = manager.CSocketManger()
    pubglobalmanager.SetGlobalManager(defines.SOCKET_MANAGER, oManager)
Beispiel #13
0
def Start():
    oManager = pubglobalmanager.GetGlobalManager(defines.SOCKET_MANAGER)
    oManager.Start()