주사위 프로그램

'장난감' 시리즈주사위 프로그램

mildsalmon

흔치않고, 진귀하다.

Sign in to view email

문제

로직

  1. 컴퓨터와 내가 주사위 2개를 굴린다.
  • 주사위는 랜덤값으로 처리해야한다. (주사위 값을 안다면 그건 주사위가 아니기 때문에)
  • 컴퓨터 주사위 2개, 내 주사위 2개를 랜덤값으로 초기화해야한다.
  1. 주사위 눈금의 합이 큰 쪽이 이긴다.
  • 컴퓨터 주사위와 내 주사위의 값을 각각 더하는 변수가 필요하다.
  • if문으로 컴퓨터가 이겼는지 내가 이겼는지 조건처리 해주면 됨
  1. 두 눈금이 같으면 합에 10을 더한다.
  • 비기면 눈금의 합에 10을 더한다.
  • 이것도 if문으로 처리하면 됨
  1. 위 과정을 5번 반복하여 내가 몇 승 몇 무 몇 패인지 화면에 출력
  • 5번 반복은 for문이나 while문을 사용한다.
  • 몇 승 몇 무 몇 패는 for문 밖에 선언해서 전역적으로 관리한다.
  • for문 안에 선언하면 지역적으로 선언되서 for문이 끝나면 사라진다.

코드

import random

if __name__ == '__main__':
    win = 0
    lose = 0
    draw = 0

    for i in range(5):
        com_dice_1 = random.randrange(1,7)
        com_dice_2 = random.randrange(1,7)
        my_dice_1 = random.randrange(1,7)
        my_dice_2 = random.randrange(1,7)

        sum_com_dice = com_dice_1 + com_dice_2
        sum_my_dice = my_dice_1 + my_dice_2

        if sum_com_dice > sum_my_dice:
            lose = lose + 1
            print("(" + str(com_dice_1) + ", " + str(com_dice_2) + ")")
            print("\n")
        elif sum_com_dice < sum_my_dice:
            win = win + 1
            print("(" + str(my_dice_1) + ", " + str(my_dice_2) + ")")
            print("\n")
        elif sum_com_dice == sum_my_dice:
            print("(" + str(my_dice_1) + ", " + str(my_dice_2) + ")")
            print(sum_my_dice + 10)
            draw = draw + 1
            print("\n")

    print(str(win) + " 승, " + str(draw) + " 무, " + str(lose) + " 패")

결과

첫 번째 출력은 만들자마자 캡쳐한거고, 두 번째 출력은 만들고 좀 다듬어서 출력한 것. 여러번 반복하면서 주사위의 범위는 맞는지, 비겼을 때 , 내가 이겼을 때, 컴퓨터가 이겼을 때 잘 동작하는지 파악해야 한다.


'장난감' 시리즈
baealex
3개월, 2주전

장남감 게임 시리즈 이제 안올라오는 건가요? 😥

mildsalmon
3개월, 2주전

@baealex 원하시면 곧 올려드리겠습니다. 호호

baealex
3개월, 2주전

로그인된 사용자만 댓글을 작성할 수 있습니다.