티스토리 뷰
Code
import random
a = [];
for i in range(1,10):
a.append(i)
random.shuffle(a)
print "===== 게임 시작 ====="
b=[0,0,0]
cnt = 1
for i in range(100):
print "===== %2dth 시도 ====="%cnt
cnt +=1
x = int(raw_input("Insert 3 number : "))
if x == 0:
break
for i in range(3):
b[2-i] = x % 10
x /= 10
print b
ball = 0;
strike = 0;
for n in range(3):
for m in range(3):
if a[n] == b[m] :
if n == m:
strike +=1
else :
ball +=1
print "%d strike, %d ball!"%(strike,ball)
if strike == 3:
print "You are victory!!"
break
print "===== 게임 종료 ====="
일단 숫자 야구 게임을 만들기 위해서는, 모든 게임이 그렇듯이, 랜덤으로 숫자를 찍어 내어야 한다.
그래서 random module을 import 시켰다.
그 다음 한 줄 명령창에서 random에 안에 있는 메소드들을 알고 싶다면,
정보 확인
>>>print random.__doc__
내부 매소드 확인
>>>print dir(random)
을 이용해서 확인하자.
리스트 a를 이용하여 1부터 9까지의 값을 넣는다.
그리고, 카드 섞기 메소드인 shuffle을 사용하여 리스트를 섞는다.
이 중 [0],[1],[2]를 사용할 것이다.
왜 이렇게 사용한 이유는 야구 게임 규칙상 동일한 숫자가 들어가서는 안되기 때문이다.
어쨋든 먼저 컴퓨터가 원하는 값을 가지고, 게임을 시작하는데, 내가 입력한 세자리의 값을 가지고, 차근 차근 다른 리스트 b의 [0],[1],[2]에 넣어준다.
그리고, 이를 비교하여 Ball과 Strike를 체크하고, 3 Strike가 나오게 되면 게임에서 이기게 되는 것이다.
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- LightBox
- 전략
- JS
- Python
- Ai
- jQuery
- technote
- vuejs
- 브랜치
- directive
- SQL
- frontend
- 클라우드
- Git
- Branch
- 파이썬
- 테스트
- 테크노트
- NG
- ie11
- IE
- RESTful
- 개발자
- 미래
- FLASK
- SSL
- SVN
- angular
- RUBY
- Material
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함