2016-05-15 34 views
1

我正在制作一个小游戏,涉及黑客进入人们的电脑,窃取文件和金钱以完成任务。这里是代码的现在:Python程序将不会执行

#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() 

我只是想指出的是,当我运行程序,它并没有列出任何错误或任何东西,它只是不执行在所有...任何想法????

+0

提示:让您的问题标题更具描述性,并提供[mcve] –

回答

3

您可以在game中定义函数tutorial(您不应该这样做 - 这样定义没有意义),但从来不会调用tutorial

game里面你要拨打tutorial

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

一种更好的方式来构建你的代码,但是,是使用main方法(这是启动program`执行的标准方法并保持所有其他功能的单独有没有必要嵌套函数为你做

因此,例如:。

def main(): 
    tutorial() 

# all other function definitions 

def tutorial(): 
    # code for tutorial 

if __name__ == "__main__": 
    main() 
1

你永远不会打电话tutorial(),虽然你不应该这样嵌套功能。