Advertisement
rebeccacc

servidor

Jun 10th, 2018
116
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.88 KB | None | 0 0
  1. import random
  2. import socket
  3. import time
  4. import threading
  5.  
  6. host = socket.gethostname()
  7. port = 9990
  8. acertos = []
  9. chutes = 1
  10. letras_chutadas = []
  11. palavra_sorteada = ""
  12. i = 0
  13. def sortear():
  14. palavras = ["cachorro", "cavalo", "aguia", "jacare", "baiacu", "gato", "borboleta", "aranha", "barata", "sapo"]
  15. palavra_sorteada = random.choice(palavras)
  16. tamanho = len(palavra_sorteada)
  17. print(palavra_sorteada)
  18. return tamanho, palavra_sorteada
  19.  
  20. def checar_palavra(palavra, con, palavras_secret):
  21. palavra_sorteada = palavras_secret
  22. print(palavra_sorteada)
  23. if palavra == palavra_sorteada:
  24. ganha = "acertou a palavra"
  25. ganha = str(ganha).encode("utf8")
  26. con.send(ganha)
  27. palavra_sorteada = str(palavra_sorteada).encode("utf8")
  28. con.send(palavra_sorteada)
  29.  
  30. def checar_chute(letra, con, palavra_secret):
  31. palavra_sorteada = palavra_secret
  32. print(palavra_sorteada + " aaaaaaa")
  33. if letra not in letras_chutadas:
  34. letras_chutadas.append(letra)
  35. letra_correta = False
  36. for i in range(0, len(palavra_sorteada)):
  37. if (letra == palavra_sorteada[i]):
  38. letra_correta = True
  39. acertos[i] = letra
  40. if (letra_correta):
  41. mensagem = "Acertou, a letra faz parte da palavra!".encode("utf8")
  42. con.send(mensagem)
  43. print(mensagem.decode("utf8"))
  44. else:
  45. ainda_not = "essa letra nao faz parte da palavra"
  46. ainda_not = ainda_not.encode("utf8")
  47. con.send(ainda_not)
  48. else:
  49. err = "letra ja chutada"
  50. err = err.encode("utf8")
  51. con.send(err)
  52.  
  53. def fazer_jogo(con):
  54. del acertos[:]
  55. del letras_chutadas[:]
  56. tamanho, palavra_sorteada = sortear()
  57. for i in range(0, tamanho):
  58. acertos.append("-")
  59. comp = str(tamanho).encode("utf8")
  60. con.send(comp)
  61. while True:
  62. op2 = con.recv(1204)
  63. op2 = op2.decode("utf8")
  64.  
  65. if op2 == "1":
  66. rcv_chute = con.recv(1204)
  67. rcv_chute = rcv_chute.decode("utf8")
  68. print(rcv_chute)
  69. checar_chute(rcv_chute, con, palavra_sorteada)
  70. print(acertos)
  71. teste = str(acertos).encode("utf8")
  72. con.send(teste)
  73. elif op2 == "2":
  74. rcv_palavra = con.recv(1204)
  75. rcv_palavra = rcv_palavra.decode("utf8")
  76. checar_palavra(rcv_palavra, con, palavra_sorteada)
  77. break
  78.  
  79. def handle_client(con, addr):
  80. while True:
  81. op = con.recv(1024)
  82. op = op.decode("utf8")
  83. if op == "1":
  84. fazer_jogo(con)
  85.  
  86. print("terminou")
  87.  
  88.  
  89.  
  90. s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
  91. s.bind((host, port))
  92. s.listen(1000)
  93.  
  94. while True:
  95. con, addr = s.accept()
  96. t = threading.Thread(target=handle_client, args=(con, addr))
  97. t.start()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement