最初に、次のコードはおそらくあまり良くないと分かっています。だからこそ心配してくれるものを謝っています。より良い。初心者のハングマンプロジェクト:重複する文字の扱い
これは小さなハンママンゲームプロジェクトの一部です。文字列に重複する文字を扱う最良の方法を見つけようとしています。
これは、私は今のところ得たものである:私は、彼らは彼らの試合と一緒にブリットされているので、重複に対処するための簡単な方法を探しています
def checkDupes(word):
global dupeList
global repeatTimesDupes
if repeatTimesDupes != 0:
dupeCount = 0
for i in range(len(word)):
temp = word[i]
print("temp letter is: ", temp)
for j in range(i+1,len(word)):
if word[j] == temp:
if temp not in dupeList:
dupeList.append(word[j])
print("the dupeList contains: ", dupeList)#debug
repeatTimesDupes -= 1
def getLetter(position,buttons,word):
i = 96
index = 0
letter = chr(i)
for button in buttons:
if button != None:
i+=1
if button.collidepoint(position):
print("the position is: ", position)
print(i)
for j in range(len(word)):
print(word[j] , chr(i))
if word[j] == chr(i):
index = j
return chr(i), index
else:
return '?', -1
def checkForLetter(word,letter):
inWord = " "
for i in range(len(word)):
if word[i] == letter:
inWord = True
break
else:
print(len(word))
print (word[i])
inWord = False
return inWord
#========================== Start Loop ===========================================
while done == False:
events = pygame.event.get()
screen.fill(BGCOLOR)
timedelta = clock.tick_busy_loop(60)
timedelta /= 1000 # Convert milliseconds to seconds
for event in events:
if event.type == pygame.QUIT:
done = True
if event.type == pygame.KEYDOWN:
if event.key == pygame.K_ESCAPE:
done = True
if event.type == pygame.MOUSEBUTTONUP:
if event.button == MOUSEBUTTONLEFT:
pos = pygame.mouse.get_pos()
for button in buttonsList:
if button.collidepoint(pos):
if button != None:
checkDupes(gameWord)
letter, atIndex = getLetter(pos,buttonsList,gameWord)
letterSelected = True
moveCounter+=1
screen.blit(blackBG,(0,0))
showButtons(letterList)
showLetterSlots(gameWord,screenRect)
setCounters(moveMade,mistakeMade)
if letterSelected:
inGameWord = checkForLetter(gameWord, letter)
if inGameWord:
print(atIndex)
print(letter)
letterRen = wordFonts.render(letter,1,(0,255,0))
renderList[atIndex] = letterRen
print("The render list is: ", renderList)
renCount = 0
for r in lineRectList:
if renderList[renCount] != '?' :
screen.blit(renderList[renCount],((r.centerx-10),430))
if renCount <= len(gameWord):
renCount+=1
#update game screen
clock.tick(60)
pygame.display.update()
#========================== End Loop =============================================
pygame.quit()
。私はすでに私の手紙blitsをすべてループしているので、実際に私の現在のgetDupes
が行く方法であるとは思えません。
誰かがこれを見て何らかのインプットを与えたいと思っていれば、私は非常に感謝しています。
お時間をいただきありがとうございます。
あなたのコードの投稿を、質問している質問に関連するものだけに絞り込んでください。 –
完了し、すべてのdownvotesしかしながら?この場所は、初心者や改善しようとする人々を見下ろすようなエリート主義のように定着していますか? 私はお尻として出会いたくはありませんが、私が投稿したすべての質問に得られる否定的な反応はちょっとイライラしています。私はまともな助けを他の場所で見なければなりませんか? – Wretch11
@ Wretch11ようこそスタックオーバーフロー!ダウンボントはあなたの個人的な反省ではありません。あなたはここで大歓迎です。ダウンボイスは、あなたが提出したものを完全に拒否するのではなく、投稿を改善する必要があるというシグナルです。今、ここで何が起こっているのかわかりますか?ここで何が望ましい行動ですか?重複した文字列があるとどうなるでしょうか? – Ares