1. 程式人生 > >Python 實現 黑客帝國中的字元雨

Python 實現 黑客帝國中的字元雨

本教程很簡單吧,除了複製程式碼之外,希望你也抽點時間去看下“注意”,教程很簡單,有問題請留言吧,看到後我會一一回復

廢話不多數,先上圖

注意

  1. 本專案中,需要用到檔案庫“pygame”,不會的小夥伴,可以參考我的PyCharm教程裡面有詳細的講解如何新增庫;
  2. 對於沒有字型ttf的小夥伴,也不必擔心,可以去這個連結下載: 裡面是我整理的字型檔案,有30+ 種,完全能夠滿足你的平日使用需求;
#  !/usr/bin/env  python
#  -*- coding:utf-8 -*-
# @Time   :  2018.
# @Author :  綠色羽毛
# @Email  :  [email protected]
# @Blog : https://blog.csdn.net/ViatorSun # @Note : 類似"黑客帝國"中的程式碼雨效果 #匯入系統檔案庫 import pygame from pygame.locals import * from random import randint #定義一些窗體引數及載入字型檔案 SCREEN_WIDTH = 900 # 窗體寬度 SCREEN_HEIGHT = 600 # 窗體寬度 LOW_SPEED = 10 # 字型移動最低速度 HIGH_SPEED = 20 # 字型移動最快速度
LOW_SIZE = 5 # 字型最小尺寸 HIGH_SIZE = 50 # 字型最大尺寸 FONT_SIZE = 20 # 顯示字型數量 從0開始 FONT_NAME = "myfont.ttf" # 注意字型的檔名必須與真實檔案完全相同(注意ttf的大小寫),且檔名不能是中文 FREQUENCE = 10 # 時間頻度 times = 0 # 初始化時間 # 定義隨機顏色、速度等 def randomcolor() : return (
randint(0,255),randint(0,255),randint(0,255)) def randomspeed() : return randint(LOW_SPEED,HIGH_SPEED) def randomposition() : return (randint(0,SCREEN_WIDTH),randint(0,SCREEN_HEIGHT)) def randomsize() : return randint(LOW_SIZE,HIGH_SIZE) 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,randomcolor()) 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 HACKER EMPIRE CodeRain") clock = pygame.time.Clock() group = pygame.sprite.Group() group_count = int(SCREEN_WIDTH / FONT_SIZE) #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_SIZE,-FONT_SIZE))) group.update() group.draw(screen) pygame.display.update()

相關推薦

Python 實現 黑客帝國字元

本教程很簡單吧,除了複製程式碼之外,希望你也抽點時間去看下“注意”,教程很簡單,有問題請留言吧,看到後我會一一回復 廢話不多數,先上圖 注意 本專案中,需要用到檔案庫“pygame”,不會的小夥伴

python實現從字串找出特定字元的位置以及個數的方法

python實現從字串中找出特定字元的位置以及個數的方法 本文例項主要實現給出任意字串,獲取字串中某字元的位置以及出現的總次數。 實現該功能程式碼的時候可以使用函式enumerate來將字串分離成位置和字元,然後進行比較即可。 具體實現程式碼如下: #!/b

Python模擬黑客帝國影片的終端動畫指令碼

前言 翻閱Github發現一個模擬黑客帝國終端動畫的效果!只需要安裝以後執行簡單命令就好!效果圖: 安裝 採用Python包管理工具pip安裝即可: pip install git+https://github.com/will8211/unimatrix.g

java實現黑客帝國數字特效(轉)

原文出處https://www.cnblogs.com/x110/p/4239585.html 我在原文的基礎上做了優化,使動畫看起來更流暢,效果如下 import java.awt.*; import java.awt.event.ActionEvent; import java.awt.ev

劍指offer66題--Java實現,c++實現python實現 11.二進位制1的個數

題目描述 輸入一個整數,輸出該數二進位制表示中1的個數。其中負數用補碼錶示。 Python實現 # -*- coding:utf-8 -*- class Solution: def NumberOf1(self, n): cnt = 0 if n

