python2048游戏代码_【Python】用Python实现2048小游戏(源代码,1.0版本)
#2048 用python實現
import random
import math
import os
global score
score = 0
def start():#開始
a = [[0 for i in range(4)] for i in range(4)] #構造一個4*4的列表
i = random.randint(0,3)
j = random.randint(0,3)
p2 = random.random()
if p2>0.9: a[i][j] = 4 #有0.9幾率出現2
else: a[i][j] = 2
display(a)
def display(a):
os.system('cls')
global score
if (notlose):
print('現在你的分數:',score)
for i in range(4):
for j in range(4):
print("%6s" % a[i][j] , end = '')
print()
action = input('請輸入移動方向。輸入wsad分別表示上下左右。請注意調成小寫模式。')
move(action,a)
else:
print('沒有可以用的數字。游戲結束。你得了',score,'分')
def move(action,a):
if action == 'w':
up(a)
elif action == 's':
down(a)
elif action == 'a':
left(a)
elif action == 'd':
right(a)
else:
print('非法操作。')
display(a)
def left(a):
global score
for i in range(0,4):
for j in range(3,0,-1):
#print('test : a[' ,i,'][', j,'] = ' ,a[i][j])
if a[i][j-1] == 0:
a[i][j-1] = a[i][j]
a[i][j] = 0
elif a[i][j-1] == a[i][j]:
a[i][j-1] = 2 * a[i][j]
a[i][j] = 0
score +=a[i][j-1]
newnum(a)
def down(a):
global score
for j in range(0,4):
for i in range(0,3):
#print('test : a[' ,i,'][', j,'] = ' ,a[i][j])
if a[i+1][j] == 0:
a[i+1][j] = a[i][j]
a[i][j] = 0
elif a[i+1][j] == a[i][j]:
a[i+1][j] = 2 * a[i][j]
a[i][j] = 0
score +=a[i+1][j]
newnum(a)
def up(a):
global score
for j in range(0,4):
for i in range(3,0,-1):
#print('test : a[' ,i,'][', j,'] = ' ,a[i][j])
if a[i-1][j] == 0:
a[i-1][j] = a[i][j]
a[i][j] = 0
elif a[i-1][j] == a[i][j]:
a[i-1][j] = 2 * a[i][j]
a[i][j] = 0
score +=a[i-1][j]
newnum(a)
def right(a):
global score
for i in range(0,4):
for j in range(0,3):
#print('test : a[' ,i,'][', j,'] = ' ,a[i][j])
if a[i][j+1] == 0:
a[i][j+1] = a[i][j]
a[i][j] = 0
elif a[i][j+1] == a[i][j]:
a[i][j+1] = 2 * a[i][j]
a[i][j] = 0
score +=a[i][j+1]
newnum(a)
def newnum(a):
while (1):
i = random.randint(0,3)
j = random.randint(0,3)
if a[i][j] == 0:
a[i][j] = random.choice([2,2,2,2,2,2,2,2,2,4])
break
display(a)
def notlose(a):
for i in range(3):
for j in range(3):
if a[j][i] == a[j][i+1]:
return True
if a[j][i] == a[j+1][i]:
return True
return False
start()
總結
以上是生活随笔為你收集整理的python2048游戏代码_【Python】用Python实现2048小游戏(源代码,1.0版本)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 处理器天梯图cpu电脑(cpu性能天梯图
- 下一篇: python读取json数据格式问题_浅