Hatena::ブログ(Diary)

みずぴー日記 Twitter

2009-12-06(日)

Pythonでsl

| Pythonでslを含むブックマーク

30分プログラム、その705。前にcursesみたいにターミナルの任意の位置にテキストを出す関数 - みずぴー日記cursesを使わずに端末の好きな位置に文字を出せるようになったので、slを作ってみました。

Perlで使っていた\eがPythonでは使えなかったので、hi_saitoさんが使っていた\033を使っています。

で、作ってから気がついたんですが、本物のslと違って煙がでません。まあ、クリーンなSLということで。

使い方

$ python sl.py
        ________                __________
_______/        \__I_I_____===__|_________
  |   H\________/ |   |        =|___ ___|      ________________
  |   H  |  |     |   |         ||_| |_||     _|                \_____
  |   H  |__--------------------| [___] |   =|
__|___H__/__|_____/[][]~\_______|       |   -|
-----------I_____I [][] []  D   |=======|____|________________________|
=-~~\  /~~\  /~~\  /~~\ ____Y___________|__|__________________________|
|    ||    ||    ||    |_____/~\___/         |_D__D__D_|  |_D__D__D_
 \__/  \__/  \__/  \__/      \_/              \_/   \_/    \_/   \_

ソースコード

import time

Data = """
      ====        ________                ___________
  _D _|  |_______/        \__I_I_____===__|_________|
   |(_)---  |   H\________/ |   |        =|___ ___|      _________________
   /     |  |   H  |  |     |   |         ||_| |_||     _|                \_____A
  |      |  |   H  |__--------------------| [___] |   =|                        |
  | ________|___H__/__|_____/[][]~\_______|       |   -|                        |
  |/ |   |-----------I_____I [][] []  D   |=======|____|________________________|_
__/ =| o |=-~~\  /~~\  /~~\  /~~\ ____Y___________|__|__________________________|_
 |/-=|___||    ||    ||    ||    |_____/~\___/         |_D__D__D_|  |_D__D__D_|
  \_/      \__/  \__/  \__/  \__/      \_/              \_/   \_/    \_/   \_/
""".split("\n")

def put(x,y,str):
  print "\033[%d;%dH%s\n" % (y,x,str) 

def clear():
  print "\033[2J"


for x in xrange(0,85):
  clear()
  for y in xrange(0,len(Data)):
    put(0,y,Data[y][x:-1])
  time.sleep(0.05)

参考

RoccoRocco 2009/12/06 21:11 オリジナルの SL コマンドはもっと小さな SL だったと思います。

mzpmzp 2009/12/07 09:57 あれー、これオリジナルのSLのコードからコピペしたやつなんですけど・・・。

obat asam lambungobat asam lambung 2017/01/19 09:53 浮気されても雷でお仕置きしたら終わり、というサバサバした性格も男性には理想的。また、
峰不二子はルパンを裏切ったり、甘えたりして翻弄します。古来から“狩り”の本能がある男性は、
彼女のような落とせそうで落とせない女性を追い掛けることに情熱を燃やすんです」なるほど、
特に肉食系男子にはモテそうですね。