亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費(fèi)注冊(cè) 查看新帖 |

Chinaunix

  平臺(tái) 論壇 博客 文庫(kù)
12下一頁(yè)
最近訪問(wèn)板塊 發(fā)新帖
查看: 5482 | 回復(fù): 18
打印 上一主題 下一主題

休閑小游戲 [復(fù)制鏈接]

論壇徽章:
2
射手座
日期:2014-10-10 15:59:4715-16賽季CBA聯(lián)賽之上海
日期:2016-03-03 10:27:14
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報(bào)告]
發(fā)表于 2011-12-15 15:47 |只看該作者 |倒序?yàn)g覽
本帖最后由 yinyuemi 于 2011-12-16 01:28 編輯

一個(gè)小游戲:同色相消,算是提前送大家的節(jié)日小禮物吧
游戲設(shè)計(jì)非常簡(jiǎn)陋,感興趣的可以添加mainpage,打分和時(shí)間限定等。
操作鍵:
上: [Ii]
下: [Kk]
左: [Jj]
右: [Ll]
確認(rèn):空格鍵
退出:[Qq]
  1. #!/bin/bash

  2. P1=10;P2=1
  3. P3=11;P4=31

  4. LENGTH=25
  5. HEIGHT=10;

  6. RED=41;
  7. GREEN=42;
  8. YELLOW=43;
  9. BLUE=44;
  10. MAGENTA=45;
  11. CYAN=46;
  12. WHITE=47;

  13. Color=(" " "RED" "GREEN" "YELLOW" "BLUE" "MAGENTA" "CYAN" "WHITE");

  14. function Moving_cursor ()
  15. {
  16.         stty cbreak -echo
  17.         dd if=/dev/tty bs=1 count=1 2>/dev/null
  18.         stty -cbreak echo
  19. }

  20. function Location_cursor()
  21. {
  22.         h=$1;l=$2
  23.         printf "\e[$h;$l;H"
  24. }

  25. function Choose ()
  26. {
  27.         x=0;y=0;fresh=0;
  28.         while true
  29.         do
  30.         case $(Moving_cursor) in
  31.         i|I)      printf "\e[1A";((y--));;  # Up
  32.         k|K)      printf "\e[1B";((y++));;  # Down
  33.         j|J)      printf "\e[1D";((x--));;  # Left
  34.         l|L)      printf "\e[1C";((x++));;  # Right
  35.                 " ")      break;; # Enter
  36.                 q|Q)          clear;exit;; # quit the game
  37.          esac
  38.         done
  39. }

  40. function game_view()
  41. {
  42.         local Col        
  43.         while :
  44.                 do
  45.                 random_c[$((LENGTH*$RANDOM/32767))]=${Color[$((1+$((${#Color[@]}-1))*$RANDOM/32767))]}
  46.                 [ ${#random_c[@]} = $LENGTH ] && break || continue
  47.         done
  48.                 for((i=1;i<=10;i++))
  49.                 do
  50.                    RANDOM_P $1
  51.                    [ $i = 1 ] && array_p=(${random_n[@]})||array_p=(${array_p[@]} ${random_n[@]})
  52.                    random_n=();
  53.                 done
  54.                 printf "%28s\e[32m%s\n\e[0m" " " "++++++++++++++++++++++++++++++++++++++++++++++++++++++"
  55.                 for((i=0;i<((LENGTH*HEIGHT));i++))
  56.                 do
  57.                         Col="${random_c[${array_p[$i]}]}"
  58.                         pos="$((i/10)),$((i%10))"
  59.                         if(($((((i+1))%LENGTH))==1))
  60.                                 then
  61.                                 printf "%28s\e[32m+\e[0m \e[0m\e[${!Col}m%2s\e[0m" " " "  ";
  62.                                 eval $(echo array_view${2}[$i]=${Col})
  63.                         elif(($((((i+1))%LENGTH))==0))
  64.                                 then
  65.                                 printf "\e[0m\e[${!Col}m%2s\e[0m \e[32m+\e[0m\n" "  ";
  66.                                 eval $(echo array_view${2}[$i]=${Col})                              
  67.                         else
  68.                                 printf "\e[0m\e[${!Col}m%2s\e[0m" "  ";
  69.                                 eval $(echo array_view${2}[$i]=${Col})
  70.                         fi
  71.                 done
  72.                 printf "%28s\e[32m%s\n\e[0m" " " "++++++++++++++++++++++++++++++++++++++++++++++++++++++"         
  73. }

  74. function RANDOM_P()
  75. {
  76.         random_n=();
  77.         n=$1;
  78.         local         index=0;
  79.         while :
  80.         do
  81.                 ((t=$n*$RANDOM/32767));
  82.                 if ! grep "\b$t\b" <(echo "${random_n[@]}") >/dev/null
  83.                 then
  84.                         random_n[$((index))]=$t
  85.                         ((index++))        
  86.                 fi
  87.                 [ ${#random_n[@]} = $n ] && break || continue
  88.                
  89.         done
  90. }

  91. function Color_decode(){
  92.         echo $(eval echo \${array_view${num}[$1]})
  93. }

  94. function if_seq(){
  95.         for i in $*
  96.         do
  97.                 [[ $i = "c" ]] || [[ $i = "nc" ]] && echo $i || echo $i $(Color_decode $i)
  98.         done |\
  99.         awk '
  100.         NR==1{C=$1;next}
  101.         NR==2{D=$2}
  102.         NF==2{a[$2]++;b[$2]=i++?b[$2]" "$1:$1}
  103.         END{p=0;
  104.                 if(C=="c"){if(a[D]>=2) {print b[D];p=1}}        
  105.                 else{for(i in a){if(a[i]>1) {print b[i];p=1}}}
  106.                 if(!p){print 0}
  107.         }'
  108. }

  109. function find_color(){
  110.         local dot_x=${1#*,}        dot_y=${1%,*}         
  111.     case $2 in
  112.         1)                for((i=$dot_x-1;i>=0;i--)); do if [[ $(Color_decode $((dot_y*LENGTH+i))) = "\" \"" ]]; then continue; else echo $((dot_y*LENGTH+i));break ;fi; done
  113.         ;;
  114.         2)                for((i=$dot_x+1;i<=$LENGTH;i++)); do if [[ $(Color_decode $((dot_y*LENGTH+i))) = "\" \"" ]]; then continue; else echo $((dot_y*LENGTH+i)); break ;fi; done
  115.         ;;
  116.         3)                for((j=1+$dot_y;j<=$HEIGHT;j++)); do if [[ $(Color_decode $((j*LENGTH+dot_x))) = "\" \"" ]]; then continue; else echo $((j*LENGTH+dot_x)); break ;fi; done
  117.         ;;
  118.         4)                for((j=$dot_y-1;j>=0;j--)); do if [[ $(Color_decode $((j*LENGTH+dot_x))) = "\" \"" ]]; then continue; else echo $((j*LENGTH+dot_x)); break ;fi; done
  119.         ;;
  120.         esac
  121. }


  122. function if_linking(){
  123.         local p=$1 current up down right left dot
  124.         ((current=${p%,*}*LENGTH+${p#*,}));
  125.         up=$(find_color $p 1)
  126.         down=$(find_color $p 2)
  127.         right=$(find_color $p 3)
  128.         left=$(find_color $p 4)
  129.         if [[ "$(Color_decode $current)" = "\" \"" ]]
  130.         then
  131.                 dot=$(if_seq "nc" $up $down $right $left) && [ "$dot" != 0 ] && echo -n $dot || echo -n 0;
  132.         else
  133.                 dot=$(if_seq "c" $current $up $down $right $left) && [ "$dot" != 0 ]  && echo -n $dot || echo -n 0;
  134.         fi
  135. }

  136. function play_game(){
  137.         local cursor_y=$P3 cursor_x=$P4 abs_x abs_y num  Ori
  138.         echo -e "\e[2J" #clear;
  139.         Location_cursor $P1 $P2
  140.         ((num++))
  141.         game_view $LENGTH $num
  142.         Location_cursor $P3 $P4        
  143.         
  144.         while :
  145.         do        
  146.                 Choose
  147.                 ((cursor_x=cursor_x+x,cursor_y=cursor_y+y))
  148.                 ((abs_x=((cursor_x-P4))/2,abs_y=cursor_y-P3))
  149.                 Ori="$abs_y,$abs_x";                 
  150.                 pr=$(if_linking $Ori);
  151.                 Location_cursor $cursor_y $cursor_x        
  152.                 if [[ $pr != ${pr/ /} ]]
  153.                 then
  154.                         for i in $(echo "${pr}")
  155.                         do
  156.                                 eval $(echo array_view${num}[$i]=\"\\\"  \\\"\")
  157.                                 ((cx=$((i%LENGTH))*2+P4))
  158.                                 ((cy=$((i/LENGTH))+P3))
  159.                                 Location_cursor $cy $cx && printf "\e[0m\e[40m  \e[0m";
  160.                         done
  161.                 fi
  162.                 Location_cursor $cursor_y $cursor_x        
  163.         done
  164. }

  165. play_game

復(fù)制代碼

評(píng)分

參與人數(shù) 1信譽(yù)積分 +10 收起 理由
substr函數(shù) + 10 贊一個(gè)!

查看全部評(píng)分

論壇徽章:
3
2015年辭舊歲徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:51:162015年亞洲杯之阿曼
日期:2015-04-07 20:00:59
2 [報(bào)告]
發(fā)表于 2011-12-15 16:14 |只看該作者
提示: 作者被禁止或刪除 內(nèi)容自動(dòng)屏蔽

論壇徽章:
1
射手座
日期:2014-03-10 14:24:52
3 [報(bào)告]
發(fā)表于 2011-12-15 17:02 |只看該作者
頂!

論壇徽章:
3
2015年迎新春徽章
日期:2015-03-04 09:56:11數(shù)據(jù)庫(kù)技術(shù)版塊每日發(fā)帖之星
日期:2016-08-03 06:20:00數(shù)據(jù)庫(kù)技術(shù)版塊每日發(fā)帖之星
日期:2016-08-04 06:20:00
4 [報(bào)告]
發(fā)表于 2011-12-15 17:28 |只看該作者
頂一個(gè),如此辛苦的掛上游戲,不但頂一個(gè),我還加點(diǎn)分.呵呵

論壇徽章:
0
5 [報(bào)告]
發(fā)表于 2011-12-15 17:34 |只看該作者

我好像沒法評(píng)分了

論壇徽章:
0
6 [報(bào)告]
發(fā)表于 2011-12-15 17:44 |只看該作者
支持!

論壇徽章:
0
7 [報(bào)告]
發(fā)表于 2011-12-15 22:21 |只看該作者
樓主威武。

論壇徽章:
33
ChinaUnix元老
日期:2015-02-02 08:55:39CU十四周年紀(jì)念徽章
日期:2019-08-20 08:30:3720周年集字徽章-周	
日期:2020-10-28 14:13:3020周年集字徽章-20	
日期:2020-10-28 14:04:3019周年集字徽章-CU
日期:2019-09-08 23:26:2519周年集字徽章-19
日期:2019-08-27 13:31:262016科比退役紀(jì)念章
日期:2022-04-24 14:33:24
8 [報(bào)告]
發(fā)表于 2011-12-15 22:41 |只看該作者
回復(fù) 5# ywlscpl


前段時(shí)間很多人為了亂評(píng)分的事情在站務(wù)瞎鬧,管理員把評(píng)分權(quán)限給取消了。

論壇徽章:
0
9 [報(bào)告]
發(fā)表于 2011-12-15 23:14 |只看該作者
厲害

論壇徽章:
0
10 [報(bào)告]
發(fā)表于 2011-12-15 23:24 |只看該作者
膜拜.膜拜
您需要登錄后才可以回帖 登錄 | 注冊(cè)

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號(hào)-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號(hào):11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報(bào)專區(qū)
中國(guó)互聯(lián)網(wǎng)協(xié)會(huì)會(huì)員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過(guò)ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請(qǐng)注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP