Skip to content

Latest commit

 

History

History
203 lines (155 loc) · 4.33 KB

340-1020831-随机汉字_随机表情_背景色_前景色_索引色_RGB.sy.md

File metadata and controls

203 lines (155 loc) · 4.33 KB
show version enable_checker
step
1.0
true

随机数字运算

回忆上次内容

  • 下死功夫
    • 有的时候未必有效
  • 功夫在诗外
    • 逆向思维 另辟蹊径
    • 说不定反而能够找到出路
    • 不要陷在游戏里
    • 跳出游戏 利用规则
    • 跳出规则 创造新规则
    • 都是建立在多思考 多观察的基础上的
  • 不要害怕冒险
    • 但更应该看清形势
    • 迭代出自己的规则
    • 找到出路

图片描述

  • 这就是我理解的随机的乐趣
  • python 还有什么好玩的呢?🤪
  • 我想来点中文

攻壳机动队

  • 这是开始第8秒
    • 快速随机滚动的满屏汉字

图片描述

  • 我想要做这个效果

随机汉字

图片描述

  • 基础汉字 序号范围是[0x4e00,0x9fff]
    • 这就是 随机取值的范围

图片描述

  • zi 是
    • 需要显示的汉字序号
    • 通过chr转化为具体汉字
  • 尝试运行

具体效果

图片描述

  • 可以换一下颜色吗?

根据索引表

  • 最下面一行
    • [232,255]的范围是32级的灰阶

图片描述

  • 根据这个随机范围
    • 生成随机的背景色

背景色

  • zi 还是
    • 需要显示的汉字序号
  • csi 是
    • 控制序列前导符
    • control sequence introducer
  • bgcolor 是
    • 得到的随机颜色值
      • 前面"48;5"
        • 代表使用的是 索引背景色模式
      • 后面"m"
        • 表明 控制序列的结束
import random
while True:
    zi = random.randint(0x4e00, 0x9fff)
    bgcolor = random.randint(232, 255)
    csi = "\33["
    final_str = csi \
              + "48;5;"\
              + str(bgcolor)\
              + "m"\
              + chr(zi)
    print(final_str,end="")
  • 尝试完成这样效果

图片描述

  • 确实可以换背景色
    • 可以让背景色和前景色都变化吗?

修改前景背景色

  • 在控制序列中
    • 不但设置背景索引色
    • 而且设置了前景索引色
      • 控制信息 是 "38;5;"
    • 注意
      • 背景索引色 控制信息 "48;5"
      • 之前加了;
import random
while True:
    zi = random.randint(0x4e00, 0x9fff)
    fgcolor = random.randint(232, 255)
    bgcolor = random.randint(232, 255)
    csi = "\33["
    final_str = csi \
              + "38;5;"\
              + str(fgcolor)\
              + ";48;5;"\
              + str(bgcolor)\
              + "m"\
              + chr(zi)
    print(final_str,end="")
  • 运行效果

图片描述

  • 可以用随机的emoji表情吗
  • 哈哈哈哈哈哈😄

表情范围

  • 表情范围
    • 0x1f600 - 0x1f620
import random
while True:
    zi = random.randint(0x1f600, 0x1f620)
    fgcolor = random.randint(232, 255)
    bgcolor = random.randint(232, 255)
    csi = "\33["
    final_str = csi \
              + "38;5;"\
              + str(fgcolor)\
              + ";48;5;"\
              + str(bgcolor)\
              + "m"\
              + chr(zi)
    print(final_str,end="")
  • 好像真的可以

图片描述

  • 但是效果不太好看
  • 尝试各种效果
  • 甚至设置RGB色彩模式

RGB模式

图片描述

  • 让RGB分别为
    • 红色在[0,255]之间随机
    • 绿色为255
    • 蓝色为0
import random
while True:
    zi = random.randint(0x1f600, 0x1f620)
    fgcolor = random.randint(0, 255)
    csi = "\33["
    final_str = csi \
              + "38;2;"\
              + str(fgcolor)\
              + ";255;0m"\
              + chr(zi)
    print(final_str,end="")

总结

  • 这次输出了
    • 随机汉字
    • 随机表情

图片描述

  • 可以让 输出位置随机起来吗?🤔
  • 下次再说 👋