嗯。。。我花了很长时间让我的部分代码工作,但我重新安排了事情,它突然开始正常工作。我不知道我做了什么老实说,所以我想这将是这个问题的主题。我正在构建一个简单的基于文本的纸牌游戏,它使用从两个.txt文件上传的纸牌。它的目标是魔术:聚会,但如果人们有创意的话,可能会和其他人合作。为了提供一个粗略的概述,以下是如何安排的:import random
def shuffle(board1):
def game():
#board=[[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[]]
#performs most of the actions relating to the game
board[0]=20
board[10]=20
def gameboard(board2):
#displays game board
def draw(board3, numcards, player):
#draws cards
def upload(deckname):
#uploads cards from file
def life(board4):
#asks about which player the life total is changing on, by how much, etc.
#and then does it
def maketoken(board5):
#creates tokens, counters, etc. based on user input
def move(board5):
#accepts user input and moves cards from zone to zone
def play(board6):
#handles casting spells, using abilities, triggered abilities, etc.
#main body of program is below function definitions
board=[[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[]]
deckname1=input("\nWhat is the name of deck 1?")
deckname2=input("\nWhat is the name of deck 2?")
deck1=upload(deckname1)
deck2=uplaod(deckname2)
board[1]=deck1
board[11]=deck2
#this is where a lot of the other variables get set
game()
(注意:由于我的代码很难看,大部分代码都被删除了,因为简洁美观)
我有一个大学级C++背景,最近决定选择You-OLED键盘来解决问题,所以分配操作员(不)按我预期的方式工作,这让我发疯。因此,我还想知道是否有一种方法可以在Python中获得C++’=’的功能,因为我从.txt文件上传了这个程序,并且想尽快完成上传()功能(我使用DEKK1=上传(DeNKNAME)(同样适用于Dek2)。我想在每次游戏后用'deck1'和'deck2'来填充牌堆,但是如果我理解了'='在python中的工作原理,那么输入board[1]=deck1意味着board[1]将指向deck1的存储区域,对board[1]的更改将更改deck1,但我不希望这样。。。GRRRR!!!!!!11) 一。我肯定有一个解决办法,因为它让我发疯,但我一直没能找到它。谢谢!!!在
编辑:这是我收到的错误,当事情是这样设置的:
^{pr2}$
小结:我是否需要将board传递给game()函数,即使它被设置为全局变量(或者至少我认为是这样的)?当我在game()函数中指定它时,一切似乎都很好(注释掉以显示这一点)。(编辑:永不停息。。。我是个白痴。)
将棋盘的一部分赋值给game()中的一个值是否会使其成为局部变量(例如,当board[0]=20时)?(编辑:是的,很明显……)