コード例 #1
0
ファイル: tetris.py プロジェクト: billduff/tetris
def timerFired():
	if not canvas.data.isGameOver:
		movePossible = moveFallingPiece(1, 0)
		if movePossible:
			canvas.data.score += 1
			canvas.data.Moved = True
		else:
			if not canvas.data.Moved:
				canvas.data.isGameOver = True
			placeFallingPiece()
			newFallingPiece()
			newNextPiece()
			canvas.data.canHold = True
			canvas.data.landed = False
			canvas.data.Moved = False
		redrawAll()
	canvas.data.timerId = canvas.after(canvas.data.delay, timerFired)

	# NETWORK CONNECTIONS
	for i in canvas.data.connection._receivedMessages:
		if jsonutils.isJSON(i):
			d = jsonutils.jsonToDict(i)
			#print d
			if "lines" in d:
				numLines = d["lines"]
				addManyJunkRows(numLines)
			if "control" in d:
				if d["control"] == "restart":
					restart()
		canvas.data.connection._receivedMessages.remove(i)
コード例 #2
0
ファイル: server.py プロジェクト: billduff/tetris
    def run(self):
        print 'Spawned thread'
        self._inFlo = self._sock.makefile(mode='r')
        while True:
            line = self._inFlo.readline()
            if not line:
                break

            d = jsonutils.jsonToDict(line)
                    
            if "lines" in d:
                    blastToRandom(line, self)
            elif "control" in d:
                    blastToAll(line)

            #blastToAllButMe(line, self) # Send out new message to all connected clients

        self.quitThread()