热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

一位大牛的浪漫脚本

编辑一个sh和txt同放一个目录下#!binsh#byoldboytraining.#http:oldboy.blog.51cto.comgirlname$1pos_

编辑一个sh 和 txt  同放一个目录下

#!/bin/sh
# by oldboy training.
# http://oldboy.blog.51cto.com
girlname="$1"
pos_stdy="$(($(stty size|cut -d ' ' -f1)/3*2))"
pos_stdx="$(($(stty size|cut -d ' ' -f2)/2))"
total_stdy="$(($(stty size|cut -d ' ' -f1)))"
total_stdx="$(($(stty size|cut -d ' ' -f2)))"
logo="本节目为北京老男孩IT教育出品,祝天下所有有情人钟情眷属!"
good="${girlname},你太棒了,完美答对!"
decl="这辈子最疯狂的事,就是爱上了你,我会好好爱你的,请让我守候你一辈子!"
info="亲,$girlname, 这是我送给你的最特别礼物,请选择A-D并按下回车开始答题吧."
head="答题进度:"
[ -f ./girlLove.txt ]||exit 1
. ./girlLove.txt

function usage(){
echo $"Usage:$0 mm_name"
exit 1
}

function start(){
# 设置红色背景
printf "\e[40m"
# 清屏
clear
printf "\r\e[10;30H\E[33m${logo}\E[0m\n"
sleep 2
printf "\r\e[10;30H\E[33;5m${logo}\E[0m\n"
sleep 2
printf "\e[40m"
clear
}
function print_xy(){
if [ $# -eq 0 ]; then
return 1
fi

len=32

if [ $# -lt 2 ]; then
pos="\e[${pos_stdy};$((${pos_stdx} - ${len}))H"
fi

case "$2" in
-)
pos="\e[$((${pos_stdy} - $3));$((${pos_stdx} - ${len}))H"
;;
+)
pos="\e[$((${pos_stdy} + $3));$((${pos_stdx} - ${len}))H"
;;

lu)
pos="\e[$((${pos_stdy} - $3));$((${pos_stdx} - $4))H"
;;
ld)
pos="\e[$((${pos_stdy} + $3));$((${pos_stdx} - $4))H"
esac
echo -ne "${pos}$1"
}
function waiting(){
local i=1
# 通过while循环实现///转圈的动画效果
while [ $i -gt 0 ]
do
for j in '-' '\\' '|' '/'
do
# 打印前面若干个/特效符号+decl变量中的内容
echo -ne"\033[1m\033[$pos_stdy;$((${pos_stdx}/3))H$j$j$j\033[4m\033[32m${decl}"
# 打印后面若干个/特效符号
echo -ne"\033[24m\033[?25l$j$j$j"
# 打印前面若干个/特效符号+good变量中的内容
echo -ne "\033[1m\033[$(($pos_stdy-2));$((${pos_stdx}/3))H$j$j$j\033[4m\033[32m${good}"
# 打印后面若干个/特效符号
echo -ne"\033[24m\033[?25l$j$j$j"
usleep 100000
done
((i++))
done
}
function print_info(){
# 打印如下字符串(格式化界面)
print_xy"*&*&*&*&*&*&*&*&*&*&*&*&*&*&*&*&*&*&*&*&*&*&*&*&*&*&*&*&*&*&*&*"
print_xy"\E[33m${info}\E[0m" + 1


offset=20
seq=0
# 循环问题
while [ ${seq} -lt ${#poetrys[@]} ]
do
sleep 0
isanswers=0

# 打印问题
print_xy "${questions[$seq]}" ld 2 $offset
print_xy "${bakans[$seq]}" ld 3 $((${offset}-2))
print_xy "答:" ld 4 $offset

# 读取终端输入到变量ans
read ans
echo -e "\033[3A\r\033[K"
# 清除问题选项行字符
echo -e "\033[K"
# 清除回答栏字符
echo -e "\033[K"
# 如果输入的值和预设的答案不同,则继续循环该问题
if [ "$ans" != "${answers[$seq]}" -a "`echo$ans|tr a-d A-D`" != "${answers[$seq]}" ]; then

# 打印 -----,格式化界面。----- 下面会显示该问题的tip
print_xy"-----------------------------------------------------" + 5

# 显示该问题的tip
print_xy "${tips[$seq]}" + 7
sleep 3
# 将光标移到行首,并清除光标到行尾的字符
echo -e "\r\033[K"
# 光标上移3行,并清除光标到行尾的字符
echo -e "\033[3A\r\033[K"
continue
fi

# 问题序号 + 1
seq=`expr ${seq} + 1`
# 获取poetrys的倒数第seq + 1行
curseq=`expr ${#poetrys[@]} - ${seq}`
# 打印poetrys的倒数第seq + 1行
print_xy "${poetrys[${curseq}]}" lu $seq $offset
# 打印进度条
total=$[${total_stdx} - ${#head}*10]
per=$[${seq}*${total}/${#poetrys[@]}]
shengyu=$[${total} - ${per}]
printf"\r\e[${total_stdy};19H${head}\e[43m%${per}s\e[41m%${shengyu}s\e[00m""" "";
done
printf "\r\e[$((${total_stdy}));19H \E[33m 恭喜我心中最美的${girname}全部答对\E[0m";
# 设置红色背景
printf "\e[41m"
# 清屏
clear
}

function main(){
if [ $# -ne 1 ]; then
usage
fi
start
clear
print_info
waiting
}
main $*

 

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

编辑一个txt

#老男孩追求女朋友的浪漫模板
#文字特效(poetrys)
poetrys=(
" " \
"㊣━━^-^o×××o^-^━━㊣ " \
"┃ 谨祝:   ┃ " \
"┃ $name 小盆友 天天开心! ┃ " \
"┃     老男孩 颁 ┃"\
"㊣━━^-^o×××o^-^━━㊣" \
" " \
"嘟嘟oοО○●哇靠!!!快让开】" \
"  ╭══╮亲亲!开车罗\`坐好啊" \
" ╭╯五档║老公!开慢点\`我兴奋  " \
" ╰⊙═⊙╯。oо○ 轧死了不赔!" )
#问题集合(question)
questiOns=(
"1、坐在你旁边的是你什么人?" \
"2、你男朋友老家是哪个地方的?" \
"3、你男朋友会做下列哪种饭?" \
"4、丽丽最爱看下列哪一个电视剧?" \
"5、你男朋友最喜欢吃什么?" \
"6、你男朋友休闲的时候最喜欢干什么?"\
"7、休闲时你最喜欢他陪你做什么" \
"8、今年的生日礼物你最想要啥?" \
"9、你计划啥时候和他一起领证?" \
"10、领证后你想去哪度蜜月?" \
"11、结婚后,你希望财务归谁管?(最后一道题了)")
#问题选项(bakans)
bakans=(
"A.男朋友 B.普通朋友 C.男闺蜜 D.以上都不是" \
"A.铁岭 B.沈阳 C.四平 D.以上都不是" \
"A.蛋炒饭 B.鸡蛋羹 C.煮米饭 D.以上都是" \
"A.电视剧 B.电影 C.话剧 D.二人转 " \
"A.大葱 B.白菜 C.排骨 D.辣椒 " \
"A.打台球 B.看书 C.睡觉 D.听歌 " \
"A.看电视剧 B.逛街 C.旅游 D.一起起床 " \
"A.钻戒 B.手机 C.包 D.高跟鞋 " \
"A.6个月内 B.12个月内 C.24个月以内 D.没想好 " \
"A.马尔代夫 B.巴厘岛 C.海南三亚 D.去大城市铁岭 " \
"A.老公 B.老婆 C.共同管理 D.没想好 ")

#问题答案(answers)
answers=( A A A A A A A A A A A)

#问题提示(tips)
tips=(
"Dear,选A啊,妹子啊 555.." \
"Dear,选A啊,大城市铁岭,你该知道的!" \
"Dear,选A啊,蛋炒饭是老男孩拿手的呦!" \
"Dear,选A啊,肯定是电视剧,我比你清楚哦" \
"Dear,选A啊,绝对是大葱,你比我还清楚哦" \
"Dear,选A啊,台球啊,哥打台球时老帅了" \
"Dear,选A啊,我陪你做你最喜欢的..." \
"Dear,选A啊,钻戒必须的,而且是1克拉的"\
"Dear,选A啊,这么好的男朋友,要抓住啊." \
"Dear,选A啊,马尔代夫不是你的愿望么?" \
"Dear,选A啊,老公不但会赚钱,还会理财呦!")

 


推荐阅读
  • 本文讨论了在Windows 8上安装gvim中插件时出现的错误加载问题。作者将EasyMotion插件放在了正确的位置,但加载时却出现了错误。作者提供了下载链接和之前放置插件的位置,并列出了出现的错误信息。 ... [详细]
  • 本文介绍了如何使用PHP向系统日历中添加事件的方法,通过使用PHP技术可以实现自动添加事件的功能,从而实现全局通知系统和迅速记录工具的自动化。同时还提到了系统exchange自带的日历具有同步感的特点,以及使用web技术实现自动添加事件的优势。 ... [详细]
  • 如何使用Java获取服务器硬件信息和磁盘负载率
    本文介绍了使用Java编程语言获取服务器硬件信息和磁盘负载率的方法。首先在远程服务器上搭建一个支持服务端语言的HTTP服务,并获取服务器的磁盘信息,并将结果输出。然后在本地使用JS编写一个AJAX脚本,远程请求服务端的程序,得到结果并展示给用户。其中还介绍了如何提取硬盘序列号的方法。 ... [详细]
  • 本文介绍了九度OnlineJudge中的1002题目“Grading”的解决方法。该题目要求设计一个公平的评分过程,将每个考题分配给3个独立的专家,如果他们的评分不一致,则需要请一位裁判做出最终决定。文章详细描述了评分规则,并给出了解决该问题的程序。 ... [详细]
  • 本文主要解析了Open judge C16H问题中涉及到的Magical Balls的快速幂和逆元算法,并给出了问题的解析和解决方法。详细介绍了问题的背景和规则,并给出了相应的算法解析和实现步骤。通过本文的解析,读者可以更好地理解和解决Open judge C16H问题中的Magical Balls部分。 ... [详细]
  • 本文讨论了使用差分约束系统求解House Man跳跃问题的思路与方法。给定一组不同高度,要求从最低点跳跃到最高点,每次跳跃的距离不超过D,并且不能改变给定的顺序。通过建立差分约束系统,将问题转化为图的建立和查询距离的问题。文章详细介绍了建立约束条件的方法,并使用SPFA算法判环并输出结果。同时还讨论了建边方向和跳跃顺序的关系。 ... [详细]
  • Python正则表达式学习记录及常用方法
    本文记录了学习Python正则表达式的过程,介绍了re模块的常用方法re.search,并解释了rawstring的作用。正则表达式是一种方便检查字符串匹配模式的工具,通过本文的学习可以掌握Python中使用正则表达式的基本方法。 ... [详细]
  • 本文为Codeforces 1294A题目的解析,主要讨论了Collecting Coins整除+不整除问题。文章详细介绍了题目的背景和要求,并给出了解题思路和代码实现。同时提供了在线测评地址和相关参考链接。 ... [详细]
  • 本文介绍了闭包的定义和运转机制,重点解释了闭包如何能够接触外部函数的作用域中的变量。通过词法作用域的查找规则,闭包可以访问外部函数的作用域。同时还提到了闭包的作用和影响。 ... [详细]
  • 生成式对抗网络模型综述摘要生成式对抗网络模型(GAN)是基于深度学习的一种强大的生成模型,可以应用于计算机视觉、自然语言处理、半监督学习等重要领域。生成式对抗网络 ... [详细]
  • 本文介绍了brain的意思、读音、翻译、用法、发音、词组、同反义词等内容,以及脑新东方在线英语词典的相关信息。还包括了brain的词汇搭配、形容词和名词的用法,以及与brain相关的短语和词组。此外,还介绍了与brain相关的医学术语和智囊团等相关内容。 ... [详细]
  • Commit1ced2a7433ea8937a1b260ea65d708f32ca7c95eintroduceda+Clonetraitboundtom ... [详细]
  • CSS3选择器的使用方法详解,提高Web开发效率和精准度
    本文详细介绍了CSS3新增的选择器方法,包括属性选择器的使用。通过CSS3选择器,可以提高Web开发的效率和精准度,使得查找元素更加方便和快捷。同时,本文还对属性选择器的各种用法进行了详细解释,并给出了相应的代码示例。通过学习本文,读者可以更好地掌握CSS3选择器的使用方法,提升自己的Web开发能力。 ... [详细]
  • [译]技术公司十年经验的职场生涯回顾
    本文是一位在技术公司工作十年的职场人士对自己职业生涯的总结回顾。她的职业规划与众不同,令人深思又有趣。其中涉及到的内容有机器学习、创新创业以及引用了女性主义者在TED演讲中的部分讲义。文章表达了对职业生涯的愿望和希望,认为人类有能力不断改善自己。 ... [详细]
  • 不同优化算法的比较分析及实验验证
    本文介绍了神经网络优化中常用的优化方法,包括学习率调整和梯度估计修正,并通过实验验证了不同优化算法的效果。实验结果表明,Adam算法在综合考虑学习率调整和梯度估计修正方面表现较好。该研究对于优化神经网络的训练过程具有指导意义。 ... [详细]
author-avatar
tianziqizhi
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有