我的第一个玩具程序,留个记号。

我的第一个玩具程序,留做记号,代表了从学习 Python 到现在的高度,希望有一天能自己回过头来嘲讽现在的自己。

# coding: utf-8
__author__ = "Deng"

import random, time, threading, os

class SearchDiffer(object):

    def __init__(self,grade):
    # 初始化方法:生产两个随机数,决定 + 出现的位置 根据用户选择,初始化游戏难度
        self.grade = grade
        self.count = 0

    def draw(self):
    # 绘制不同难度的游戏矩形大小
        self.random_x = random.randint(1, self.grade * 5)
        self.random_y = random.randint(1, self.grade * 5)
        for x in range(1, (self.grade * 5 + 1)):
            for y in range(1, (self.grade * 5 + 1)):
                if x == self.random_x and y == self.random_y:
                    print("+", end= " ")
                else:
                    print("*", end= " ")
            print()

    def user_sech(self):
    # 根据用户输入,判断是否正确,并累计猜对的次数。
        get_x = input("找出 + 在第几行(按0退出游戏):")
        if int(get_x) == 0:
            print("**GAME OVER**")
            exit()

        get_y = input("找出 + 在第几列(按0退出游戏):")
        if int(get_y) == 0:
            print("**GAME OVER**")
            exit()

        if int(get_x) == self.random_x and int(get_y) == self.random_y:
            self.count += 1
            print("找对了。。。")
            return self.count

        else:
            print("找错了。。。")

    def user_count(self):
    # 实现游戏循环进行,除非用户选择退出
        while True:
            self.draw()
            self.user_sech()
            print("找对了{}次".format(self.count))
def timeout(t):

    time.sleep(t)
    print("\n**时间到**")
    os._exit(0)


def main():

    grade = input("简单:1 中等:2 困难:3\n请选择游戏难度(任意键退出):")
    if grade not in ["1", "2", "3"]:
        exit()

    else:
        user_game = SearchDiffer(int(grade))

        t1 = threading.Thread(target= user_game.user_count)
        t2 = threading.Thread(target= timeout, args= (30,))

        t1.start()
        t2.start()

if __name__ == "__main__":
    main()

猜你喜欢

转载自blog.csdn.net/qq_43539055/article/details/84887877