.
jerryxjr1220 发表于 2018-1-27 17:35
大部分人都不会仔细去看的,觉得好玩直接拿来用用,用完就扔了,对自己的编程水平是没任何提高的。
你 ...
谈不上自己写,还是按你的思路,自己写了一遍,获益匪浅,稍微简化了下布局
import numpy as np
import os
import random
class game2048:
def __init__(self):
self.t1 = np.array([*4 for i in range(4)])
self.list1 = [*4 for i in range(4)]
def show(self):
for i in range(4):
for j in range(4):
if self.t1 == 0:
self.list1 = ' '*6
else:
self.list1 = self.t1
count = 0
for i in range(21):
if i%5 == 0:
print('-'*32)
elif i%5 == 2:
for j in range(4):
print('| '+str(self.list1)+' '*(6-len(str(self.list1))),end='')
print('|')
count += 1
else:
print('|',' | '*4)
def bottom_up(self):
self.t1 = self.t1.transpose()
def reverse(self):
for i in range(4):
self.t1 = self.t1[::-1]
def right(self):
for i in range(4):
for k in range(4):
for j in range(3):
if self.t1 == self.t1:
self.t1 += self.t1
self.t1 = 0
if self.t1 == 0:
self.t1 = self.t1
self.t1 = 0
def left(self):
self.reverse()
self.right()
self.reverse()
def down(self):
self.bottom_up()
self.right()
self.bottom_up()
def up(self):
self.bottom_up()
self.reverse()
self.right()
self.reverse()
self.bottom_up()
def creat(self):
kongbai = []
for i in range(4):
for j in range(4):
if self.t1 ==0:
kongbai.append((i,j))
if len(kongbai):
(a,b) = random.choice(kongbai)
self.t1 = random.choice()
else:
self.gameover()
def gameover(self):
self.show()
print('你输咯')
input()
def win(self):
self.show()
print('你赢了,呵呵,呵呵')
input()
def check(self):
for i in range(4):
for j in range(4):
if self.t1 ==2048:
self.win()
def move(self):
print('w 上移,a左移,s下移,d右移,')
step = input('。◕ᴗ◕。◞✺')
if step == ('w' or 'W'):
self.up()
elif step == ('a' or 'A'):
self.left()
elif step == ('s' or 'S'):
self.down()
elif step == ('d' or 'D'):
self.right()
else:
print('输入错误')
move()
if __name__ == '__main__':
game = game2048()
game.creat()
game.creat()
game.show()
while True:
game.move()
game.check()
game.creat()
game.show()
哒
学习学学习
{:10_279:}
牛
谢谢
学习!
思路很重要,看看框架怎么样
学习下
666
谢谢,学习看看代码~
看看j
1
kankan
666
滋瓷
回复
想看
{:10_315:}