2016-05-15 64 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(),雖然你不應該這樣嵌套功能。