Day18-作业

from requests import request
from threading import Thread
import socket
import pygame
from random import randint
class Multiple(Thread):
    def __init__(self,conver,screen,list1=[]):
        super().__init__()
        self.conver=conver
        self.screen=screen
        self.list1=list1
    def run(self):

        while True:
            message=self.conver.recv(1024).decode(encoding='utf-8')
            self.list1.append({'message': '%s'%(message), 'speed': 20, 'position': (600, randint(0, 380))})


if __name__ == '__main__':
    server=socket.socket()
    server.bind(('192.168.0.108',8089))
    server.listen(512)
    pygame.init()
    screen = pygame.display.set_mode((600, 400))
    screen.fill((255, 255, 255))
    font = pygame.font.SysFont('Times', 20)
    surface = font.render('super', True, (0, 0, 0))
    screen.blit(surface, (100, 100))
    pygame.display.flip()
    while True:
        conver, addr = server.accept()
        t=Multiple(conver,screen)
        t.start()
        list1=[]
        pygame.time.delay(1000)
        while True:
            for event in pygame.event.get():
                if event.type == pygame.QUIT:
                    exit()
            list1=list.copy(t.list1)
            screen.fill((255,255, 255))
            font = pygame.font.SysFont('Times', 30)
            for dict3 in list1:
                surface = font.render(dict3['message'], True, (255, 0, 0))
                x, y = dict3['position']
                if x>-200:
                    screen.blit(surface, (x, y))
                    x -= dict3['speed']
                    dict3['position'] = (x, y)
                else:
                    list1.remove(dict3)
                    continue
                pygame.time.delay(20)
                pygame.display.update()
捕获.JPG
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容