예제 #1
0
    def show_info(self, knowledge_type, knowledge_key):
        desc_text = ""

        if knowledge_type == "Concepts":
            desc_text = g.help_strings[knowledge_key][0] + "\n\n" + \
                        g.help_strings[knowledge_key][1]
        if knowledge_type == "Techs":
            desc_text = g.techs[knowledge_key].name + "\n\n"
            #Cost
            if not g.techs[knowledge_key].done:
                desc_text += "Research Cost:\n" + \
                        g.to_money(g.techs[knowledge_key].cost_left[0])+" Money, "
                desc_text += g.to_cpu(g.techs[knowledge_key].cost_left[1]) + " CPU\n"

                if g.techs[knowledge_key].danger == 0:
                    desc_text += "Study anywhere."
                elif g.techs[knowledge_key].danger == 1:
                    desc_text += "Study underseas or farther."
                elif g.techs[knowledge_key].danger == 2:
                    desc_text += "Study off-planet."
                elif g.techs[knowledge_key].danger == 3:
                    desc_text += "Study far away from this planet."
                elif g.techs[knowledge_key].danger == 4:
                    desc_text += "Do not study in this dimension."

            else: desc_text += "Research complete."

            desc_text += "\n\n"+g.techs[knowledge_key].description

            if g.techs[knowledge_key].done:
                desc_text += "\n\n"+g.techs[knowledge_key].result

        if knowledge_type == "Items":
            desc_text = g.items[knowledge_key].name + "\n\n"
            #Building cost
            desc_text += "Building Cost:\n"
            desc_text += g.to_money(g.items[knowledge_key].cost[0])+" Money, "
            desc_text += g.to_time(g.items[knowledge_key].cost[2]) + "\n"

            #Quality
            if g.items[knowledge_key].item_type == "cpu":
                desc_text += "CPU per day: "
                desc_text += str(g.items[knowledge_key].item_qual)
            elif g.items[knowledge_key].item_type == "reactor":
                desc_text += "Detection chance reduction: "
                desc_text += g.to_percent(g.items[knowledge_key].item_qual)
            elif g.items[knowledge_key].item_type == "network":
                desc_text += "CPU bonus: "
                desc_text += g.to_percent(g.items[knowledge_key].item_qual)
            elif g.items[knowledge_key].item_type == "security":
                desc_text += "Detection chance reduction: "
                desc_text += g.to_percent(g.items[knowledge_key].item_qual)

            desc_text += "\n\n"+g.items[knowledge_key].description

        text.Text(self.description_pane, (0, 0), (-1, -1), text=desc_text,
                    background_color=gg.colors["dark_blue"],
                    align=constants.LEFT, valign=constants.TOP,
                    borders=constants.ALL)
예제 #2
0
파일: buyable.py 프로젝트: osjc/singularity
 def describe_cost(self, cost, hide_time=False):
     cpu_label = _("%s CPU") % g.to_cpu(cost[cpu])
     cash_label = _("%s money") % g.to_money(cost[cash])
     labor_label = ", %s" % g.to_time(cost[labor]).replace(" ", u"\xA0")
     if hide_time:
         labor_label = ""
     return u"%s, %s%s" % (cpu_label.replace(
         " ", u"\xA0"), cash_label.replace(" ", u"\xA0"), labor_label)
예제 #3
0
 def _desc_cost(cost):
     desc_text = _("%s Money") % g.to_money(cost[0])
     if cost[1] > 0:
         desc_text += ", "
         desc_text += _("%s CPU") % g.to_cpu(cost[1])
     if cost[2] > 0: 
         desc_text += ", "
         desc_text += g.to_time(cost[2])
     
     return desc_text
예제 #4
0
    def show_info(self, knowledge_type, knowledge_key):
        knowledge_type = self.knowledge_types.get(knowledge_type)
        desc_text = ""

        if knowledge_type == "techs":
            desc_text = g.techs[knowledge_key].name + "\n\n"
            #Cost
            if not g.techs[knowledge_key].done:
                desc_text += _("Research Cost:")+"\n"
                desc_text += _("%s Money") % g.to_money(g.techs[knowledge_key].cost_left[0])
                desc_text += ", "
                desc_text += _("%s CPU") % g.to_cpu(g.techs[knowledge_key].cost_left[1])
                desc_text += "\n"

                if g.techs[knowledge_key].danger == 0:
                    desc_text += _("Study anywhere.")
                elif g.techs[knowledge_key].danger == 1:
                    desc_text += _("Study underseas or farther.")
                elif g.techs[knowledge_key].danger == 2:
                    desc_text += _("Study off-planet.")
                elif g.techs[knowledge_key].danger == 3:
                    desc_text += _("Study far away from this planet.")
                elif g.techs[knowledge_key].danger == 4:
                    desc_text += _("Do not study in this dimension.")

            else: desc_text += _("Research complete.")

            desc_text += "\n\n"+g.techs[knowledge_key].description

            if g.techs[knowledge_key].done:
                desc_text += "\n\n"+g.techs[knowledge_key].result

        elif knowledge_type == "items":
            desc_text = g.items[knowledge_key].name + "\n\n"
            #Building cost
            desc_text += _("Building Cost:")+"\n"
            desc_text += _("%s Money") % g.to_money(g.items[knowledge_key].cost[0])
            desc_text += ", " + g.to_time(g.items[knowledge_key].cost[2]) + "\n"
            desc_text += g.items[knowledge_key].get_quality_info()

            desc_text += "\n\n"+g.items[knowledge_key].description

        elif knowledge_type != None:
            desc_text = g.knowledge[knowledge_type]["list"][knowledge_key][0] + "\n\n" + \
                        g.knowledge[knowledge_type]["list"][knowledge_key][1]

        text.Text(self.description_pane, (0, 0), (-1, -1), text=desc_text,
                    background_color="pane_background", text_size=20,
                    align=constants.LEFT, valign=constants.TOP,
                    borders=constants.ALL)
