python能做什么游戏-用Python可以做哪些有意思的小游戏呢?

print(' *******************************************************************')

print(' * *')

print(' * 8代替↑ *')

print(' * 注: 4 代替← 5代替↓ 6代替 → *')

print(' * *')

print(' * 注: 在 input = 后输完数字 按下回车有效 *')

print(' * *')

print(' *******************************************************************')

def printlist(L):

k=0

for i in L:

print(i,end=' ')

k+= 1

if k%4 == 0:

print(' ')

print(' ')

print(' ')

L0=[0,2,0,2,2,0,0,0,0,0,0,0,2,0,0,0]

printlist(L0)

operation_times = 0 #初始

while max(L0) < 2048 and min(L0)==0:

ctrl = input(' input=')

if len(ctrl)==1:

if ord(ctrl)==52 or ord(ctrl)==53 or ord(ctrl)==54 or ord(ctrl)== 56:

ctrl = int(ctrl)

if ctrl==6:

L_copy =L0[:]

L_temp=[L_copy[3],L_copy[2],L_copy[1],L_copy[0],L_copy[7],L_copy[6],L_copy[5],L_copy[4],L_copy[11],L_copy[10],L_copy[9],L_copy[8],L_copy[15],L_copy[14],L_copy[13],L_copy[12]]

elif ctrl==8:

L_copy =L0[:]

L_temp=[L_copy[0],L_copy[4],L_copy[8],L_copy[12],L_copy[1],L_copy[5],L_copy[9],L_copy[13],L_copy[2],L_copy[6],L_copy[10],L_copy[14],L_copy[3],L_copy[7],L_copy[11],L_copy[15]]

elif ctrl ==5:

L_copy =L0[:]

L_temp=[L_copy[12],L_copy[8],L_copy[4],L_copy[0],L_copy[13],L_copy[9],L_copy[5],L_copy[1],L_copy[14],L_copy[10],L_copy[6],L_copy[2],L_copy[15],L_copy[11],L_copy[7],L_copy[3]]

elif ctrl==4: #4为模板

L_temp =L0[:]

else:

print(' ')

print(' 请正确操作!')

continue

for index in range(len(L_temp)):

if index % 4 != 0:

continue

else:

L_next =L_temp[index:index+4]

L_next_temp=[]

k=0

for i in L_next:

if i != 0:

L_next_temp.append(i)

k+=1

for j in range(0,4-k):

L_next_temp.append(0)

L_temp[index:index+4] =L_next_temp[0:4] #L_temp已左对齐

#接下来应该相邻相同相加,然后左对齐

for index in range(len(L_temp)):

if index % 4 != 0:

continue

else:

L_next =L_temp[index:index+4]

L_next_temp=[]

k=0

while k<=3:

if L_next[k] == 0:

break

elif k <3:

if L_next[k] == L_next[k+1]:

L_next_temp.append(2*L_next[k])

k+=2

else:

L_next_temp.append(L_next[k])

k+=1

else:

L_next_temp.append(L_next[k])

k+=1

for j in range(0,4-len(L_next_temp)):

L_next_temp.append(0)

L_temp[index:index+4] =L_next_temp[0:4]

L0 = L_temp

if ctrl==6:

L_copy =L0[:]

L_temp=[L_copy[3],L_copy[2],L_copy[1],L_copy[0],L_copy[7],L_copy[6],L_copy[5],L_copy[4],L_copy[11],L_copy[10],L_copy[9],L_copy[8],L_copy[15],L_copy[14],L_copy[13],L_copy[12]]

elif ctrl==8:

L_copy =L0[:]

L_temp=[L_copy[0],L_copy[4],L_copy[8],L_copy[12],L_copy[1],L_copy[5],L_copy[9],L_copy[13],L_copy[2],L_copy[6],L_copy[10],L_copy[14],L_copy[3],L_copy[7],L_copy[11],L_copy[15]]

elif ctrl ==5:

L_copy =L0[:]

L_temp=[L_copy[12],L_copy[8],L_copy[4],L_copy[0],L_copy[13],L_copy[9],L_copy[5],L_copy[1],L_copy[14],L_copy[10],L_copy[6],L_copy[2],L_copy[15],L_copy[11],L_copy[7],L_copy[3]]

L0 = L_temp

L0_0num = [] #开始随机生成2

for k in range(len(L0)):

if L0[k] ==0:

L0_0num.append(k)

import random

num0 = random.randint(0,len(L0_0num)-1)

position_0 = L0_0num[num0]

L0[position_0] =2 #随机2完成

operation_times += 1 #记录操作次数

printlist(L0)

else:

print(' ')

print(' 请正确操作!')

else:

print(' ')

print(' 请正确操作!')

score_opr = int(1.1**operation_times) #开始计算得分

score_num = 2*sum(L0)

score = score_opr+score_num

print(' *****************************************************************************************************************')

print(' * *** ** *** *** ******** **** ** ** ******** ***** *')

print(' * ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** *')

print(' * ** ***** ** ** ** ** ** ** ******** ** ** ** ** ******** **** *')

print(' * ** ** ****** ** ** ** ** ** ** ** ** ** ** ** ** ** *')

print(' * ****** ** ** ** *** ** ******** **** *** ******** ** ** *')

print(' * *')

print(' *****************************************************************************************************************')

print(' ')

print(' ')

print(' 你的得分:%d'%int(score))

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值