#!/usr/bin/python3 """ Competitive tetris bot example """ import time import random import zmq import flatbuffers import wire_protocol.Command import wire_protocol.CommandRequest import wire_protocol.CommandResponse import wire_protocol.CommandResponseError def main(): context = zmq.Context() socket = context.socket(zmq.REQ) res = socket.connect("tcp://localhost:5555") print(f"connected: {res}") while True: builder = flatbuffers.Builder() wire_protocol.CommandRequest.Start(builder) wire_protocol.CommandRequest.AddCommand( builder, random.choice([ wire_protocol.Command.Command.ShiftLeft, wire_protocol.Command.Command.ShiftRight, wire_protocol.Command.Command.Rotate, wire_protocol.Command.Command.Land, ])) req = wire_protocol.CommandRequest.End(builder) builder.Finish(req) socket.send(builder.Output()) rsp_buf = socket.recv() rsp = wire_protocol.CommandResponse.CommandResponse.GetRootAs(rsp_buf) time.sleep(0.24) if __name__ == "__main__": main()