示例#1
0
class WindowClass(QMainWindow, form_class) :
    Home = place("집",[])
    StrFlag = strFlag.NONE
    SceneFlag = sceneFlag.START
    lastStr = "None"
    UnitList = []
    PlaceList = []

    player = unit("???", 120, 20, 20, Home, None)
    enemy = unit("ㅏㅏㅏ", 120, 20, 2, Home, None)

    def __init__(self) :
        super().__init__()
        self.setupUi(self)
        #self.btn_1.clicked.connect(self.button1Function)
        #self.btn_2.clicked.connect(self.button2Function)
        self.btn_clear.clicked.connect(self.mainTextBrowser.clear)
        self.mainLineEdit.returnPressed.connect(self.enterString)
        self.tabRefrash()
        Char_gen.charGenWindow(self)
        self.player.Window = self
        self.enemy.Window = self
        self.t = threading.Thread(target = self.gameLoop)
        self.t.daemon = True
        self.t.start()

        self.PlaceList,self.UnitList = saveAndLoad.load('C:/Users/rlawn/PycharmProject/NewGame/Savefile_example', None)
        saveAndLoad.save('C:/Users/rlawn/OneDrive/바탕 화면/원샷', self)

    def enterString(self): # 입력
        text = self.mainLineEdit.text()
        if text != "":
            self.lastStr = text
            self.appendString(text,self.player.Name)
            self.mainLineEdit.clear()

    def appendString(self,text, *speaker): #말하기
        if speaker == ():
            speaker = ("System",)
        speakers = ""
        for i in range(len(speaker)):
            speakers += str(speaker[i])
            if i != len(speaker)-1:
                speakers += ","
        self.mainTextBrowser.append(speakers + " : " + str(text))

    def tabRefrash(self):
        self.text_name.setText(self.player.Name)
        self.text_hp.setText(str(self.player.HP))
        self.text_atk.setText(str(self.player.Atk))
        self.text_place.setText(str(self.player.Place))
        self.text_def.setText(str(self.player.Def))

    def gameLoop(self):
        done = False

        while not done:
            if  time.time() - int(time.time()) < 0.005:

                time.sleep(0.005)
    def genUnits(self, cardGenerator, unitList):

        #Kører igennem unitList'en én linje ad gangen og genererer et kort for hver linje med cardGen
        for x, line in enumerate(unitList, 1):
            fileNumber = x
            split = line.split(", ")
            newUnit = unit(split[0], split[1], Image.open(split[2]), split[3],
                           split[4])
            self.units.append(newUnit)
            cardGenerator.createCard(newUnit, x)
class unitGenerator():

    unitList = open('unitList.txt', 'r')
    units = [unit(1, 1, '', "", 0)] * 0

    def __init__(self):
        self.unitList = open('unitList.txt', 'r')

    def getUnits(self):
        return self.units

    #Genererer units ved hjælp af et cardGenerator objekt og en unitList (en .txt-fil).
    def genUnits(self, cardGenerator, unitList):

        #Kører igennem unitList'en én linje ad gangen og genererer et kort for hver linje med cardGen
        for x, line in enumerate(unitList, 1):
            fileNumber = x
            split = line.split(", ")
            newUnit = unit(split[0], split[1], Image.open(split[2]), split[3],
                           split[4])
            self.units.append(newUnit)
            cardGenerator.createCard(newUnit, x)
img = Image.open("UnitsJacob/Placeholder.png")
img = img.resize((100, 100))
phImg = ImageTk.PhotoImage(
    img)  # Photoimage er nødvnedigt for at bruge det til knapper og labels

images = [
    Image.open("Warrior.png"),
    Image.open("UnitsJacob/Ninja.png"),
    Image.open("UnitsJacob/Chad.png")
]

img2 = img.resize((25, 100))
my_img2 = ImageTk.PhotoImage(img2)

unitList = [unit(1, 1, images[0], "")] * 0  #Liste over units på venstre side
teamList = [unit(3, 3, images[0], "")] * 0  #Liste over units på højre side

unitList = [
    unit(2, 1, images[0], ""),
    unit(1, 5, images[1], ""),
    unit(10, 2, images[2], ""),
]

