<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          用代碼畫一只小兔子給大家拜年啦!

          共 8224字,需瀏覽 17分鐘

           ·

          2023-01-14 16:06

          新的一年,祝大家前兔似錦、談兔不凡、顏值兔出、成績兔出!

          前言

          春節(jié)將至必須把節(jié)日氣氛搞起來。

          使用 Go 語言創(chuàng)作,想到了一丟丟的創(chuàng)意,打算在終端動態(tài)打印小兔子,給大家拜年!

          先來看看效果吧:

          創(chuàng)作過程

          小兔子模型制作

          9400839bd100523e7c1d00b03064b66f.webp

          大部分的時間,都花在了畫兔子圖案的工作上。

          創(chuàng)建一個 txt 文檔,在文檔里通過特殊符號,一步一步將模型搭好,然后附上一副春節(jié)對聯(lián)。

          實現(xiàn)思路

          整個動態(tài)過程是由幾個不同的圖案依次打印而成,一共有 7 個圖案。起初我是將這 7 個圖案放到 txt 文件里,然后通過讀取文件,分割圖案,最后打印圖案,這樣做的好處是圖案和代碼分開了,降低圖案與代碼間的耦合度。

          到最后,由于代碼要放到碼上掘金上面,而碼上掘金不支持讀取文件的操作,因此只能將圖案放到代碼里,用字符串變量接收。

          代碼

                
                package?main

          import?(
          ?"fmt"
          ?"os"
          ?"os/exec"
          ?"time"
          )

          var?r1?=?"\n????????????????????/\???/\"?+
          ?"
          \n???????????????????/??:?/??|"?+
          ?"
          \n??????????????????:???:`??/"?+
          ?"\n???????????????????\?????."?+
          ?"\n????????????????????\???:."?+
          ?"\n????????????????????.`
          ?????`."?+
          ?"\n???????????????????:?????0???\"?+
          ?"\n?????????????????..`
          ??????????;"?+
          ?"
          \n?????????????.?`???????????`"?+
          ?"
          \n???????????.`????????????????:"?+
          ?"\n????????.`
          ???????????????????."?+
          ?"
          \n??????.`?????????????????????:"?+
          ?"\n?????.????Happy?New?Year?????."?+
          ?"\n????.?????????????????????.`
          "?+
          ?"
          \n?..?`??????????????????.`"?+
          ?"
          \n:??``?????????????;.??`、"?+
          ?"\n`
          ..`._____________::____)"

          var?r2?=?"\n????????????????????????/\???/\"?+
          ?"\n???????????????????????/??:?/??|"?+
          ?"\n??????????????????????:???:`
          ??/"?+
          ?"
          \n???????????????????????\?????."?+
          ?"
          \n????????????????????????\???:."?+
          ?"
          \n????????????????????????.`?????`."?+
          ?"
          \n???????????????????????:?????0???\"?+
          ?"
          \n?????????????????????..`??????????;"?+
          ?"\n?????????????????.?`
          ???????????`.ˉ"?+
          ?"\n???????????????.`
          ????????????????:"?+
          ?"
          \n????????????.`???????????????????."?+
          ?"\n??????????.`
          ?????????????????????:"?+
          ?"
          \n?????????.????Happy?New?Year?????."?+
          ?"
          \n????????.?????????????????????.`"?+
          ?"\n?????..?`
          ??????????????????.`"?+
          ?"\n????:??`
          `?????????????;.??`"?+
          ?"
          \n????`..`._____________::____)"
          var?r3?=?"
          \n????????????????????????????/\???/\"?+
          ?"
          \n???????????????????????????/??:?/??|"?+
          ?"
          \n??????????????????????????:???:`??/"?+
          ?"\n???????????????????????????\?????."?+
          ?"\n????????????????????????????\???:."?+
          ?"\n????????????????????????????.`
          ?????`."?+
          ?"\n???????????????????????????:?????0???\"?+
          ?"\n?????????????????????????..`
          ??????????;"?+
          ?"
          \n?????????????????????.?`???????????`"?+
          ?"
          \n???????????????????.`????????????????:"?+
          ?"\n????????????????.`
          ???????????????????."?+
          ?"
          \n??????????????.`?????????????????????:"?+
          ?"\n?????????????.????Happy?New?Year?????."?+
          ?"\n????????????.?????????????????????.`
          "?+
          ?"
          \n?????????..?`??????????????????.`"?+
          ?"
          \n????????:??``?????????????;.??`、"?+
          ?"\n????????`
          ..`._____________::____)"
          var?r4?=?"\n????????????????????????????????/\???/\"?+
          ?"\n???????????????????????????????/??:?/??|"?+
          ?"\n??????????????????????????????:???:`
          ??/"?+
          ?"
          \n???????????????????????????????\?????.?????????????????________________"?+
          ?"
          \n????????????????????????????????\???:.????????????????|??喜??辭??舊??歲?|"?+
          ?"
          \n????????????????????????????????.`?????`.??????????????ˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉ"?+
          ?"
          \n???????????????????????????????:?????0???\"?+
          ?"
          \n?????????????????????????????..`??????????;"?+
          ?"\n?????????????????????????.?`
          ???????????`.ˉ"?+
          ?"\n???????????????????????.`
          ????????????????:"?+
          ?"
          \n????????????????????.`???????????????????."?+
          ?"\n??????????????????.`
          ?????????????????????:"?+
          ?"
          \n?????????????????.????Happy?New?Year?????."?+
          ?"
          \n????????????????.?????????????????????.`"?+
          ?"\n?????????????..?`
          ??????????????????.`"?+
          ?"\n????????????:??`
          `?????????????;.??`"?+
          ?"
          \n????????????`..`._____________::____)"
          var?r5?=?"
          \n????????????????????????????????/\???/\"?+
          ?"
          \n???????????????????????????????/??:?/??|"?+
          ?"
          \n??????????????????????????????:???:`??/"?+
          ?"\n???????????????????????????????\?????.?????????????????________________"?+
          ?"\n????????????????????????????????\???:.????????????????|??喜??辭??舊??歲?|"?+
          ?"\n????????????????????????????????.`
          ?????`.??????????????ˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉ"?+
          ?"\n???????????????????????????????:?????0???\?????????____"?+
          ?"\n?????????????????????????????..`
          ??????????;???????|?兔?|"?+
          ?"
          \n?????????????????????????.?`???????????`.ˉ????????|?躍?|"?+
          ?"
          \n???????????????????????.`????????????????:????????|?龍?|"?+
          ?"\n????????????????????.`
          ???????????????????.????????|?騰?|"?+
          ?"
          \n??????????????????.`?????????????????????:????????|?辭?|"?+
          ?"\n?????????????????.????Happy?New?Year?????.????????|?舊?|"?+
          ?"\n????????????????.?????????????????????.`
          ??????????|?歲?|"?+
          ?"
          \n?????????????..?`??????????????????.`??????????????ˉˉˉ"?+
          ?"
          \n????????????:??``?????????????;.??`、"?+
          ?"\n????????????`
          ..`._____________::____)"
          var?r6?=?"\n????????????????????????????????/\???/\"?+
          ?"\n???????????????????????????????/??:?/??|"?+
          ?"\n??????????????????????????????:???:`
          ??/"?+
          ?"
          \n???????????????????????????????\?????.?????????????????________________"?+
          ?"
          \n????????????????????????????????\???:.????????????????|??喜??辭??舊??歲?|"?+
          ?"
          \n????????????????????????????????.`?????`.??????????????ˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉ"?+
          ?"
          \n???????????????????????????????:?????0???\?????????____????????????????____"?+
          ?"
          \n?????????????????????????????..`??????????;???????|?兔?|???????????????|?龍?|"?+
          ?"\n?????????????????????????.?`
          ???????????`.ˉ????????|?躍?|???????????????|?騰?|"?+
          ?"\n???????????????????????.`
          ????????????????:????????|?龍?|???????????????|?虎?|"?+
          ?"
          \n????????????????????.`???????????????????.????????|?騰?|???????????????|?躍?|"?+
          ?"\n??????????????????.`
          ?????????????????????:????????|?辭?|???????????????|?賀?|"?+
          ?"
          \n?????????????????.????Happy?New?Year?????.????????|?舊?|???????????????|?新?|"?+
          ?"
          \n????????????????.?????????????????????.`??????????|?歲?|???????????????|?春?|"?+
          ?"\n?????????????..?`
          ??????????????????.`??????????????ˉˉˉ??????????????????ˉˉˉ"?+
          ?"\n????????????:??`
          `?????????????;.??`"?+
          ?"
          \n????????????`..`._____________::____)"

          var?r7?=?"
          \n????????????????????????????????/\???/\"?+
          ?"
          \n???????????????????????????????/??:?/??|"?+
          ?"
          \n??????????????????????????????:???:`??/"?+
          ?"\n???????????????????????????????\?????.?????????????????________________"?+
          ?"\n????????????????????????????????\???:.????????????????|??喜??辭??舊??歲?|"?+
          ?"\n????????????????????????????????.`
          ?????`.??????????????ˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉ"?+
          ?"\n???????????????????????????????:?????0???\?????????____????????????????____"?+
          ?"\n?????????????????????????????..`
          ??????????;???????|?兔?|???????????????|?龍?|"?+
          ?"
          \n?????????????????????????.?`???????????`.ˉ????????|?躍?|???????2???????|?騰?|"?+
          ?"
          \n???????????????????????.`????????????????:????????|?龍?|???????0???????|?虎?|"?+
          ?"\n????????????????????.`
          ???????????????????.????????|?騰?|???????2???????|?躍?|"?+
          ?"
          \n??????????????????.`?????????????????????:????????|?辭?|???????3???????|?賀?|"?+
          ?"\n?????????????????.????Happy?New?Year?????.????????|?舊?|???????????????|?新?|"?+
          ?"\n????????????????.?????????????????????.`
          ??????????|?歲?|???????????????|?春?|"?+
          ?"
          \n?????????????..?`??????????????????.`??????????????ˉˉˉ??????????????????ˉˉˉ"?+
          ?"
          \n????????????:??``?????????????;.??`、"?+
          ?"\n????????????`
          ..`._____________::____)"

          func?main()?{
          ?rabbits?:=?[]string{r1,?r2,?r3,?r4,?r5,?r6,?r7}
          ?for?_,?rabbit?:=?range?rabbits?{
          ??//?通過終端控制符進(jìn)行清屏
          ??//fmt.Println("\033c")
          ??cmd?:=?exec.Command("cmd",?"/c",?"cls")
          ??cmd.Stdout?=?os.Stdout
          ??cmd.Run()
          ??//?打印圖案
          ??fmt.Printf("%s",?rabbit)
          ??time.Sleep(time.Millisecond?*?500)
          ?}
          }

          詳解一下

          • 首先,使用七個字符串變量,保存七個不同的圖案,用于后續(xù)打印。

          • 其次,將七個字符串變量放入字符串切片里,后續(xù)易于操作。

          • 接下來,循環(huán)遍歷切片,打印圖案。

            • 打印圖案之前,先通過 exec.Command 函數(shù),執(zhí)行 cls 命令,達(dá)到在 windows 系統(tǒng)上清屏的效果。cls 的缺點就是清屏?xí)r會閃屏,而上面注釋掉的一行代碼是通過終端控制符進(jìn)行清屏,基本上不閃爍,適用于 linux 終端,在 windows 的命令行模式下清屏無效。同時 cls 命令和終端控制符在碼上掘金上也沒有看到清屏的效果,如果讀者有好的方法,請多多指教!
          • 打印一個圖案之后,延時 0.5 秒后打印下一個圖案,讓肉眼可觀察到整個過程。

          注意問題

          除了動手制作圖案以外,本次創(chuàng)作遇到最大困難是如何在終端清屏?xí)r不閃爍。通過打印 \033c 終端控制符進(jìn)行清屏,基本上不閃爍,但是此操作在 windows cmd 終端下不起作用,無奈只能通過執(zhí)行 cls 命令,達(dá)到清屏的效果。

          也來試試

          相信看完之后,你也想體驗一下,滿足你。


          已經(jīng)把代碼開源出來了,分享到自帶運行環(huán)境的1024Code平臺,大家可以點擊下面的鏈接直接運行:


          https://1024code.com/codecubes/ahKzVWY


          有好的想法和創(chuàng)意也歡迎和我們交流哈,歡迎在評論區(qū)留言。


          PS:你想擁有自己獨一無二的紅包封面嗎?你想做春節(jié)最靚的崽嗎?彰顯個性,表達(dá)心意,你也可以送一個紅包封面給TA哦,歡迎找我咨詢。

          推薦明勇

          原文鏈接是明勇的掘金首頁, 推薦大家關(guān)注,見證又一位技術(shù)博主的成長

          新的一年,一起加油!??????

          瀏覽 137
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  一个人看的区二区不卡视频 | 欧美性之站 | A V免费视频在线观看 | 中文字幕无码精品三级在线欧美 | 人人操 超碰|