한동안 숫자야구 게임에 빠져있었다.
점심시간에 혹은 머리 식힐 겸 친구와 하는 숫자야구 게임은 정말 재미있었다.
이 재미가 식기 전에 직접 숫자야구 게임을 만들어 보는 건 어떨까?라는 생각을 하였다.
매번 메모를 하느라 지저분해진 공책
수기로 숫자를 맞추느라 숫자가 안맞을 때도 많았다
이를 해결해 보자!
먼저 로직이다.
def beatnum(request, game_id, choicenum_id):
list_choice = []
list_beat = []
strike = 0
ball = 0
if request.method =='POST':
beat = get_object_or_404(ChoiceNum, pk=choicenum_id)
str_choice = str(beat)
str_choice = str_choice[-4:]
for i in range(len(str_choice)):
list_choice.append(str_choice[i])
str_beat = str(request.POST.get('beat_num'))
for j in range(len(str_beat)):
list_beat.append(str_beat[j])
for k in range(4):
if list_choice[k] == list_beat[k]:
strike += 1
if (list_choice[k] in list_beat) and (list_choice[k] != list_beat[k]):
ball += 1
beat_user = User.objects.get(username = request.user.get_username())
beat_num = request.POST.get('beat_num')
beat_result = strike, ball
BeatNum.objects.create(beat=beat, beat_user=beat_user, beat_num=beat_num, beat_result=beat_result)
return redirect('gameroom', game_id)
request 받은 값을 계산한다.
입력받은 숫자 ( 스트라이크, 볼 )을 반환한다.
아직 사용자 별로 값을 숨기지는 않았다.
기능은 완성되었으니 디자인을 끝낸 후 기능을 개선해야겠다.
'코딩공부 > Python Django' 카테고리의 다른 글
django secret key를 분실 or 노출될 경우 (0) | 2022.02.24 |
---|---|
python selenium을 이용한 크롤링 (7) | 2020.09.27 |
python schedule 라이브러리 사용하기 (0) | 2020.09.24 |
python으로 크롤링(crawling) 하기 (0) | 2020.09.22 |
os.path.isfile 함수를 이용한 secrets.json 관리하기 (1) | 2020.08.31 |