Language/Python

[ Python ] 컴퓨터와의 주사위 대결 프로그램

곽수진 2021. 8. 27. 21:21
반응형
내가 던진 주사위 눈값과 컴퓨터 주사위 눈값이 화면에 출력되도록 한다. 아무 키나 입력하면 계속 진행되고 0을 입력하면 게임은 종료된다. 왼쪽 주사위가 내가 던진 주사위고 오른쪽이 컴퓨터 주사위라고 간주할 때, 내가 던진 주사위 눈값이 더 크면 '승리', 그렇지 않으면 '패배'를 화면 상단에 출력하는 프로그램을 작성해보자.
단, 비긴 경우에는 '무승부'라고 출력한다.

 

import random, turtle
t=turtle.Turtle()
scr=turtle.Screen()
dice1="img/dice1.gif"
dice2="img/dice2.gif"
dice3="img/dice3.gif"
dice4="img/dice4.gif"
dice5="img/dice5.gif"
dice6="img/dice6.gif"
scr.addshape(dice1)
scr.addshape(dice2)
scr.addshape(dice3)
scr.addshape(dice4)
scr.addshape(dice5)
scr.addshape(dice6)

dice=turtle.textinput("","Enter를 치세요")
while dice !="0":
    t.clear()
    com = random.randint(1,6)
    me = random.randint(1,6)

    t.up()
    t.goto(-200,0)
    if me == 1:
        t.shape(dice1)
    elif me == 2:
        t.shape(dice2)
    elif me == 3:
        t.shape(dice3)
    elif me == 4:
        t.shape(dice4)
    elif me == 5:
        t.shape(dice5)
    elif me == 6:
        t.shape(dice6)
    t.stamp()
    t.ht()
    t.goto(200,0)
    t.st()
    if com == 1:
        t.shape(dice1)
    elif com == 2:
        t.shape(dice2)
    elif com == 3:
        t.shape(dice3)
    elif com == 4:
        t.shape(dice4)
    elif com == 5:
        t.shape(dice5)
    elif com == 6:
        t.shape(dice6)
    t.stamp()
    t.ht()
    t.goto(0,200)
    if me > com:
        t.write("승리", False, "center", ("", 25, "bold"))
    elif com > me:
        t.write("패배", False, "center", ("", 25, "bold"))
    else:
        t.write("무승부", False, "center", ("", 25, "bold"))

    dice=turtle.textinput("", "종료하려면 0을 입력: ")
    break

 

게임이 시작되기 전 모습

 

결과값 출력 모습

 

컴퓨터와 내 주사위가 동일한 결과값 출력 모습

반응형