Konsol oyununu pygame'e uygun hale getirmek

Socket modülünü kullanarak iki kişilik ve farklı bilgisayarlardan oynanan bir oyun yaptım ancak bu oyun konsoldan oynanıyor. Oyuncuların yaptığı tek şey input vermek ve onların ve printlerin pygame’de gözükmesini istiyorum.
Kod burda:
Server.py

import socket
import pickle

def artıeksi(tahmin, sayı):
    result = []
    skor = []
    for i in range(len(sayı)):
        if sayı[i] == tahmin[i]:
            result.append("+")
        elif sayı[i] in tahmin:
            result.append("-")
    for i in range(4):
        if "+" in result:
            skor.append("+")
            result.remove("+")
    for i in range(4):
        if "-" in result:
            skor.append("-")
            result.remove("-")
    for i in range(2):
        if ("+" in skor) and ("-" in skor):
            skor.remove("+")
            skor.remove("-")
    return skor


def main():
    server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    server_socket.bind(('localhost', 5000))
    server_socket.listen(2)

    print("Oyuncular bekleniyor...")

    player1, player1_address = server_socket.accept()
    print("1. oyuncu bağlandı:", player1_address)

    player2, player2_address = server_socket.accept()
    print("2. oyuncu bağlandı:", player2_address)

    # 1. oyuncunun sayısını al
    player1.send("Sayınızı girin: ".encode())
    a = player1.recv(1024).decode()

    # 2. oyuncunun sayısını al
    player2.send("Sayınızı girin: ".encode())
    b = player2.recv(1024).decode()

    while True:
        # 1. oyuncunun tahminini al
        player1.send("Tahmininizi girin: ".encode())
        tahmin1 = player1.recv(1024).decode()
        skor = artıeksi(tahmin1, b)
        serialized_skor = pickle.dumps(skor)
        player1.send(serialized_skor)
        print("1. oyuncunun tahmini:", tahmin1)

        # Tahmini kontrol et, oyunu sonlandırma koşullarını kontrol et
        if tahmin1 == b:
            player1.send("Tebrikler! 1. oyuncu kazandı!".encode())
            player2.send("Maalesef! 1. oyuncu senin sayını tahmin etti!".encode())
            break

        # 2. oyuncunun tahminini al
        player2.send(tahmin1.encode())
        player2.send("Tahmininizi girin: ".encode())
        tahmin2 = player2.recv(1024).decode()
        skor = artıeksi(tahmin2, a)
        serialized_skor = pickle.dumps(skor)
        player2.send(serialized_skor)
        print("2. oyuncunun tahmini:", tahmin2)

        # Tahmini kontrol et, oyunu sonlandırma koşullarını kontrol et
        if tahmin2 == a:
            player1.send("Maalesef! 2. oyuncu senin sayını tahmin etti!".encode())
            player2.send("Tebrikler! 2. oyuncu kazandı!".encode())
            break

    server_socket.close()

if __name__ == "__main__":
    main()

  1. Oyuncu.py
import socket
import pickle

def main():
    a = []
    client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    client_socket.connect(('localhost', 5000))
    print(client_socket.recv(1024).decode())
    a = input(">")
    client_socket.send(a.encode())
    while True:
        tahmin1 = []
        print(client_socket.recv(1024).decode())
        tahmin1 = input(">")
        client_socket.send(tahmin1.encode())
        serialzed_skor = client_socket.recv(1024)
        skor = pickle.loads(serialzed_skor)
        print("Skorun: ", skor)
if __name__ == "__main__":
    main()
  1. Oyuncu.py
import socket
import pickle

def main():
    b = []
    client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    client_socket.connect(('localhost', 5000))
    print(client_socket.recv(1024).decode())
    b = input(">")
    client_socket.send(b.encode())
    while True:
        tahmin2 = []
        print("Diğer kişinin tahmini: ", (client_socket.recv(1024).decode()))
        print(client_socket.recv(1024).decode())
        tahmin2 = input(">")
        client_socket.send(tahmin2.encode())
        serialzed_skor = client_socket.recv(1024)
        skor = pickle.loads(serialzed_skor)
        print("Skorun: ", skor)
if __name__ == "__main__":
    main()