作者ayso (Ken)
看板mud_sanc
標題Re: [問題] hp顯示問題
時間Wed Aug 3 01:16:43 2011
※ 引述《laechan (小太保)》之銘言:
: ※ 引述《curist (好問題..)》之銘言:
: : 打hp跟sc都沒辦法正確顯示3p的值
: : 可是有組隊的話打p就能正確顯示
: : 所以是不是能請wiz大大們把hp跟sc改用party顯示的寫法呢..@@
: hp 跟 sc 主要呼叫函數 show_line(hp,hp_src)
: show_line 的寫法主要是...
: 產生 50 個 * 號 再使用移位碼 定位 血量符號
: get_space(50,"*")+sprintf(HIY+CSI"24;%dH%s"NOR,a+11,src_sign(c))
: 這東西若要修改就是,比方你血量現在 50%
: a=hp*50/hp_src; 計算位置
: get_space(a,"*")+src_sign(hp_src)+get_space(50-a,"*"));
: 缺點是 get_space 會呼叫兩次,所以有個解法,就是修改 src_sign 函數
: 一、先做第一段 get_space
: 二、然後 print 原來的 src_sign
: 三、再做第二段 get_space
: 但總之......我先改改好了。
: Laechan
剛剛測了一陣子,發現只要修改移位碼,就可以正確地顯示3p
因為 24;%dH 是絕對位置定位用的,然而下指令的行數是可變動的
能否請大神試試將移位碼改成 %dG ,不需要指定列數
G表示只做column的水平定位
我在tintin++的環境,設了移位碼的替換,顯示就正常了
#sub {~\e[%d;%dH} {\e[%2G}
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 123.205.130.47
1F:推 justinj :試過...自行縮排....打槍....amem 08/03 17:34
2F:推 justinj :至少要有絕對水平定位...原因很簡單.... 08/03 17:55
3F:→ justinj :HIR"AAA"NOR" BBB"顯示時是AAA BBB....但BBB我一 08/03 17:57
4F:→ justinj :要在第10格開始顯示怎麼辦..只能用絕對定位... 08/03 17:57
5F:→ justinj :ps...有顏色的會吃位... 08/03 17:58
6F:→ ayso :G是不含色碼的絕對水平定位 08/03 21:45
7F:→ ayso :\e[31m;ABCD\e[33m\e[3GX會變成 紅AB綠X紅G 08/03 21:47
8F:→ ayso :skill的縮排,因為我還沒開始玩,不確定有沒有問題.. 08/03 21:49