代码
时间: 2023-07-03 17:26:03 浏览: 77
好的,以下是Python项目“记忆力翻牌小游戏超级大脑”的代码,供参考:
```python
import random
import time
# 游戏设置
ROWS = 4
COLS = 4
MIN_NUM = 1
MAX_NUM = 8
TIMEOUT = 5
# 定义一个二维列表,表示游戏中的牌
cards = []
# 定义一个二维列表,表示翻开的牌
revealed = []
# 定义一个变量,表示游戏是否结束
game_over = False
# 初始化游戏牌
def init_cards():
global cards
nums = [i for i in range(MIN_NUM, MAX_NUM + 1)]
nums = nums * 2
random.shuffle(nums)
cards = [[nums[COLS * r + c] for c in range(COLS)] for r in range(ROWS)]
# 初始化翻开的牌
def init_revealed():
global revealed
revealed = [[False for c in range(COLS)] for r in range(ROWS)]
# 显示游戏界面
def show_game():
global cards, revealed
print("\n" * 20)
for r in range(ROWS):
for c in range(COLS):
if revealed[r][c]:
print("%2d" % cards[r][c], end=" ")
else:
print("##", end=" ")
print()
# 翻开一个牌
def reveal_card(row, col):
global revealed
revealed[row][col] = True
show_game()
# 翻开两个牌
def reveal_cards(r1, c1, r2, c2):
reveal_card(r1, c1)
reveal_card(r2, c2)
if cards[r1][c1] == cards[r2][c2]:
print("恭喜,你成功翻开了一对牌!")
else:
print("很遗憾,翻开的两个牌不一样。")
time.sleep(2)
revealed[r1][c1] = False
revealed[r2][c2] = False
show_game()
# 判断游戏是否结束
def check_game_over():
global cards, revealed, game_over
for r in range(ROWS):
for c in range(COLS):
if not revealed[r][c]:
return
print("恭喜,你已经成功完成了游戏!")
game_over = True
# 游戏主循环
def main():
global game_over
init_cards()
init_revealed()
while not game_over:
show_game()
print("请输入两个要翻开的牌的坐标(如:0 1 2 3):")
r1, c1, r2, c2 = map(int, input().split())
reveal_cards(r1, c1, r2, c2)
check_game_over()
time.sleep(1)
# 启动游戏
if __name__ == '__main__':
main()
```
这个代码实现了一个简单的记忆力翻牌小游戏,玩家需要在规定时间内翻开所有的牌。