HugeMate智能(智障)机器人编写历程
有点闲功夫,重新梳理一下HugeMate智障的编写历程
水平不好,大佬们莫见怪。
GitHub开源,地址在文末。
首先要判断时间,用time.strftime模块,具体就是:
saynowtime = ""
import time as ti
nowtime = ti.strftime('%H',ti.localtime())
nowtime = int(nowtime)
if nowtime > 0 and nowtime < 9:
saynowtime = '早上好!'
elif nowtime > 9:
if nowtime < 12:
saynowtime = "上午好!"
elif nowtime > 11:
if nowtime < 18:
saynowtime = "下午好!"
elif nowtime > 18:
if nowtime < 23:
saynowtime = "晚上好!"
else:
saynowtime = "凌晨好!"
week = ti.strftime("%w",ti.localtime())
if week == '1':
week = '一'
if week == '2':
week = '二'
if week == '3':
week = '三'
if week == '4':
week = '四'
if week == '5':
week = '五'
if week == '6':
week = '六'
if week == '7':
week = '日'
print("HugeMate 2.00.0 for Consumers, Build 47\n输入“help”或“帮助”查看帮助手册\nHugeMate智能机器人为您服务,",saynowtime,"\n今天是",ti.strftime("%Y",ti.localtime()),"年",ti.strftime("%m",ti.localtime()),"月",ti.strftime("%d",ti.localtime()),"日,","星期",week,ti.strftime(",""%H"":""%M",ti.localtime())," \n你好啊!")
好,下一步就是交互。我设定的交互界面是这样的:
wenti = input("[HM-2.00.0]请输入>>>")
然后,我们需要让他在非退出指令的情况下连续进行交互:
shifoujixu = "1"
while shifoujixu == "1":
"""下面就可以了"""
然后我实现了基本对话和帮助手册,没啥好说的
计时器部分:
elif wenti == "计时器" or wenti == "计时":
import winsound as ws
shijian = input("计时多少秒?\n")
shijianfu = int(shijian)
shijianint = int(shijian)
shijianzheng = 0
for x in range(shijianint):
ti.sleep(1)
shijianzheng = shijianzheng + 1
shijianfu = shijianfu - 1
print("已计时:",shijianzheng//60,"分",shijianzheng%60,"秒","\n","剩余",shijianfu//60,"分",shijianfu%60,"秒\n")
print("时间到啦!!!")
print("时间到啦!!!")
print("时间到啦!!!")
ws.Beep(500,2000)
shifoujixu = "1"
计算器:
elif wenti == "计算器" or wenti == "calculator" or wenti == "calc":
sfjxjs = "1"
if sfjxjs == "1":
fst1 = input("请输入第一个数字:")
fst = int(fst1)
jjfh = input("请输入加减符号:")
sec1 = input("请输入第二个数字:")
sec = int(sec1)
if jjfh == "+":
print(fst,jjfh,sec,"=",fst+sec)
if jjfh == "-":
print(fst,jjfh,sec,"=",fst-sec)
if jjfh == "*":
print(fst,jjfh,sec,"=",fst*sec)
if jjfh == "/":
print(fst,"除以",sec,"=",fst/sec)
if jjfh == "**":
print(fst,"的",sec,"次方","=",fst**sec)
if jjfh == "%":
print(fst,"模",sec,"余",fst%sec)
if jjfh == "//":
print(fst,"除后取整",sec,"=",fst//sec)
if jjfh == "\\":
print(fst,"除",sec,"=",sec/fst)
shifoujixu = "1"
continue
定义了一个逐字说话函数:
def hmprint(line,speed,flag=1):
for i in range(len(line)):
print("\r"+line[0:i+1],end="")
ti.sleep(speed)
然后游戏部分代码
算了,游戏代码两千行,自己到GitHub去翻
GitHub地址:https://github.com/EricZCY/HMIR
写作不易,请支持我!