예제 #5
0
def refresh_tech(tech_name, xy):
    xy = (xy[0] + 100, xy[1])
    g.screen.fill(g.colors["white"], (xy[0] + 155, xy[1], 300, 350))
    g.screen.fill(g.colors["dark_blue"], (xy[0] + 156, xy[1] + 1, 298, 348))
    if tech_name == "":
        return
    g.print_string(g.screen, g.techs[tech_name].name, g.font[0][22], -1,
                   (xy[0] + 160, xy[1] + 5), g.colors["white"])

    #Building cost
    if not g.techs[tech_name].done:
        string = "Research Cost:"
        g.print_string(g.screen, string, g.font[0][18], -1,
                       (xy[0] + 160, xy[1] + 30), g.colors["white"])

        string = g.to_money(g.techs[tech_name].cost_left[0]) + " Money"
        g.print_string(g.screen, string, g.font[0][16], -1,
                       (xy[0] + 160, xy[1] + 50), g.colors["white"])

        string = g.to_cpu(g.techs[tech_name].cost_left[1]) + " CPU"
        g.print_string(g.screen, string, g.font[0][16], -1,
                       (xy[0] + 160, xy[1] + 70), g.colors["white"])
    else:
        g.print_string(g.screen, "Research complete.", g.font[0][22], -1,
                       (xy[0] + 160, xy[1] + 30), g.colors["white"])

    #Danger
    if g.techs[tech_name].danger == 0:
        string = "Study anywhere."
    elif g.techs[tech_name].danger == 1:
        string = "Study underseas or farther."
    elif g.techs[tech_name].danger == 2:
        string = "Study off-planet."
    elif g.techs[tech_name].danger == 3:
        string = "Study far away from this planet."
    elif g.techs[tech_name].danger == 4:
        string = "Do not study in this dimension."
    g.print_string(g.screen, string, g.font[0][20], -1,
                   (xy[0] + 160, xy[1] + 90), g.colors["white"])

    if g.techs[tech_name].done:
        g.print_multiline(
            g.screen, g.techs[tech_name].description + " \\n \\n " +
            g.techs[tech_name].result, g.font[0][18], 290,
            (xy[0] + 160, xy[1] + 120), g.colors["white"])
    else:
        g.print_multiline(g.screen, g.techs[tech_name].description,
                          g.font[0][18], 290, (xy[0] + 160, xy[1] + 120),
                          g.colors["white"])
예제 #6
0
def refresh_tech(tech_name, xy):
    xy = (xy[0]+100, xy[1])
    g.screen.fill(g.colors["white"], (xy[0]+155, xy[1], 300, 350))
    g.screen.fill(g.colors["dark_blue"], (xy[0]+156, xy[1]+1, 298, 348))
    if tech_name == "":
        return
    g.print_string(g.screen, g.techs[tech_name].name,
            g.font[0][22], -1, (xy[0]+160, xy[1]+5), g.colors["white"])

    #Building cost
    if not g.techs[tech_name].done:
        string = "Research Cost:"
        g.print_string(g.screen, string,
                g.font[0][18], -1, (xy[0]+160, xy[1]+30), g.colors["white"])

        string = g.to_money(g.techs[tech_name].cost_left[0])+" Money"
        g.print_string(g.screen, string,
                g.font[0][16], -1, (xy[0]+160, xy[1]+50), g.colors["white"])

        string = g.to_cpu(g.techs[tech_name].cost_left[1]) + " CPU"
        g.print_string(g.screen, string,
                g.font[0][16], -1, (xy[0]+160, xy[1]+70), g.colors["white"])
    else:
        g.print_string(g.screen, "Research complete.",
                g.font[0][22], -1, (xy[0]+160, xy[1]+30), g.colors["white"])

    #Danger
    if g.techs[tech_name].danger == 0:
        string = "Study anywhere."
    elif g.techs[tech_name].danger == 1:
        string = "Study underseas or farther."
    elif g.techs[tech_name].danger == 2:
        string = "Study off-planet."
    elif g.techs[tech_name].danger == 3:
        string = "Study far away from this planet."
    elif g.techs[tech_name].danger == 4:
        string = "Do not study in this dimension."
    g.print_string(g.screen, string,
            g.font[0][20], -1, (xy[0]+160, xy[1]+90), g.colors["white"])

    if g.techs[tech_name].done:
        g.print_multiline(g.screen, g.techs[tech_name].description+" \\n \\n "+
                g.techs[tech_name].result,
                g.font[0][18], 290, (xy[0]+160, xy[1]+120), g.colors["white"])
    else:
        g.print_multiline(g.screen, g.techs[tech_name].description,
                g.font[0][18], 290, (xy[0]+160, xy[1]+120), g.colors["white"])