Pythonはハッカー帝国の文字雨を実現


この教程はとても简単でしょう、それ以外に、あなたも时间を割いて“ ”を见ることを望んで、教程はとても简単で、问题があったら伝言を残してください
くだらないことは多くないから,まず図に載せる.
に注意
  • 本プロジェクトでは、ライブラリ「pygame」を使用する必要があります.できないパートナーは、私のPyCharmチュートリアルを参照して、ライブラリの追加方法について詳しく説明することができます.
  • フォントttfのない友达に対して、心配する必要はありません.このリンクに行ってダウンロードすることができます.中には私が整理したフォントファイルがあります.30+種類があります.あなたの普段の使用ニーズを完全に満たすことができます.
  • #  !/usr/bin/env  python
    #  -*- coding:utf-8 -*-
    # @Time   :  2020.2
    # @Author :      
    # @Email  :  [email protected]
    # @Blog   :  https://blog.csdn.net/ViatorSun
    # @Note   :    "    "       
    
    
    #       
    import pygame
    import random
    from pygame.locals import *
    from random import randint
    
    
    
    #               
    SCREEN_WIDTH  = 900         #     
    SCREEN_HEIGHT = 600         #     
    LOW_SPEED  = 4              #         
    HIGH_SPEED = 10             #         
    FONT_COLOR = (00,150,00)    #     
    FONT_SIZE = 5               #     
    FONT_NOM  = 20              #          0  
    FONT_NAME = "calibrii.ttf"  #                    (  ttf    ),         
    FREQUENCE = 10              #     
    times = 0                   #      
    
    
    #       
    def randomspeed() :
        return randint(LOW_SPEED,HIGH_SPEED)
    def randomposition() :
        return randint(0,SCREEN_WIDTH),randint(0,SCREEN_HEIGHT)
    def randomoname() :
        return randint(0,100000)
    def randomvalue() :
        return randint(0,100)              # this is your own display number range
    
    
    #class of sprite
    class Word(pygame.sprite.Sprite) :
        def __init__(self,bornposition) :
            pygame.sprite.Sprite.__init__(self)
            self.value = randomvalue()
            self.font = pygame.font.Font(FONT_NAME,FONT_SIZE)
            self.image = self.font.render(str(self.value),True,FONT_COLOR)
            self.speed = randomspeed()
            self.rect = self.image.get_rect()
            self.rect.topleft = bornposition
    
        def update(self) :
            self.rect = self.rect.move(0,self.speed)
            if self.rect.top > SCREEN_HEIGHT :
                self.kill()
    
    
    #init the available modules
    pygame.init()
    screen = pygame.display.set_mode((SCREEN_WIDTH,SCREEN_HEIGHT))
    pygame.display.set_caption("ViatorSun CodeRain")
    clock = pygame.time.Clock()
    group = pygame.sprite.Group()
    group_count = int(SCREEN_WIDTH / FONT_NOM)
    
    
    #mainloop
    while True :
        time = clock.tick(FREQUENCE)
        for event in pygame.event.get() :
            if event.type == QUIT :
                pygame.quit()
                exit()
    
        screen.fill((0,0,0))
        for i in range(0,group_count) :
            group.add(Word((i * FONT_NOM,-FONT_NOM)))
    
        group.update()
        group.draw(screen)
        pygame.display.update()