Guest User

Untitled

a guest
Apr 20th, 2018
76
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.20 KB | None | 0 0
  1. import random
  2. def number_in_list(number,table):
  3. if number in table:
  4. return True
  5. else:
  6. return False
  7.  
  8. def random_list(number):
  9. table=[]
  10. for i in range(number):
  11. n=random.randint(1,number)
  12.  
  13. while number_in_list(n,table)==True:
  14. n=random.randint(1,number)
  15. table.append(n)
  16. return table
  17.  
  18. def new_level(table):
  19. level=[]
  20. table.append(0)
  21. n=0
  22. for i in range(4):
  23. level.append([])
  24. for j in range(4):
  25. level[i].append(table[n])
  26. n+=1
  27. return level
  28. null_x=3
  29. null_y=3
  30. def move_tile(level,direction):
  31. global null_x
  32. global null_y
  33. if direction=='l':
  34. if null_y==0:
  35. pass
  36. else:
  37. level[null_x][null_y]=level[null_x][null_y-1]
  38. level[null_x][null_y-1]=0
  39. null_y -= 1
  40. elif direction=='r':
  41. if null_y==3:
  42. pass
  43. else:
  44. level[null_x][null_y]=level[null_x][null_y+1]
  45. level[null_x][null_y+1]=0
  46. null_y +=1
  47. elif direction=='u':
  48. if null_x==0:
  49. pass
  50. else:
  51. level[null_x][null_y]=level[null_x-1][null_y]
  52. level[null_x-1][null_y]=0
  53. null_x +=-1
  54. elif direction =='d':
  55. if null_x==3:
  56. pass
  57. else:
  58. level[null_x][null_y]=level[null_x+1][null_y]
  59. level[null_x+1][null_y]=0
  60. null_x +=1
  61. else:
  62. pass
  63. return level
  64.  
  65. def correct_place(level):
  66. n=1
  67. correct=[]
  68. for i in range(len(level)):
  69. for j in range(len(level)):
  70. if level[i][j]==n:
  71. correct.append(n)
  72. n+=1
  73. if level[3][3]==0:
  74. correct.append(0)
  75. return len(correct)
  76.  
  77. table=random_list(15)
  78. level=new_level(table)
  79. correct=correct_place(level)
  80. for i in level:
  81. print i
  82. while correct!=16:
  83. direction = raw_input('hvilken vei vil du bevege 0-tallet? (l=venstre,r=hoyre,u=opp,d=ned)')
  84. level = move_tile(level,direction)
  85. correct = correct_place(level)
  86. for i in level:
  87. print i
  88.  
  89. for i in level:
  90. print i
  91. print 'Gratulerer, du klarte spillet'
Add Comment
Please, Sign In to add comment