코딩공부/Python Django

숫자야구 게임 만들기

integerJI 2020. 11. 23. 22:47

한동안 숫자야구 게임에 빠져있었다.

 

점심시간에 혹은 머리 식힐 겸 친구와 하는 숫자야구 게임은 정말 재미있었다.

 

이 재미가 식기 전에 직접 숫자야구 게임을 만들어 보는 건 어떨까?라는 생각을 하였다.

 

매번 메모를 하느라 지저분해진 공책

 

수기로 숫자를 맞추느라 숫자가 안맞을 때도 많았다

 

이를 해결해 보자!

 

숫자야구 하는법

 

 

먼저 로직이다.

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 받은 값을 계산한다.

 

입력받은 숫자 ( 스트라이크, 볼 )을 반환한다.

 

 

아직 사용자 별로 값을 숨기지는 않았다.

 

기능은 완성되었으니 디자인을 끝낸 후 기능을 개선해야겠다.