2016-11-10 5 views
1

だから、私はブラックジャックゲームを作ろうとしています。非常に単純なもの、もし私が追加することができます。別の機能が完了するまで、関数をスリープさせてください。

私のコードは、現在、次のようになります。

def cmd_blackjack(message): 
    playblackjack(message, player=True) 

def dealcard(): 
    card = random.randrange(1, 11) 
    return card 

def dealhand(message, player=False, dealer=False): 
    card1 = dealcard() 
    card2 = dealcard() 
    if player: 
     client.send_message(message.channel, 
           'BLACKJACK: Your cards: %s and %s \n Type !hitme for more cards or !stay to stay' % (card1, card2)) 
    if dealer: 
     client.send_message(message.channel, 
           "BLACKJACK: Dealer's cards: %s %s" % (card1, card2)) 
    return card, card2 

def playblackjack(message, player=False, dealer=False): 
    dealhand(player) 

そして、これは私がarchieveしようとしているものをほとんどです:

def playblackjack(message, player=False, dealer=False): 
    dealhand(player) 
    // This is when the player has to input !hitme to get more cards 
    if not playerhastypedhitme in 300 secs: 
     return 

    dealhand(player=False, dealer=True) 
    // code continues 

だから基本的に、私は(把握する必要があり非遅れている、私はリストを使ってそれをやり遂げることができることを知っている)例えば、関数がユーザーの入力を待つようにする方法。他の関数を作成するのと同様に、この関数に「OK、continue」メッセージを送信します。

私はこれはおそらく、それはちょうど非常に難しい私は

+0

http://stackoverflow.com/questions/1335507/keyboard-input-with-timeout-in-python – technicalbloke

+0

「_Iは、私がexample_のために、リストでそれを行うことができます知っています」 。リストでどのようにしたのかを教えてくれますか?それは良い出発点になるかもしれない。 – Kevin

+0

私はこの特定のものでリストを使ってみることはしませんでしたが、以前のコーディングの探検でそれらを使っていました。基本的には、ある関数が終了した後、リストに数値が追加され、そのリストに数値があるかどうかがチェックされます。 ここで私はどのように使うのか分かりません。 。 – user3553653

答えて

2

を達成するために何をしたいあなたが寝する必要はありません検索用語で記述しています前に依頼されている知っています。私が正しく理解していれば、ユーザーの入力を待つだけです。

Pythonのinput()関数は、あなたのためのものです。

+0

それで300秒で何も入力しなければ 'input'を返すのですか? – Kevin

+0

私が考えることができるのはスレッディングだけですが、そこに行きたくないと確信しています。私はこれを見つけました:http://stackoverflow.com/questions/2933399/how-to-set-time-limit-on-input、プラットフォームに依存しない方法は実際にスレッドを使用します。それがその価値があるかどうかを決めるのはあなた次第です。 – joaquinlpereyra

+0

ありがとう、私は入力がここでどのように機能するかを理解していませんでした。睡眠は重要ではない、私はちょうどこれを最初にこの仕事を見たいと思う。だから、入力( '!hitme')のようなものですか? – user3553653

関連する問題