我正在为学校学习XML,但是我的工作很艰难。我们需要在使用python / appJar制作的简单游戏中添加记分板。
这是我用于记分板的XML文件。
<scoreboard>
<score>
<name>name1</name>
<scorenum>0</scorenum>
</score>
<score>
<name>name2</name>
<scorenum>0</scorenum>
</score>
<score>
<name>name3</name>
<scorenum>0</scorenum>
</score>
<score>
<name>name4</name>
<scorenum>0</scorenum>
</score>
<score>
<name>name5</name>
<scorenum>0</scorenum>
</score>
<score>
<name>name6</name>
<scorenum>0</scorenum>
</score>
<score>
<name>name7</name>
<scorenum>0</scorenum>
</score>
<score>
<name>name8</name>
<scorenum>0</scorenum>
</score>
<score>
<name>name9</name>
<scorenum>0</scorenum>
</score>
<score>
<name>name10</name>
<scorenum>0</scorenum>
</score>
另外,如果相关的话,这就是游戏。 (需要appjar)
import time
from random import randrange
from appJar import gui
app = gui()
numLeft = 0
numRoll = 0
numRight = 1
def roll():
global numLeft
global numRight
global numRoll
numRoll = 0
app.setLabel('counter', 'Rolls: ' + str(numRoll))
app.hideButton('Roll')
while True:
numLeft = randrange(1, 6)
numRight = randrange(1, 6)
app.setImage('left', 'images' + str(numLeft) + '.gif')
app.setImage('right', 'images/' + str(numRight) + '.gif')
if numLeft == numRight:
numRoll += 1
app.setLabel('counter', 'Rolls: ' + str(numRoll))
app.showButton('Roll')
addscore()
break
else:
numRoll += 1
app.setLabel('counter', 'Rolls: ' + str(numRoll))
time.sleep(0.2)
app.setBg('white')
app.addLabel('title', 'Dice Rolling Thing', 0, 0, 10)
app.addImage('left', 'images/logo.gif', 1, 0, 5)
app.addImage('right', 'images/logo.gif', 1, 5, 5)
app.addLabel('counter', 'Rolls:' + str(numRoll), 2, 0, 10)
app.addLabel('blank', '', 3, 0, 10, 2)
app.addButton('Roll', roll, 3, 0, 10)
app.go()
我要努力争取的是如何获得特定的分数并将其覆盖。我还需要知道如何按分数对这些值进行排序。我已经学会了如何在for循环中进行类似的操作
for child in root:
for element in child:
print(element.text)
但是我需要知道如何读写特定的东西。正如您可能会告诉我的那样,我对XML还是很陌生,我很困惑,而且我正努力将其应用于python,因此希望能获得任何帮助。