前提・実現したいこと
コンソール上の文字を点滅させたい。
発生している問題・エラーメッセージ
ただ文字がそのまま表示されるだけで点滅もしません
該当のソースコード
c++
1int blnkc = 0; 2while(blnkc != 6) 3 { 4 int waitcount = 1000000; 5 int delay = 1; 6 int waitcount2 = 1000000; 7 int delay2 = 1; 8 9 while(1) 10 { 11 if(delay%waitcount == 0) 12 { 13 for (int y = 0; y < puyostack.GetLine(); y++) 14 { 15 for (int x = 0; x < puyostack.GetColumn(); x++) 16 { 17 if (field_array_check[y*puyostack.GetColumn() + x] == CHECKED) 18 {// 19 mvaddch(y,x,'.'); 20 } 21 } 22 } 23 break; 24 } 25 delay++; 26 } 27 28 while(1) 29 { 30 if(delay2%waitcount2 == 0) 31 { 32 for (int y = 0; y < puyostack.GetLine(); y++) 33 { 34 for (int x = 0; x < puyostack.GetColumn(); x++) 35 { 36 if (field_array_check[y*puyostack.GetColumn() + x] == CHECKED) 37 { 38 39 switch (puyostack.GetValue(y,x)) 40 { 41 case NONE: 42 attrset(COLOR_PAIR(0)); 43 mvaddch(y, x, '.'); 44 break; 45 case RED: 46 attrset(COLOR_PAIR(4)); 47 mvaddch(y, x, 'R'); 48 break; 49 case BLUE: 50 attrset(COLOR_PAIR(1)); 51 mvaddch(y, x, 'B'); 52 break; 53 case GREEN: 54 attrset(COLOR_PAIR(2)); 55 mvaddch(y, x, 'G'); 56 break; 57 case YELLOW: 58 attrset(COLOR_PAIR(3)); 59 mvaddch(y, x, 'Y'); 60 break; 61 default: 62 mvaddch(y, x, '?'); 63 break; 64 } 65 66 } 67 68 } 69 } 70 break; 71 } 72 delay2++; 73 } 74 75 blnkc++; 76 77 } 78 }
試したこと
mvaddchをmvaddstrに変えても一度に繰り返された分がすべてひょうじされてしまいます
A_BLINKを使ってみたのですがそれでもうまく行きませんでした。
補足情報(FW/ツールのバージョンなど)
ぷよぷよを作っています。
ずっと悩んでいるのですが全く解決法が見当たりません。
このコードのどこかがおかしいのかまたはもっと根本的なところがおかしいのでしょうか?
OS:ubuntu18.04
開発環境:コンソールにぷよが表示されます
bashを使っています
現在のタイトルやタグだと内容を勘違いされると思うので、問題のタイトルに問題を明確に記載した上で、タグを使用されている言語とかに変えた方が回答を得やすいかと思います。
https://teratail.com/help/question-tips#questionTips3
コンソール環境と、使っているライブラリは何でしょうか。
すいません
間違えちゃいました。
直しておきます
ご指摘ありがとうございます
環境が分からないと・・・OSとか開発環境とか・・・環境が眼の前にあるのはあなただけです。
コンソールはVT100互換とか分かりませんか?
VT互換とはどういうことかがわからないです
申し訳ないです
できるだけ編集しておきました
ご指摘ありがとうございます
今後気をつけようと思います
VT100については https://ja.wikipedia.org/wiki/VT100 参照。
互換ならばエスケプシーケンスが使えます。
xfceのターミナルですが参考に https://docs.xfce.org/apps/terminal/introduction
“ Terminal accepts all of the escape sequences that the VT102 and VT220 terminals uses for functions such as positioning the cursor and to clearing the screen.”
回答2件
あなたの回答
tips
プレビュー