summaryrefslogtreecommitdiff
path: root/guessnum.py
blob: 1682a7f86ca4f08a38febe68a816b6fed35565f3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
from random import randint
from stdlib import *
from gamelib import *

def initnum(difficulty: int) -> None:
	global ansnum
	if difficulty == 1:
		ansnum = randint(1, 100)
	elif difficulty == 2:
		ansnum = randint(1, 250)
	elif difficulty == 3:
		ansnum = randint(1, 500)
	else:
		ansnum = randint(1, difficulty)


def askuserinit() -> None:
	global difficulty
	difficulty = keepasks(f"{ascii.color.cyan}Difficulty({ascii.color.purple}E{ascii.color.yellow}[{ascii.color.green}asy{ascii.color.yellow}]{ascii.color.reset}, {ascii.color.purple}N{ascii.color.yellow}[{ascii.color.green}ormal{ascii.color.yellow}]{ascii.color.reset}, {ascii.color.purple}H{ascii.color.yellow}[{ascii.color.green}ard{ascii.color.yellow}]/{ascii.color.green}1{ascii.color.reset}, {ascii.color.green}2{ascii.color.reset}, {ascii.color.green}3{ascii.color.reset}/{ascii.color.green}custom{ascii.color.yellow}({ascii.color.purple}n{ascii.color.yellow}{{{ascii.color.cyan}100{ascii.color.yellow}}}{ascii.color.yellow}){ascii.color.blue}){ascii.color.reset}: {ascii.color.red}")
	difficulty = difficulty.lower()
	if difficulty == "e" or difficulty == "easy":
		difficulty = 1
	elif difficulty == "n" or difficulty == "normal":
		difficulty = 2
	elif difficulty == "h" or difficulty == "hard":
		difficulty = 3
	elif difficulty.startswith("n"):
		try:
			difficulty = difficulty.replace("n", "")
			difficulty = int(difficulty)
		except ValueError:
			printerror("Please input a valid difficulty number.")
			askuserinit()
	else:
		try:
			difficulty = int(difficulty)
		except ValueError:
			printerror("Please input a valid difficulty.")
			askuserinit()
		if difficulty not in [1, 2, 3]:
			printerror("Please input a valid difficulty number(1 for easy, 2 for noraml, 3 for hard or n{num} for custom.")
			askuserinit()

def userdet() -> None:
	guestries = 0
	while True:
		currentGuest = keepasks(f"{ascii.color.yellow}Please enter your guess number {ascii.color.green}> {ascii.color.lgreen}")
		try:
			currentGuest = int(currentGuest)
			guestries += 1
		except ValueError:
			printerror("Please input a valid guest number!")
			continue
		if currentGuest > ansnum:
			if currentGuest < ansnum:
				printwarning("Number too big.")
			elif currentGuest+30 < ansnum:
				printwarning("Number very big.")
			elif currentGuest+15 < ansnum:
				printwarning("quiet Big, but close enough")
			else:
				printwarning("little big, but very close")
		elif currentGuest < ansnum:
			if currentGuest+50 < ansnum:
				printwarning("Number too small.")
			elif currentGuest+35 < ansnum:
				printwarning("Number very small.")
			elif currentGuest+15 < ansnum:
				printwarning("quiet small, but close enough")
			else:
				printwarning("little small, but very close")
		elif currentGuest == ansnum:
			winending()
		elif guestries == 10:
			printwarning("How are you still not getting there? Come On bro!")
		elif guestries == 15:
			printwarning("Bro come on, I beliven you!")
		elif guestries == 17:
			printwarning("Ok bro, 3 more chances...")
		elif guestries >= 20:
			loseending()


def main() -> None:
	askuserinit()
	initnum(difficulty)
	userdet()

if __name__ == "__main__":
	main()