Python(Eカードゲーム)

python

今回は受講生(K氏)の作成したお題を作成してみよう。どこかで見たことある設定だな。。。と思ったら「賭博黙示録カイジ」に出てきたゲームですね!
OK,では作ってみましょう!

目的

[ゲーム内容]
○「皇帝」「市民」「奴隷」の3種類のカードが登場します
○プレイヤーは「市民」4枚、「奴隷」1枚のカードを所持しています
○コンピューターは「市民」4枚、「皇帝」1枚のカードを所持しています
○コンピューターとプレイヤーが出したカードの相性で勝敗が決まります
○「皇帝」は「市民」に勝ち、「市民」は「奴隷」に勝ち、「奴隷」は「皇帝」に勝ちます
○「市民」と「市民」では引き分けになるため、再度勝負になります
○その際、使用した「市民」のカードはなくなります

実行例

実行例1

ようこそeカードゲームへ
>>enter
1 戦目
手持ちのカード: 市民 4 枚 奴隷 1 枚
カード選択:「市民」なら「0」、「奴隷」なら「1」を入力>>0
カードオープン!
>>enter
あなた: 市民 PC: 市民
引き分け!
>>enter
2 戦目
手持ちのカード: 市民 3 枚 奴隷 1 枚
カード選択:「市民」なら「0」、「奴隷」なら「1」を入力>>0
カードオープン!
>>enter
あなた: 市民 PC: 皇帝
あなたの負け!
GAME OVER

実行例2

ようこそeカードゲームへ
>>enter
1 戦目
手持ちのカード: 市民 4 枚 奴隷 1 枚
カード選択:「市民」なら「0」、「奴隷」なら「1」を入力>>0
カードオープン!
>>enter
あなた: 市民 PC: 市民
引き分け
>>enter
2 戦目
手持ちのカード: 市民 3 枚 奴隷 1 枚
カード選択:「市民」なら「0」、「奴隷」なら「1」を入力>>1
カードオープン!
>>enter
あなた: 奴隷 PC: 皇帝
あなたの勝ち!
Congratulation!

Let’s challenge!

3すくみなので基本的にはジャンケンの作成に似ているが、カードの枚数が限定されているため、リストの演習にもなりそうだ。挑戦してみよう。

解答例

import random

cards=['市民','奴隷','皇帝']
user_cards=[0,0,0,0,1]
pc_cards=[0,0,0,0,2]
random.shuffle(pc_cards)
count=0
print('ようこそeカードゲームへ')
while True:
	input('>>enter')
	count+=1;
	print(count,'戦目')
	print('手持ちのカード: 市民',user_cards.count(0),'奴隷:',user_cards.count(1))
	user_card=int(input('カード選択:「市民」なら「0」、「奴隷」なら「1」を入力>>'))
	user_cards.remove(user_card)
	print('カードオープン!')
	input('>>enter')
	pc_card=pc_cards.pop()
	print('あなた:',cards[user_card],'PC:',cards[pc_card])
	if user_card==pc_card:
		print('引き分け!')
		continue
	elif user_card==1 and pc_card==2:
		print('あなたの勝ち!')
		print('Congratulation!')
	else:
		print('あなたの負け!')
		print('GAME OVER')
	break
python
スポンサーリンク
シェアする
mjpurinをフォローする
ジョイタスネット

コメント

タイトルとURLをコピーしました