-
Notifications
You must be signed in to change notification settings - Fork 0
/
under.py
86 lines (62 loc) · 1.74 KB
/
under.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
import random
rozmiar=[9,16]
procent=20
def miner():
global stan
global lista
global rozmiar
stan=[]
lista=[True]*procent+[False]*(rozmiar[0]*rozmiar[1]-procent)
for i in range(rozmiar[0]):
rzad=[]
for y in range(rozmiar[1]):
czy_bomba=lista[random.randint(0,(len(lista)-1))]
lista.remove(czy_bomba)
if czy_bomba:
rzad.append([10,False,0])
else:
rzad.append([0,False,0])
stan.append(rzad)
def around(x,y,ktora=10):
global stan
global rozmiar
out=[]
if x > 0:
rzad=stan[x-1]
out.append(rzad[y])
if y > 0:
out.append(rzad[y-1])
if y <(rozmiar[1]-1):
out.append(rzad[y+1])
if x < (rozmiar[0]-1):
rzad=stan[x+1]
out.append(rzad[y])
if y > 0:
out.append(rzad[y-1])
if y <(rozmiar[1]-1):
out.append(rzad[y+1])
rzad=stan[x]
if y > 0:
out.append(rzad[y-1])
if y <(rozmiar[1]-1):
out.append(rzad[y+1])
if ktora<10:
aray=[]
for i in out:
aray.append(i[ktora])
out=aray
return(out)
def geolog():
global stan
global rozmiar
for x in range(rozmiar[0]):
for y in range(rozmiar[1]):
pole=10==stan[x][y][0]
pola=around(x,y,0)
if pole and pola.count(10) ==8:
stan[x][y][0]=8
if not pole:
stan[x][y][0]=int(pola.count(10))
miner()
print("\n\n\n\n")
geolog()