row1 = 5  #Rækker af felter der skal laves
col1 = 5  #Kolonner i første antal felter (Unit Listen)
col2 = 1  #Kolonner i anden række (der skiller units og team)
col3 = col1 + col2 + 1  #Kolonner i sidste antal felter (team listen)

sortStr = ["Most Power", "Least Power", "Biggest Cost", "Smallest Cost"]
curSortNum = len(
import cv2 as cv
import numpy as np
from Unit import unit
textImg = np.zeros((500,500,3), np.uint8)
textImg[:,200:500:] = (255,255,255)
font = cv.FONT_HERSHEY_SIMPLEX
#Instantiation af unit object
q = unit(20, 200, cv.imread('icons\kinatestNEW.png'))

#Fastlægger icon og template
icon = q.icon
template = cv.imread('icons\wemplateNEWEST.png')

#Kombinerer template med icon

card = template+icon



#Opretter nyt billede
newCard = cv.imwrite('cards\card00.png.png', card)

#Det virker ikke
#textCard = cv.putText(newCard, 'stfu?', (200,200), 1, 200, 0)
cv.putText(textImg,'Hack Projects',(0,50), font, 1,(0,0,0),3)
#Debugging
cv.imshow('combined', card)
cv.imshow('gaming', q.getIcon())
cv.imshow('text', template)
#Det gør det ikke
#cv.imshow('virker det?', textCard)
示例#6
0
def generateData(graph):
    nodeList = {}

    #parameters used to generate each variable
    Cscale = [[1.5, 3], [6, 2], [.8, .8]]
    Uscale = [[2.3, 1.1], [.9, 1.1], [2, 2]]
    tauA = {
        'intcp': -1,
        'C0': .5,
        'C1': .2,
        'C2': .25,
        'U0': .3,
        'U1': -.2,
        'U2': .25
    }
    tauM = {
        'intcp': -1,
        'C0': -.3,
        'C1': .4,
        'C2': .1,
        'A': 1,
        'nborA': -.5,
        'nborM': -1.5
    }  #nborM 1.5
    tauY = {
        'intcp': -.3,
        'nborA': -1,
        'M': 3,
        'C0': -.2,
        'C1': .2,
        'C2': -.05,
        'U0': .1,
        'U1': -.2,
        'U2': .25
    }

    #initialize each node
    #C, U (each three-dimensional) are drawn from Beta distributions
    #A is a function of C and U
    for node in graph.adj:
        nodeList[node] = unit(np.zeros(3), np.zeros(3), graph.adj[node])
        for i in range(len(Cscale)):
            nodeList[node].C[i] = np.random.beta(Cscale[i][0], Cscale[i][1])
            nodeList[node].U[i] = np.random.beta(Uscale[i][0], Uscale[i][1])
        sumA = tauA['intcp'] + (tauA['C0'] * nodeList[node].C[0]) + (
            tauA['C1'] * nodeList[node].C[1])
        sumA += (tauA['C2'] * nodeList[node].C[2]) + (
            tauA['U0'] * nodeList[node].U[0]) + (tauA['U1'] *
                                                 nodeList[node].U[1])
        sumA += (tauA['U2'] * nodeList[node].U[2])
        nodeList[node].A = np.random.binomial(1, expit(sumA))

    #use Gibbs sampling to obtain M's for network
    M = np.random.binomial(1, .5, (1001, len(nodeList)))  #Markov chain for M's
    M = Gibbs(1000, M, tauM, nodeList)
    M = M[1000]

    #Y is a function of it's parent M, its neighbor's A's, and its U
    for node in nodeList:
        nodeList[node].M = M[node]
        sumY = tauY['intcp'] + (tauY['M'] * nodeList[node].M) + (
            tauY['C0'] * nodeList[node].C[0])
        sumY += (tauY['C1'] * nodeList[node].C[1]) + (
            tauY['C2'] * nodeList[node].C[2]) + (tauY['U0'] *
                                                 nodeList[node].U[0])
        sumY += (tauY['U1'] * nodeList[node].U[1]) + (tauY['U2'] *
                                                      nodeList[node].U[2])
        for nbor in nodeList[node].adj:
            sumY += (tauY['nborA'] * nodeList[nbor].A)
        nodeList[node].Y = np.random.binomial(1, expit(sumY))

    return nodeList