簡易文字動畫
簡單的動畫
所謂的動畫就是輪流地播放好幾張內容接近的圖片,
藉由使用者自己眼睛的視覺暫留來把讓它有動起來的感覺。
在這個練習中,
我們要在文字模式的視窗中運用 C
的字串處理函式來製作每一張圖片,
然後運用 TURBO C 支援的 delay() 函式來控制每一張圖片顯示的時間,
如此就可以很快地得到簡單的動畫效果了,
如下圖:
如果你希望看到比較接近影片的效果的話,
那就必須要使用圖形模式來繪圖了。
怎樣運用 C 語言來製作一個這樣子的程式呢?
-
圖片在螢幕上的位置必須用 conio.h 中的 gotoxy(x, y) 來控制
-
程式中要運用 stdio.h 中的 puts()
或是 printf("%s",...) 來列印代表圖片的文字串,
這一部份可以寫成一個函式
-
在下面的範例執行程式中,
程式一開始執行時的顯示可以用亂數 rand() 來決定個別圖片繪製的位置
-
因為文字模式的列印是覆寫式的,
在螢幕上同一個位置列印文字時,
後者會遮蓋住前者,
所以如果動畫的位置沒有更改的話,
繪製第二張圖片的時候不須要去清除前一張圖片
-
如果整張圖片的位置在移動的話,
就必須寫一段程式來在繪製第二張圖之前先清除掉前面繪製的圖片,
這一部份也可以用一個函式來製作,
(清除的動作其實就是列印空白字元)
-
在下面的範例執行程式中,
除了用一定的速度在顯示不同的圖片之外,
動畫的位置也繞著一個圓圈移動
程式要求:
-
你必須完成基本九張圖片的動畫繪製,
然後再加上動畫移動的功能,
最後再考慮亂數畫出圖片的功能
-
你需要用陣列變數來存放字串
-
請儘量用函式來簡化邏輯
-
請以 ANSI C 語法及函式庫來製作