我试图做一个简单的游戏,但不能理解如何使它工作并通过网络发送更多的东西。它第一次运作,但它应该去10次。它现在只发送1个随机数,但我希望它在游戏再次发送时发送一个新数字,并且需要一个新数字。Python网络/套接字编程,简单游戏
服务器
import socket, random
sock = socket.socket()
host = socket.gethostname()
port = 12345
sock.bind((host, port))
sock.listen(5)
c, addr = sock.accept()
cpu = random.choice(range(0, 3))
c.send(cpu)
gameon = c.recv(int(1024))
客户
import socket, random
sock = socket.socket() # Create a socket object
host = socket.gethostname() # Get local machine name
port = 12345 # Reserve a port for your service.
sock.connect((host, port))
GAMEON = 'Rock', 'Paper', 'Scissors'
game = 0
iwin = 0
ilose = 0
tie = 0
while game < 10:
for i in range(0, 3):
print "%d %s" % (i + 1, GAMEON[i])
player = int(input ("Choose from 1-3: ")) - 1
cpu = int(sock.recv(1024))
print cpu
print""
print "%s vs %s" % (GAMEON[player], GAMEON[cpu])
print ""
if cpu != player:
if (player - cpu) % 3 < (cpu - player) % 3:
print "Player wins\n"
iwin += 1
else:
print "CPU wins\n"
ilose += 1
else:
print "TIE!\n"
tie += 1
game += 1
sock.send(str(game))
print"Game is done"
print"you win: ", (iwin), "Times"
print"computer wins: ", (ilose), "Times"
print"tie: ", (tie), "Times"
嗯,不能让这个工作:(它仍然只是发送要求,然后停止 – user1972508
这正是它应该是什么它呢?一个接一个地发送10个随机数字? – ATOzTOA
当服务器需要一个,但它只能工作1次,像以前一样:)我怎样才能让它工作10次? :P – user1972508