게임의 규칙에 따라 Python 3.3.3에서 Samegame/Candy Crush 복제를 만들고 있는데, 여러 셀이 지워졌을 때 위에 있었던 사람들은 빈 공간을 채우기 위해 "떨어지다".목록 아래에 공백이있는 모든 요소를 한 줄에 놓으십시오.
는 기본적으로 I는 다음과 같습니다 뭔가가 있습니다
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
-----------------------------------------------
1 |@ @ # & @ @ @ @ @ & & @ # @ & |1
2 |@ # & @ & @ @ & @ # & & & @ & |2
3 |@ & # @ & & @ @ & # & & # # & |3
4 | @ # & & # & # @ # @ @ @ & |4
5 | & @ & # # # @ & @ @ & |5
6 |& & & # & @ # @ # & @ |6
7 |@ @ & & & & @ @ & # & & |7
8 |@ & @ & & & & @ @ # @ @ |8
9 |@ @ @ & @ @ # # @ # # # |9
10|# @ @ & & & # & # # & @ & # # |10
-----------------------------------------------
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
을 그리고는이처럼 보이게하려면 :
: 여기1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
-----------------------------------------------
1 | @ @ @ & & @ # @ & |1
2 | & @ & @ # & & & @ & |2
3 |@ @ @ @ & # & & # # & |3
4 |@ # @ # & # @ # @ @ @ & |4
5 |@ & # @ @ & # # # @ & @ @ & |5
6 |& @ # @ & @ & # & @ # @ # & @ |6
7 |@ # @ & & & & & & @ @ & # & & |7
8 |@ & & & & & & & & & @ @ # @ @ |8
9 |@ @ @ @ @ & & @ @ # # @ # # # |9
10|# @ @ & & & # & # # & @ & # # |10
-----------------------------------------------
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
내가 이것을 달성해야하는 코드
game = [
['@','@','#','&','@','@','@','@','@','&','&','@','#','@','&'],
['@','#','&','@','&','@','@','&','@','#','&','&','&','@','&'],
['@','&','#','@','&','&','@','@','&','#','&','&','#','#','&'],
['#','#','@','#','&','&','#','&','#','@','#','@','@','@','&'],
['#','#','&','@','#','#','&','#','#','#','@','&','@','@','&'],
['&','#','#','#','#','&','&','#','&','@','#','@','#','&','@'],
['@','@','#','&','#','#','&','&','&','@','@','&','#','&','&'],
['@','#','#','&','@','#','&','&','&','&','@','@','#','@','@'],
['@','#','@','@','#','#','&','@','@','#','#','@','#','#','#'],
['#','@','@','&','&','&','#','&','#','#','&','@','&','#','#']
] # Of course during the game, this board won't stay the same
def collapse_board():
for i in range(1, 15):
empty = 9
full = empty
while empty >= 0 and full >= 0:
while empty >= 0 and game[empty][i] != ' ':
empty -= 1
if empty >= 0:
full = empty - 1
while full >= 0 and game[full][i] == ' ':
full -= 1
if full >= 0:
game[empty][i] = game[full][i]
game[full][i]
결과 :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
-----------------------------------------------
1 |@ @ # & @ @ @ @ @ & & @ # @ & |1
2 |@ # & @ & @ @ & @ # & & & @ & |2
3 |@ & # @ & & @ @ & # & & # # & |3
4 | & @ # & & # & # @ # @ @ @ & |4
5 | & & @ & & & # # # @ & @ @ & |5
6 |& & & # & & & # & @ # @ # & @ |6
7 |@ @ & & & & & & & @ @ & # & & |7
8 |@ @ & & @ & & & & & @ @ # @ @ |8
9 |@ @ @ @ @ & & @ @ # # @ # # # |9
10|# @ @ & & & # & # # & @ & # # |10
-----------------------------------------------
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
도움을 주시면 감사하겠습니다.
, 나는 더 많은 통해 내 데이터 구조를 생각해야했습니다. 도와 줘서 고마워, 많이 배웠어. – Mootjeuh