1

I'm in the middle of making a small game involving hacking into people's computers, and stealing files and money in order to complete missions. Here is the code as of now:

#SICCr4k2: Broke
#
#
#
#Remember whenever you are printing a random ip address to add the "." in between each part of the ip (each random number)

## LAST LEFT ON HERE: MAKE BUTTONS FOR NODES
## MAKE FILES FOR NULL'S NODE
## SET THE CORRECT PLACEMENTS FOR ALL THE BUTTONS
## nullMain referenced before assignment
## make it so that you send a message through the prompt to get their ip, then it automatically puts the ip in the nodes
## window. Like you send the person a message, and then it gets the ip and puts it in the nodes window
## take away the buttons in the nodes window, just at labels where it points to the host's ip address.

import random
import time
import sys
import os
import tkinter as tk
from tkinter import *

#def nodes():
#   nodeWindow = tk.Tk()
#   frame = tk.Frame(nodeWindow, width=700, height=400)
#   frame.grid_propagate(0)
#   frame.grid()
#   nodeWindow.title("||| Nodes |||")
#   nullIp = tk.Label(nodeWindow, text="Ip: 221.153.52.216")
#   nullIp.grid(row=0, column=0)
#   nullMain = tk.Button(nodeWindow, text="Null", function=nullMainCallback())
#   nullMain.config(height=1, width=100)
#   nullMain.grid(row=0, column=0)
#   def nullMainCallback():
#       nullMain.destroy()
#       nullIp = tk.Label(nodeWindow, text="Ip: 221.153.52.216")
#       nullIp.grid(row=0, column=0)
#def commands():
def numbers():
    number1 = random.randint(1, 99)
    number2 = random.randint(1, 99)
    print(number1)
    if number1 != number2:
        numbers()
    if number1 == number2:
        os.system('cls')

def ips():
    nullIp = ('18.279.332')

def getIp():
    x = random.randint(1, 222)
    if x == 127:
        x += 1
    return '{}.{}.{}.{}'.format(
        x,
    random.randint(0, 255),
    random.randint(0, 255),
    random.randint(0, 255))

def commandInput():
    CommandInput = input(">>> ")
    if CommandInput == ("myNodes()"):
        nodes()
    else:
        commandInput()
    commandInput()

def usernameCreation():
    username = input(">>> ")
    print("'" + username + "' is that correct?")
    usernameInput = input(">>> ")
    if usernameInput == ("yes"):
        print("Okay...")
    if usernameInput ==("no"):
        usernameCreation()

def game():
    def tutorial():
        print('Hello.')
        time.sleep(3)
        print('Welcome back.')
        time.sleep(3)
        print('How was it?')
        time.sleep(3)
        print('Being hacked for the first time?')
        time.sleep(3)
        print("You're probably wondering who I am.")
        time.sleep(5)
        print("Well, my name is Null.")
        time.sleep(3)
        print("Only because I am well known for nothing.")
        time.sleep(3)
        print("Other than not being alive.")
        time.sleep(3)
        os.system('cls')
        print("First thing's first, what shall I call you?")
        usernameCreation()
        print("Let's give you a bit of movement.")
        time.sleep(3)
        print("""The first thing you will want to do would be to connect to my computer, but
to do that, you have to find my ip address. Here. I just uploaded new software to your computer.""")
        time.sleep(3)
        print("""You will now be able to access my ip, nad many other's with a simple command. The command is
getIp(). Input that command below, but inside the parenthesis, you type in the screen name. For instance: getIp(Null).
type that command in to get my ip.""")
        input(">>> ")
        if ("getIp(Null)"):
            numbers()
            print("""My ip was just added to your nodes, which you can access by typing myNodes().""")
game()

I just want to note that when I run the program, it doesn't list any errors or anything, it just doesn't execute at all... Any ideas????

1

2 Answers 2

3

You define the function tutorial inside game (which you shouldn't really do – there's no point in defining it that way) but never call tutorial.

Inside of game you want to call tutorial:

def game():
    def tutorial():
        # code for tutorial
    tutorial()

A better way to structure your code, however, is to use a main method (which is the standard way to start the execution of a program` and keep every other function separate. There's no need to nest functions as you've done.

So, for example:

def main():
    tutorial()

# all other function definitions

def tutorial():
    # code for tutorial

if __name__ == "__main__":
    main()
Sign up to request clarification or add additional context in comments.

Comments

1

You never call tutorial() although you shouldn't nest functions like this.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.