#小X传奇
import random
import time
from datetime import datetime, date
score=time1=time3=0
def welcome():
print('欢迎来到小X传奇。')
print('按1进入游戏介绍。')
welcome2()
def welcome2():
a=int(input())
if a==1:
rule()
else:
print('非法操作,请再试一次。')
welcome2()
def rule():
print('这个游戏要求你每次都要在规定的时间内找到两个数,使得这两个数的和为X的倍数。')
print('如果你的分数达到30分,你就获得了胜利。')
print('如果你不能在规定的时间内找到这两个数,游戏结束。')
print('输入格式:a,b。取出第a行,第b列。')
print('准备好了吗?准备好请按1。')
rule2()
def rule2():
a=int(input())
if a==1:
choose1()
else:
print('非法操作,请再试一次。')
rule2()
def choose1():
print('请选择数字屏幕大小。')
print('按1,选择3×3的屏幕。')
print('按2,选择4×4的屏幕。')
print('按3,选择5×5的屏幕。')
choose2()
def choose2():
a=int(input())
print('你选择了',a+2,'×',a+2,'的屏幕。')
choose3(a+2)
def choose3(a):
print('请选择需要的倍数。')
print('按3,选择3的倍数。(普通)')
print('按4,选择4的倍数。(普通)')
print('按5,选择5的倍数。(简单)')
print('按7,选择7的倍数。(困难)')
choose4(a)
def choose4(a):
b=int(input())
if b==3:
makearray(a,b)
elif b==4:
makearray(a,b)
elif b==5:
makearray(a,b)
elif b==7:
makearray(a,b)
else:
print('非法操作,请再试一次。')
choose4(a)
def makearray(a,b):
num=[[0 for i in range (0,a)] for i in range (0,a)]
for i in range(0,a):
for j in range(0,a):
num[i][j]=random.randint(1,99)
global time1,time3
time1=time2=time3=datetime.now()
start(num,a,b)
def start(num,a,b):
xy1=xy2=[0,0]
for i in range(0,a):
for j in range(0,a):
print('%02d' %num[i][j],end=' ')
print()
print('请输入你选择的第一个数在第几行,第几列。')
input1(num,a,b)
def input1(num,a,b):
xy1=[0,0]
xy1[0],xy1[1] = map(int,input().split())
if xy1[0]>a or xy1[0]<=0 or xy1[1]>a or xy1[1]<=0:
print('非法操作,请再试一次。')
else:
input2(num,a,xy1[0],xy1[1],b)
def input2(num,a,x1,y1,b):
print('请输入你选择的第二个数在第几行,第几列。')
xy2=[0,0]
xy2[0],xy2[1]=map(int,input().split())
if xy2[0]>a or xy2[0]<=0 or xy2[1]>a or xy2[1]<=0:
print('非法操作,请再试一次。')
elif xy2[0]==x1 and xy2[1]==y1:
print('请选择不相同的两个数。')
else:
judgement(num,x1,y1,xy2[0],xy2[1],b,a)
def judgement(num,x1,y1,x2,y2,b,a):
if (num[x1-1][y1-1]+num[x2-1][y2-1])%b==0:
print('很好!')
num[x1-1][y1-1]=random.randint(1,9)
num[y2-1][y2-1]=random.randint(1,9)
action()
start(num,a,b)
else:
print('游戏结束。')
global time1,time2,time3
time3=datetime.now()
timedelta=time3-time1
print('你用的时间为',timedelta.total_seconds(),'秒。')
lose()
def action():
global score
score+=1
print('你的分数:',score)
if score==30:
print('恭喜你获得胜利!')
global time1,time2,time3
time3=datetime.now()
timedelta=time3-time1
print('你用的时间为',timedelta.total_seconds(),'秒。')
lose()
time.sleep(5)
def lose():
global score
print('你的分数为',score)
welcome()