본문 바로가기
코딩

pyqt를 이용하여 가위바위보 게임으로 만들어봤습니다.

by 노마드랩스 2023. 2. 2.
728x90
반응형

가위바위보를 선택할 수 있는 작은 창이 있구요.

가위바위보를 선택하면, 콘솔 창에 결과가 뜨는 코드입니다.

가위바위보 결과

import sys
from PyQt5.QtWidgets import QApplication, QWidget, QPushButton, QVBoxLayout
import random

class RockPaperScissors(QWidget):
    def __init__(self):
        super().__init__()
        self.initUI()
        
    def initUI(self):
        rock_button = QPushButton("Rock")
        rock_button.clicked.connect(lambda: self.play("rock"))
        
        paper_button = QPushButton("Paper")
        paper_button.clicked.connect(lambda: self.play("paper"))
        
        scissors_button = QPushButton("Scissors")
        scissors_button.clicked.connect(lambda: self.play("scissors"))
        
        vbox = QVBoxLayout()
        vbox.addWidget(rock_button)
        vbox.addWidget(paper_button)
        vbox.addWidget(scissors_button)
        
        self.setLayout(vbox)
        self.setWindowTitle("Rock, Paper, Scissors")
        self.show()
        
    def play(self, player_choice):
        choices = ["rock", "paper", "scissors"]
        computer_choice = random.choice(choices)
        
        print("Player chooses: {}".format(player_choice))
        print("Computer chooses: {}".format(computer_choice))
        
        if player_choice == computer_choice:
            print("It's a tie!")
        elif player_choice == "rock":
            if computer_choice == "scissors":
                print("Player wins!")
            else:
                print("Computer wins!")
        elif player_choice == "paper":
            if computer_choice == "rock":
                print("Player wins!")
            else:
                print("Computer wins!")
        elif player_choice == "scissors":
            if computer_choice == "paper":
                print("Player wins!")
            else:
                print("Computer wins!")

if __name__ == "__main__":
    app = QApplication(sys.argv)
    ex = RockPaperScissors()
    sys.exit(app.exec_())
728x90
반응형

댓글