-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathgame_metro.py
More file actions
102 lines (90 loc) · 8.08 KB
/
game_metro.py
File metadata and controls
102 lines (90 loc) · 8.08 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
import random
import time
metro1 = ['연천', '전곡', '청산', '소요산', '동두천', '보산', '동두천 중앙', '지행', '덕정', '덕계', '양주', '녹양', '가능', '의정부', '회룡',
'망월사', '도봉산', '도봉', '방학', '창동', '녹천', '월계', '광운대', '석계', '신이문', '외대앞', '회기', '청량리', '제기동',
'신설동', '동묘앞', '동대문', '종로5가', '종로3가', '종각', '시청', '서울역', '남영', '용산', '노량진', '대방', '신길', '영등포',
'신도림', '구로', '구일', '개봉', '오류동', '온수', '역곡', '소사', '부천', '중동', '송내', '부개', '부평', '백운', '동암', '간석',
'주안', '도화', '제물포', '도원', '동인천', '인천', '가산디지털단지', '독산', '금천구청', '광명', '석수', '관악', '안양', '명학',
'금정', '군포', '당정', '의왕', '성균관대', '화서', '수원', '세류', '병점', '서동탄', '세마', '오산대', '오산', '진위', '송탄',
'서정리', '평택지제', '평택', '성환', '직산', '두정', '천안', '봉명', '쌍용', '아산', '탕정', '배방', '온양온천', '신창']
metro2 = ['까치산', '신정네거리', '양천구청', '도림천', '신도림', '대림', '구로디지털단지', '신대방', '신림', '봉천', '서울대입구', '낙성대',
'사당', '방배', '서초', '교대', '강남', '역삼', '선릉', '삼성', '종합운동장', '잠실새내', '잠실', '잠실나루', '강변', '구의',
'건대입구', '성수', '용답', '신답', '용두', '신설동', '뚝섬', '한양대', '왕십리', '상왕십리', '신당', '동대문역사문화공원',
'을지로4가', '을지로3가', '을지로입구', '시청', '충정로', '아현', '이대', '신촌', '홍대입구', '합정', '당산', '영등포구청', '문래']
metro3 = ['대화', '주엽', '정발산', '마두', '백석', '대곡', '화정', '원당', '원흥', '삼송', '지축', '구파발', '연신내', '불광', '녹번', '홍제',
'무악재', '독립문', '경복궁', '안국', '종로3가', '을지로3가', '충무로', '동대입구', '약수', '금호', '옥수', '압구정', '신사', '잠원',
'고속터미널', '교대', '남부터미널', '양재', '매봉', '도곡', '대치', '학여울', '대청', '일원', '수서', '가락시장', '경찰병원', '오금']
metro4 = ['오이도', '정왕', '신길온천', '안산', '초지', '고잔', '중앙', '한대앞', '상록수', '반월', '대야미', '수리산', '산본', '금정', '범계',
'평촌', '인덕원', '정부과천청사', '과천', '대공원', '경마공원', '선바위', '남태령', '사당', '총신대입구', '동작', '이촌', '신용산',
'삼각지', '숙대입구', '서울역', '회현', '명동', '충무로', '동대문역사문화공원', '동대문', '혜화', '한성대입구', '성신여대입구', '길음',
'미아사거리', '미아', '수유', '쌍문', '창동', '노원', '상계', '불암산', '별내별가람', '오남', '진접']
metro5 = ['방화', '개화산', '김포공항', '송정', '마곡', '발산', '우장산', '화곡', '까치산', '신정', '목동', '오목교', '양평', '영등포구청',
'영등포시장', '신길', '여의도', '여의나루', '마포', '공덕', '애오개', '충정로', '서대문', '광화문', '종로3가', '을지로4가',
'동대문역사문화공원', '청구', '신금호', '행당', '왕십리', '마장', '답십리', '장한평', '군자', '아차산', '광나루', '천호', '강동',
'길동', '굽은다리', '명일', '고덕', '상일동', '강일', '미사', '하남풍산', '하남시청', '하남검단산', '둔촌동', '올림픽공원', '방이',
'오금', '개롱', '거여', '마천']
metro6 = ['역촌', '불광', '독바위', '연신내', '구산', '응암', '새절', '증산', '디지털미디어시티', '월드컵경기장', '마포구청', '망원', '합정',
'상수', '광흥창', '대흥', '공덕', '효창공원앞', '삼각지', '녹사평', '이태원', '한강진', '버티고개', '약수', '청구', '신당', '동묘앞',
'창신', '보문', '안암', '고려대', '월곡', '상월곡', '돌곶이', '석계', '태릉입구', '화랑대', '봉화산', '신내']
metro7 = ['석남', '산곡', '부평구청', '굴포천', '삼산체육관', '상동', '부천시청', '신중동', '춘의', '부천종합운동장', '까치울', '온수', '천왕',
'광명사거리', '철산', '가산디지털단지', '남구로', '대림', '신풍', '보라매', '신대방삼거리', '장승배기', '상도', '숭실대입구', '남성',
'총신대입구', '내방', '고속터미널', '반포', '논현', '학동', '강남구청', '청담', '자양', '건대입구', '어린이대공원', '군자', '중곡',
'용마산', '사가정', '면목', '상봉', '중화', '먹골', '태릉입구', '공릉', '하계', '중계', '노원', '마들', '수락산', '도봉산', '장암']
metro8 = ['모란', '수진', '신흥', '단대오거리', '남한산성입구', '산성', '남위례', '복정', '장지', '문정', '가락시장', '송파', '석촌', '잠실',
'몽촌토성', '강동구청', '천호', '암사', '암사역사공원', '장자호수공원', '구리', '동구릉', '다산', '별내']
metro9 = ['개화', '김포공항', '공항시장', '신방화', '마곡나루', '양천향교', '가양', '증미', '등촌', '염창', '신목동', '선유도', '당산',
'국회의사당', '여의도', '샛강', '노량진', '노들', '흑석', '동작', '구반포', '신반포', '고속터미널', '사평', '신논현', '언주',
'선정릉', '삼성중앙', '봉은사', '종합운동장', '삼전', '석촌고분', '석촌', '송파나루', '한성백제', '올림픽공원', '둔촌오륜',
'중앙보훈병원']
allMetro = [metro1, metro2, metro3, metro4, metro5, metro6, metro7, metro8, metro9]
allMetroText = ["1호선", "2호선", "3호선", "4호선", "5호선", "6호선", "7호선", "8호선", "9호선"]
def metroGame(players, me) :
selectedMetro = []
usedMetro = []
loser = ""
participants = [player['name'] for player in players]
print("🚇지~하철! 지하철! 지~하철! 지하철!🚇")
time.sleep(1.0)
while True :
try :
m = int(input("몇호선~몇호선! 몇호선~몇호선!(1~9호선 중 선택) : "))
if 1<= m <= 9 :
break
else :
print("1~9호선 중 선택해주세요.")
except ValueError :
print("숫자를 선택해주세요")
selectedMetro = allMetro[m-1]
print(f"{m}호선~{m}호선! {m}호선~{m}호선!")
time.sleep(1.0)
print("방향은~ 이쪽으로!👉 이쪽으로!👉")
time.sleep(1.0)
while True :
randomMetro = random.choice(allMetro)
if randomMetro != selectedMetro :
break
while True :
if set(usedMetro) >= set(selectedMetro):
print("지하철 역을 모두 말했어요! 무승부입니다~ 🎉🎊")
return None
for i in participants :
if i == me :
metroName = input(f"{i} : ")
time.sleep(1.0)
else :
metroName = random.choice(selectedMetro+randomMetro)
print(f"{i} : {metroName}")
time.sleep(1.0)
if metroName in usedMetro:
print(f"땡! {metroName}은(는) 이미 얘기한 역입니다~")
time.sleep(1.0)
print(f"누가 술을 마셔~ {i}(이)가 술을 마셔~")
loser = i
return loser
elif metroName not in selectedMetro:
print(f"땡! {metroName}은(는) {allMetroText[m-1]} 안에 없습니다ㅜㅜ")
time.sleep(1.0)
print(f"누가 술을 마셔~ {i}(이)가 술을 마셔~")
loser = i
return loser
usedMetro.append(metroName)