劍指offer66題--Java實現,c++實現python實現 28.陣列出現次數超過一半的數字

題目描述 陣列中有一個數字出現的次數超過陣列長度的一半,請找出這個數字。例如輸入一個長度為9的陣列{1,2,3,2,2,2,5,4,2}。由於數字2在陣列中出現了5次,超過陣列長度的一半,因此輸出2。如果不存在則輸出0。 C++ class Solution { public:

黑客帝國、亂紛飛效果

1、linux下實現: 執行如下兩條命令即可 sudo apt-get install cmatrix cmatrix 效果圖如下:     2、JS實現,吧如下程式碼儲存成HTML執行,即可 <!DOCTYPE html><html><

劍指offer-10-Python實現(二進位制1的個數)

題目內容: 解答思路: 把一個整數減去1,再和原來的整數做位與運算,會把該整數最右邊一個1變成0.也就是說,一個整數的二進位制有多少個1,就可以完成多少次這樣的操作。 可以寫出程式碼: def func(n): cnt = 0 w

python實現機器學習的各種距離計算及文字相似度演算法

在自然語言處理以及機器學習的分類或者聚類中會涉及到很多距離的使用,各種距離的概念以及適用範圍請自行百度或者參考各種距離 import numpy as np import math # 依賴包numpy、python-Levenshtein、scipy

python實現:輸入一行字元,分別統計出其中英文字母,空格,數字和其他字元的個數

s=input('input a string:\n') letters=0 space=0 digit=0 others=0 for c in s: if c.isalpha():

python實現從檔案讀取資料並繪製成 x y 軸圖形

import matplotlib.pyplot as plt import numpy as np def readfile(filename):     dataList = []     dataNum = 0     with open(filename,'r')

Python實現刪除列表滿足一定條件的元素示例(轉)

http://www.jb51.net/article/115953.htm 本文例項講述了Python實現刪除列表中滿足一定條件的元素。分享給大家供大家參考,具體如下: 從列表中刪除滿足一定條件的元素。 如:刪除一個列表中長度為0的元素,或者刪除列表中同時是2和3的倍數的元素。 做過高階語言程式設計的人想

Python實現演算法導論的演算法 序

目前正好在學習Python和《演算法導論(原書第三版)》,於是想著想用Python把書中所有演算法實現一遍。更新時間不確定,完成時間我也沒有定下來,大概有空就會寫寫,希望儘早可以完成吧~ 本篇部落格將

python實現對kafka日誌資料監控報告(釘釘)

# !/usr/bin/env python # coding:utf-8 # 該指令碼是作統計 from datetime import datetime, timedelta import os from dingtalkchatbot.chatbot i

黑客帝國的程式碼

import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.KeyAdapter; i

實現黑客帝國螢幕效果

<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>Maxtrix</title> <style> *

Python實現去掉文章特定的段落

有一份試題,每個問題以QUESTION NO開始,然後是該題的答案,以Answer:開始。為了摘出一份只包含問題,不包含答案的試題,嘗試用ultraedit的正則表示式替換,但不支援跨行替換。於是寫了下面的Python程式。from sys import*fp=open(argv[1],'r')fo=open

Python實現找到陣列出現的最多的數字的次數

練手的demo程式碼,存下來記錄一下。 import numpy as np import random def random_int_list(start, stop, length): s

在centos7安裝黑客帝國代碼--cmatrix

figure 效果 con process tar ces bbf 軟件 ubd 由於官網已失效,所以cmatrix軟件的下載地址 鏈接:https://pan.baidu.com/s/1htoyubD9jXhPqNbDyj5hcw 提取碼:e06k 1、sz 上傳到

Linux實現黑客帝國炫酷效果

cmatrix是Linux環境下黑客帝國風格的屏保,綠色的字母在螢幕上刷刷如雨水落下,偶爾看看能回憶起程式