Python Forum
crack the safe - Gangster Nation
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
crack the safe - Gangster Nation
#8
(May-08-2020, 06:40 AM)asiaphone12 Wrote: hello, I play a game called "Gangster Nation", where the game is like creating mafia community. there is one feature that made me interested, that is crack the safe to get money.

so the game is you guess 4 digit number, the game will tell you clue whether your guess is incorrect, lower or higher. the game tell you randomly, so you can't expect to get clues all the times. when your guess is wrong, you need to wait 5 minutes to guess again.

I try to guess it manualy but it tooks me more than 2 hours to guess. so I create a code for guessing the password to crack the safe:

import random
import json

#load number database
filename = 'number_db.json'
try:
	with open(filename) as f_obj:
		all_number = json.load(f_obj)
except FileNotFoundError:
	all_number = {'check_number' : [], 
		'min_number' : 0, 'max_number' : 10000}
print('{}\n'.format(all_number))

#function to save number
def savejson_number():
	filename = 'number_db.json'
	with open(filename, 'w') as f_obj:
		json.dump(all_number, f_obj)

#guessing function
def start_guessing(min_number, max_number):
	guess_number = random.randrange(all_number['min_number'], 
		all_number['max_number'])
	if guess_number in all_number['check_number']:
		guess_number = random.randrange(all_number['min_number'], 
			all_number['max_number'])
	all_number['check_number'].append(guess_number)
	return guess_number

print('How to Use: \nif lower, type "lower". if higher, type "higher".')
print('if incorrect just enter. if save type "save".')
print('if stop type "stop", if reset type "reset".')

#opening guess
my_guessing = start_guessing(all_number['min_number'], 
	all_number['max_number'])


#loop for running program
active = True
while active:

	print("\nMin number is: {}".format(all_number['min_number']) + 
		" and the Max number is: {}".format(all_number['max_number'] 
			- 1))
	print("is the number: " + str(my_guessing) + " ?")

	your_guess = input()

	if your_guess.lower() == "lower":
		all_number['max_number'] = my_guessing

	if your_guess.lower() == "higher":
		all_number['min_number'] = my_guessing

	if your_guess.lower() == "stop":
		break

	if your_guess.lower() == "save":
		savejson_number()
		print("Saved!")

	if your_guess.lower() == "reset":
		all_number['check_number'] = []
		all_number['min_number'] = 0
		all_number['max_number'] = 10000
		savejson_number()
		print("Reset!")

	if your_guess.lower() == "":
		my_guessing = start_guessing(all_number['min_number'], 
			all_number['max_number'])

	else:
		None
with this, it take me 1,5 hours to crack the safe. next task is to made this program can guess more accurate to cut down waiting time Big Grin

Just so you are aware this is against the user agreement for the game, it falls under the scripting and cheating category and can get you permanently banned from the game. - A player of Gangster Nation Naughty
Reply


Messages In This Thread
crack the safe - Gangster Nation - by asiaphone12 - May-08-2020, 06:40 AM
RE: crack the safe - Gangster Nation - by buran - May-20-2020, 03:44 PM
RE: crack the safe - Gangster Nation - by sunflowerjuice - Nov-05-2020, 01:27 PM

Forum Jump:

User Panel Messages

Announcements
Announcement #1 8/1/2020
Announcement #2 8/2/2020
Announcement #3 8/6/2020