python拍3游戏_用Python实现小3传奇小游戏(源代码)

#小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()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值