コード例 #1
0
def moveWastetoFoundationVacio(card, Foundation):
    if card.getRank() == 1:
        card.setFace_Up()
        Foundation.setCardF(card, 0)
        deck.give_topcard()
        Foundation.setA()

    else:
        print("NO SE PUEDE")
コード例 #2
0
    def __init__(self, collectionName):

        client = MongoClient()
        db = client.TheOrangeAllianceTest
        collection = eval("db." + collectionName)

        foundation = Foundation(collectionName, "rainbow")

        totalMatchNumbers = foundation.TotalMatches()

        oprInstance = Opr(collectionName)
        oprScore = oprInstance.getOprArray()

        rows = totalMatchNumbers * 4
        columns = 16
        matchHistoryTable = [["" for x in range(columns)] for y in range(rows)]

        self.matchNumber(rows, matchHistoryTable)
        self.alliance(rows, matchHistoryTable)
        self.cursor = collection.find({
            'MetaData.MetaData': 'ScheduleInput',
            "MetaData.InputID": "rainbow"
        })
        self.teamNumber(rows, matchHistoryTable)
        self.teamName(rows, matchHistoryTable)
        self.cursor = collection.find({
            'MetaData.MetaData': 'ScheduleInput',
            "MetaData.InputID": "rainbow"
        })
        self.opr(rows, matchHistoryTable, oprScore)
        self.cursor = collection.find({
            'MetaData.MetaData': 'ResultsInput',
            "MetaData.InputID": "rainbow"
        })
        self.result(rows, matchHistoryTable)
        self.cursor = collection.find({
            'MetaData.MetaData': 'MatchInput',
            "MetaData.InputID": "rainbow"
        })
        self.rpData(rows, matchHistoryTable)
        self.rp(rows, matchHistoryTable)
        self.translate(rows, matchHistoryTable)
        #self.printMatchHistory(rows, columns, matchHistoryTable)

        collection.delete_many({"MetaData.MetaData": "MatchOutput"})

        finalDictionary = {}
        finalDictionary["MetaData"] = {}
        finalDictionary["MetaData"]["MetaData"] = "MatchOutput"
        finalDictionary["MetaData"]["TimeStamp"] = "anytime"
        finalDictionary["MetaData"]["InputID"] = "rainbow"
        finalDictionary["MatchHistory"] = matchHistoryTable
        collection.insert_one(finalDictionary)


#test = MatchOutput("Y201702052")
コード例 #3
0
def moveWastetoFoundation(card1, card2, Foundation):
    if card1.getRank() == card2.getRank() + 1:

        card1.setFace_Up()
        Foundation.setTopCardF(card1)
        deck.give_topcard()
        Foundation.plusCardCounter()

        # Waste to Foundation +10 points
        global score
        score += 10
        print("Waste to Foundation +10 points")

    else:
        print("NO SE PUEDE")
コード例 #4
0
    def __init__(self, collectionName):

        client = MongoClient()
        db = client.TheOrangeAllianceTest
        collection = eval("db." + collectionName)

        foundation = Foundation(collectionName, "rainbow")
        teamList = foundation.UniqueTeamList()

        oprInstance = Opr(collectionName)
        oprScore = oprInstance.getOprArray()

        rows = len(teamList)

        columns = 7

        rankingsTable = [[0 for x in range(columns)] for y in range(rows)]

        print 'Unique team list: '
        pprint(teamList)
        self.teamNumbers(rows, rankingsTable, teamList)
        self.teamName(rows, rankingsTable, teamList)
        self.cursor = collection.find({
            'MetaData.MetaData': 'ScheduleInput',
            "MetaData.InputID": "rainbow"
        })
        matchesThatTeamPlayedAndAlliance = self.WhichMatchesDidThatTeamPlayAndWhatAllaince(
            teamList)
        self.cursor = collection.find({
            'MetaData.MetaData': 'ResultsInput',
            "MetaData.InputID": "rainbow"
        })
        self.QPAndRPAndRecord(rows, rankingsTable, teamList,
                              matchesThatTeamPlayedAndAlliance)
        self.OPR(rows, rankingsTable, teamList, oprScore)
        self.addRP(rows, rankingsTable, teamList)
        self.ranking(rows, rankingsTable, teamList)
        self.printRankings(rows, columns, rankingsTable)

        collection.delete_many({"MetaData.MetaData": "RankingsOutput"})

        finalDictionary = {}
        finalDictionary["MetaData"] = {}
        finalDictionary["MetaData"]["MetaData"] = "RankingsOutput"
        finalDictionary["MetaData"]["TimeStamp"] = "anytime"
        finalDictionary["MetaData"]["InputID"] = "rainbow"
        finalDictionary["Rankings"] = rankingsTable
        collection.insert_one(finalDictionary)
コード例 #5
0
    def __init__(self, collectionName):

        client = MongoClient()
        db = client.TheOrangeAlliance
        collection = eval("db." + collectionName)

        foundation = Foundation(collectionName)
        teamList = foundation.UniqueTeamList()
        matchesThatTeamPlayedAndAlliance = foundation.WhichMatchesDidThatTeamPlayAndWhatAllaince(
            teamList, collectionName)

        finalDictionary = {}
        finalDictionary["MetaData"] = {}
        finalDictionary["MetaData"]["MetaData"] = "MatchData"
        finalDictionary["MetaData"]["TimeStamp"] = 7
        finalDictionary["MetaData"]["DatePlace"] = collectionName
        finalDictionary["MetaData"]["InputID"] = "Data"
        finalDictionary["MatchHistory"] = {}

        for team in teamList:
            tempBlue = matchesThatTeamPlayedAndAlliance[team]["Blue"]
            tempRed = matchesThatTeamPlayedAndAlliance[team]["Red"]
            finalDictionary["MatchHistory"]["" + str(team)] = {}
            for i in range(0, len(tempBlue)):
                finalDictionary["MatchHistory"]["" + str(team)][
                    "MatchNumber" + str(tempBlue[i])] = {}
            for i in range(0, len(tempBlue)):
                finalDictionary["MatchHistory"]["" + str(team)][
                    "MatchNumber" + str(tempBlue[i])]["AllianceBlue"] = {}
            for i in range(0, len(tempBlue)):
                finalDictionary["MatchHistory"]["" + str(team)][
                    "MatchNumber" +
                    str(tempBlue[i])]["AllianceBlue"]["TeamNumber"] = team
            for i in range(0, len(tempBlue)):
                finalDictionary["MatchHistory"]["" + str(team)][
                    "MatchNumber" +
                    str(tempBlue[i]
                        )]["AllianceBlue"]["MatchNumber"] = tempBlue[i]
            for i in range(0, len(tempBlue)):
                finalDictionary["MatchHistory"]["" + str(team)][
                    "MatchNumber" +
                    str(tempBlue[i])]["AllianceBlue"]["Alliance"] = "Blue"
            for matchNumber in tempBlue:
                cursorResults = collection.find({
                    'MetaData.MetaData':
                    'ResultsInput',
                    "ResultsInformation.MatchNumber":
                    matchNumber
                })
                for documentResults in cursorResults:
                    finalDictionary["MatchHistory"]["" + str(team)][
                        "MatchNumber" +
                        str(matchNumber
                            )]["AllianceBlue"]["ResultRed"] = documentResults[
                                "Score"]["Total"]["Red"]
                    finalDictionary["MatchHistory"]["" + str(team)][
                        "MatchNumber" +
                        str(matchNumber
                            )]["AllianceBlue"]["ResultBlue"] = documentResults[
                                "Score"]["Total"]["Blue"]
            for i in range(0, len(tempBlue)):
                finalDictionary["MatchHistory"]["" + str(team)][
                    "MatchNumber" +
                    str(tempBlue[i])]["AllianceBlue"]["AUTO"] = {}
            for i in range(0, len(tempBlue)):
                finalDictionary["MatchHistory"]["" + str(team)][
                    "MatchNumber" +
                    str(tempBlue[i])]["AllianceBlue"]["DRIVER"] = {}
            for i in range(0, len(tempBlue)):
                finalDictionary["MatchHistory"]["" + str(team)][
                    "MatchNumber" +
                    str(tempBlue[i])]["AllianceBlue"]["END"] = {}
            for matchNumber in tempBlue:
                cursorResults = collection.find({
                    'MetaData.MetaData':
                    'MatchInput',
                    "MatchInformation.MatchNumber":
                    matchNumber,
                    "MatchInformation.TeamNumber":
                    team
                })
                for documentResults in cursorResults:
                    finalDictionary["MatchHistory"]["" + str(team)][
                        "MatchNumber" + str(matchNumber)]["AllianceBlue"][
                            "AUTO"]["Parking"] = documentResults[
                                "GameInformation"]["AUTO"]["RobotParking"]
                    finalDictionary["MatchHistory"]["" + str(team)][
                        "MatchNumber" + str(matchNumber)]["AllianceBlue"][
                            "AUTO"]["CenterParticles"] = documentResults[
                                "GameInformation"]["AUTO"]["ParticlesCenter"]
                    finalDictionary["MatchHistory"]["" + str(team)][
                        "MatchNumber" + str(matchNumber)]["AllianceBlue"][
                            "AUTO"]["CornerParticles"] = documentResults[
                                "GameInformation"]["AUTO"]["ParticlesCenter"]
                    finalDictionary["MatchHistory"]["" + str(team)][
                        "MatchNumber" + str(matchNumber)]["AllianceBlue"][
                            "AUTO"]["CapBall"] = documentResults[
                                "GameInformation"]["AUTO"]["CapBall"]
                    finalDictionary["MatchHistory"]["" + str(team)][
                        "MatchNumber" + str(matchNumber)]["AllianceBlue"][
                            "AUTO"]["Beacons"] = documentResults[
                                "GameInformation"]["AUTO"]["ClaimedBeacons"]
                    finalDictionary["MatchHistory"]["" + str(team)][
                        "MatchNumber" + str(matchNumber)]["AllianceBlue"][
                            "DRIVER"]["CenterParticles"] = documentResults[
                                "GameInformation"]["DRIVER"]["ParticlesCenter"]
                    finalDictionary["MatchHistory"]["" + str(team)][
                        "MatchNumber" + str(matchNumber)]["AllianceBlue"][
                            "DRIVER"]["CornerParticles"] = documentResults[
                                "GameInformation"]["DRIVER"]["ParticlesCorner"]
                    finalDictionary["MatchHistory"]["" + str(team)][
                        "MatchNumber" +
                        str(matchNumber)]["AllianceBlue"]["END"][
                            "Beacons"] = documentResults["GameInformation"][
                                "END"]["AllianceClaimedBeacons"]
                    finalDictionary["MatchHistory"]["" + str(team)][
                        "MatchNumber" + str(matchNumber)]["AllianceBlue"][
                            "END"]["CapBall"] = documentResults[
                                "GameInformation"]["END"]["CapBall"]
            for i in range(0, len(tempRed)):
                finalDictionary["MatchHistory"]["" + str(team)][
                    "MatchNumber" + str(tempRed[i])] = {}
            for i in range(0, len(tempRed)):
                finalDictionary["MatchHistory"]["" + str(team)][
                    "MatchNumber" + str(tempRed[i])]["AllianceRed"] = {}
            for i in range(0, len(tempRed)):
                finalDictionary["MatchHistory"]["" + str(team)][
                    "MatchNumber" +
                    str(tempRed[i])]["AllianceRed"]["TeamNumber"] = team
            for i in range(0, len(tempRed)):
                finalDictionary["MatchHistory"]["" + str(team)][
                    "MatchNumber" +
                    str(tempRed[i])]["AllianceRed"]["MatchNumber"] = tempRed[i]
            for i in range(0, len(tempRed)):
                finalDictionary["MatchHistory"]["" + str(team)][
                    "MatchNumber" +
                    str(tempRed[i])]["AllianceRed"]["Alliance"] = "Red"
            for matchNumber in tempRed:
                cursorResults = collection.find({
                    'MetaData.MetaData':
                    'ResultInput',
                    "ResultsInformation.MatchNumber":
                    matchNumber
                })
                for documentResults in cursorResults:
                    finalDictionary["MatchHistory"]["" + str(team)][
                        "MatchNumber" +
                        str(matchNumber
                            )]["AllianceRed"]["ResultRed"] = documentResults[
                                "Score"]["Total"]["Red"]
                    finalDictionary["MatchHistory"]["" + str(team)][
                        "MatchNumber" +
                        str(matchNumber
                            )]["AllianceRed"]["ResultBlue"] = documentResults[
                                "Score"]["Total"]["Blue"]
            for i in range(0, len(tempRed)):
                finalDictionary["MatchHistory"]["" + str(team)][
                    "MatchNumber" +
                    str(tempRed[i])]["AllianceRed"]["AUTO"] = {}
            for i in range(0, len(tempRed)):
                finalDictionary["MatchHistory"]["" + str(team)][
                    "MatchNumber" +
                    str(tempRed[i])]["AllianceRed"]["DRIVER"] = {}
            for i in range(0, len(tempRed)):
                finalDictionary["MatchHistory"]["" + str(team)][
                    "MatchNumber" +
                    str(tempRed[i])]["AllianceRed"]["END"] = {}
            for matchNumber in tempRed:
                cursorResults = collection.find({
                    'MetaData.MetaData':
                    'MatchInput',
                    "MatchInformation.MatchNumber":
                    matchNumber,
                    "MatchInformation.TeamNumber":
                    team
                })
                for documentResults in cursorResults:
                    finalDictionary["MatchHistory"]["" + str(team)][
                        "MatchNumber" + str(matchNumber)]["AllianceRed"][
                            "AUTO"]["Parking"] = documentResults[
                                "GameInformation"]["AUTO"]["RobotParking"]
                    finalDictionary["MatchHistory"]["" + str(team)][
                        "MatchNumber" + str(matchNumber)]["AllianceRed"][
                            "AUTO"]["CenterParticles"] = documentResults[
                                "GameInformation"]["AUTO"]["ParticlesCenter"]
                    finalDictionary["MatchHistory"]["" + str(team)][
                        "MatchNumber" + str(matchNumber)]["AllianceRed"][
                            "AUTO"]["CornerParticles"] = documentResults[
                                "GameInformation"]["AUTO"]["ParticlesCenter"]
                    finalDictionary["MatchHistory"]["" + str(team)][
                        "MatchNumber" + str(matchNumber)]["AllianceRed"][
                            "AUTO"]["CapBall"] = documentResults[
                                "GameInformation"]["AUTO"]["CapBall"]
                    finalDictionary["MatchHistory"]["" + str(team)][
                        "MatchNumber" + str(matchNumber)]["AllianceRed"][
                            "AUTO"]["Beacons"] = documentResults[
                                "GameInformation"]["AUTO"]["ClaimedBeacons"]
                    finalDictionary["MatchHistory"]["" + str(team)][
                        "MatchNumber" + str(matchNumber)]["AllianceRed"][
                            "DRIVER"]["CenterParticles"] = documentResults[
                                "GameInformation"]["DRIVER"]["ParticlesCenter"]
                    finalDictionary["MatchHistory"]["" + str(team)][
                        "MatchNumber" + str(matchNumber)]["AllianceRed"][
                            "DRIVER"]["CornerParticles"] = documentResults[
                                "GameInformation"]["DRIVER"]["ParticlesCorner"]
                    finalDictionary["MatchHistory"]["" + str(team)][
                        "MatchNumber" +
                        str(matchNumber)]["AllianceRed"]["END"][
                            "Beacons"] = documentResults["GameInformation"][
                                "END"]["AllianceClaimedBeacons"]
                    finalDictionary["MatchHistory"]["" + str(team)][
                        "MatchNumber" + str(matchNumber)]["AllianceRed"][
                            "END"]["CapBall"] = documentResults[
                                "GameInformation"]["END"]["CapBall"]

        collection.delete_many({"MetaData.MetaData": "MatchData"})
        collection.insert_one(finalDictionary)


#test = MatchData("Y201702255")
コード例 #6
0
	def __init__(self, collectionName):
	
		client = MongoClient()
		db = client.TheOrangeAlliance
		collection = eval("db."+collectionName)

		foundation = Foundation(collectionName)
		teamList = foundation.UniqueTeamList()
		matchesThatTeamPlayedAndAlliance = foundation.WhichMatchesDidThatTeamPlayAndWhatAllaince(teamList, collectionName)
		
		self.cursor = collection.find({'MetaData.MetaData' : 'ResultsInput'})
		
		finalDictionary = {}
		finalDictionary["MetaData"] = {}
		finalDictionary["MetaData"]["MetaData"] = "RankingsData"
		finalDictionary["MetaData"]["TimeStamp"] = "anytime"
		finalDictionary["MetaData"]["DatePlace"] = collectionName
		finalDictionary["MetaData"]["InputID"] = "8"
		finalDictionary["Rankings"] = {}
		
		for team in teamList:
			finalDictionary["Rankings"][str(team)] = {}
			finalDictionary["Rankings"][str(team)]["TeamNumber"] = team
			tempBlue = matchesThatTeamPlayedAndAlliance[team]["Blue"]
			tempRed = matchesThatTeamPlayedAndAlliance[team]["Red"]
			win = 0
			loss = 0
			tie = 0
			RP = 0
			for matchNumber in tempRed:
				self.cursor = collection.find({'MetaData.MetaData' : 'ResultsInput'})
				for document in self.cursor:
					if document["ResultsInformation"]['MatchNumber'] == matchNumber:
						print(team)
						print("hi")
						if document["ResultsInformation"]['Winner'] == 'Red':
							RP += document['Score']['Total']['Blue']
							win += 1
						elif document["ResultsInformation"]['Winner'] == 'Blue':
							RP += document['Score']['Total']['Red']
							loss += 1
						elif document["ResultsInformation"]['Winner'] == 'Tie':
							RP += document['Score']['Total']['Red']
							tie += 1
						else:
							win += 100000000
			for matchNumber in tempBlue:
				self.cursor = collection.find({'MetaData.MetaData' : 'ResultsInput'})
				for document in self.cursor:
					if document["ResultsInformation"]['MatchNumber'] == matchNumber:
						if document["ResultsInformation"]['Winner'] == 'Blue':
							RP += document['Score']['Total']['Red']
							win += 1
						elif document["ResultsInformation"]['Winner'] == 'Red':
							RP += document['Score']['Total']['Blue']
							loss += 1
						elif document["ResultsInformation"]['Winner'] == 'Tie':
							RP += document['Score']['Total']['Blue']
							tie += 1
						else:
							win += 100000000
			finalDictionary["Rankings"][str(team)]["RecordWin"] = win
			finalDictionary["Rankings"][str(team)]["RecordTie"] = tie
			finalDictionary["Rankings"][str(team)]["RecordLose"] = loss
			finalDictionary["Rankings"][str(team)]["QP"] = win * 2
			finalDictionary["Rankings"][str(team)]["RP"] = RP
			
		tempArray = {}
		count = 0
		for team in teamList:
			tempArray[count] = (finalDictionary["Rankings"][str(team)]["QP"] * 10000) + finalDictionary["Rankings"][str(team)]["RP"]
			count += 1
		print(tempArray)
		for team in teamList:
			teamRank = 1
			for compareTeam in tempArray:
				if team < compareTeam:
					teamRank += 1
			finalDictionary["Rankings"][str(team)]["Rank"] = teamRank
			
		pprint(finalDictionary)
コード例 #7
0
    def __init__(self, collectionName):

        client = MongoClient()
        db = client.TheOrangeAlliance
        collection = eval("db." + collectionName)

        foundation = Foundation(collectionName)
        teamList = foundation.UniqueTeamList()

        cursorRankings = collection.find({'MetaData.MetaData': 'RankingsData'})
        cursorOPRCCWM = collection.find({'MetaData.MetaData': 'OPRCCWMData'})
        cursorStatistics = collection.find(
            {'MetaData.MetaData': 'StatisticsData'})
        cursorAverageScoresData = collection.find(
            {'MetaData.MetaData': 'AverageScoresData'})

        RankingsOutput = {}
        RankingsOutput["MetaData"] = {}
        RankingsOutput["MetaData"]["MetaData"] = "RankingsOutput"
        RankingsOutput["MetaData"]["TimpStamp"] = 7
        RankingsOutput["MetaData"]["DatePlace"] = collectionName
        RankingsOutput["MetaData"]["InputID"] = "rainbow"
        RankingsOutput["Rankings"] = {}

        for document in cursorRankings:
            for team in teamList:
                RankingsOutput["Rankings"]["TeamNumber" + str(team)] = {}
                RankingsOutput["Rankings"]["TeamNumber" +
                                           str(team)]["TeamNumber"] = team
                RankingsOutput["Rankings"][
                    "TeamNumber" +
                    str(team)]["TeamName"] = foundation.TeamName(team)
                if document["Rankings"]["TeamNumber" +
                                        str(team)]["TeamNumber"] == team:
                    RankingsOutput["Rankings"]["TeamNumber" + str(team)][
                        "Rank"] = document["Rankings"]["TeamNumber" +
                                                       str(team)]["Rank"]
                    RankingsOutput["Rankings"][
                        "TeamNumber" +
                        str(team)]["RecordWin"] = document["Rankings"][
                            "TeamNumber" + str(team)]["RecordWin"]
                    RankingsOutput["Rankings"][
                        "TeamNumber" +
                        str(team)]["RecordTie"] = document["Rankings"][
                            "TeamNumber" + str(team)]["RecordTie"]
                    RankingsOutput["Rankings"][
                        "TeamNumber" +
                        str(team)]["RecordLose"] = document["Rankings"][
                            "TeamNumber" + str(team)]["RecordLose"]
                    RankingsOutput["Rankings"]["TeamNumber" + str(
                        team)]["QP"] = document["Rankings"]["TeamNumber" +
                                                            str(team)]["QP"]
                    RankingsOutput["Rankings"]["TeamNumber" + str(
                        team)]["RP"] = document["Rankings"]["TeamNumber" +
                                                            str(team)]["RP"]
                    RankingsOutput["Rankings"]["TeamNumber" + str(
                        team)]["RP"] = document["Rankings"]["TeamNumber" +
                                                            str(team)]["RP"]

        for document in cursorOPRCCWM:
            for team in teamList:
                if document["OPRCCWM"]["TeamNumber" +
                                       str(team)]["TeamNumber"] == team:
                    RankingsOutput["Rankings"]["TeamNumber" + str(
                        team)]["CCWM"] = document["OPRCCWM"]["TeamNumber" +
                                                             str(team)]["CCWM"]
                    RankingsOutput["Rankings"]["TeamNumber" + str(
                        team)]["OPR"] = document["OPRCCWM"]["TeamNumber" +
                                                            str(team)]["OPR"]

        for document in cursorStatistics:
            for team in teamList:
                if document["Statistics"]["Growth"][
                        "TeamNumber" + str(team)]["TeamNumber"] == team:
                    RankingsOutput["Rankings"]["TeamNumber" + str(
                        team)]["Growth"] = document["Statistics"]["Growth"][
                            "TeamNumber" + str(team)]["Growth"]

        for document in cursorAverageScoresData:
            for team in teamList:
                print(document["AverageScores"]["TeamNumber" +
                                                str(team)]["TeamNumber"])
                #if document["AverageScores"]["TeamNumber" + str(team)]["TeamNumber"] == team:
                #RankingsOutput["Rankings"]["TeamNumber" + str(team)]["AverageAUTO"] = document["AverageSocres"]["TeamNumber" + str(team)]["AverageScores"]["AverageAUTO"]
                #RankingsOutput["Rankings"]["TeamNumber" + str(team)]["AverageDRIVER"] = document["AverageSocres"]["TeamNumber" + str(team)]["AverageScores"]["AverageDRIVER"]
                #RankingsOutput["Rankings"]["TeamNumber" + str(team)]["AverageEND"] = document["AverageSocres"]["TeamNumber" + str(team)]["AverageScores"]["AverageEND"]
                #RankingsOutput["Rankings"]["TeamNumber" + str(team)]["AverageAccuracy"] = document["AverageSocres"]["TeamNumber" + str(team)]["AverageScores"]["AverageAccuracy"]

        #for document in cursorRankings:
        #for documentRankings in document["Rankings"].values():
        #for team in teamList:
        #print("Comparing")
        #print(team)
        #pprint(documentRankings["TeamNumber"])
        #if team == documentRankings["TeamNumber"]:
        #RankingsOutput["Rankings"]["Rank"+str(documentRankings["Rank"])] = {}
        #print("Added")
        #print(str(documentRankings["Rank"]))
        #print("Next____________________________________")

        pprint(RankingsOutput)
コード例 #8
0
            if counter == 6:
                Stacks[6].addCard(deck.give_topcard())
                setFace_Up_2(Stacks[6].getCard(counter))

            counter += 1
            totalstacks -= 1


# -- Main --

deck = Deck()
deck.shuffle()
score = 0

Stacks = [Stack() for _ in range(7)]
Foundations = [Foundation() for _ in range(4)]

# incluir foundation con carta vacia? tal vez para el GUI sea util
startgame(deck, Stacks)

blankspacesforoutput(Stacks)

game_over = False
counter_Recycles = 1
deckQ = len(deck.Cards)

while not game_over:

    if (Foundations[0].getCardCounterF() == 13
            and Foundations[1].getCardCounterF() == 13
            and Foundations[2].getCardCounterF() == 13
コード例 #9
0
	def __init__(self, collectionName):
	
		client = MongoClient()
		db = client.TheOrangeAlliance
		collection = eval("db."+collectionName)
		collectionDataValidation = db.DataValidation
		
		foundation = Foundation(collectionName)
		teamList = foundation.UniqueTeamList()
		matchesThatTeamPlayedAndAlliance = foundation.WhichMatchesDidThatTeamPlayAndWhatAllaince(teamList, collectionName)

		#Input Data inputDataDocuments
		cursor = collection.find({'MetaData.MetaData' : 'MatchInputRaw'})
		inputDataDocuments = []
		for document in cursor:
			inputDataDocuments.append(document)
		validationKeyDocuments = []
		cursor = collectionDataValidation.find({'MetaData.MetaData' : 'ValidationKey'})
		for document in cursor:
			validationKeyDocuments.append(document)
		validationKeyHierarchyDocuments = []
		cursor = collectionDataValidation.find({'MetaData.MetaData' : 'ValidationKeyHierarchy'})
		pprint(cursor)
		for document in cursor:
			validationKeyHierarchyDocuments.append(document)


		#finds lowest Type Level 
		lowestTypeLevel = 0
		validationKeyHierarchyType = {}
		validationKeyHierarchyStatus = {}
		for validationKeyHierarchyDocument in validationKeyHierarchyDocuments:
			validationKeyHierarchyType = validationKeyHierarchyDocument['Hierarchy']['TypeLevel']
			validationKeyHierarchyStatus = validationKeyHierarchyDocument['Hierarchy']['StatusLevel']
			pprint(validationKeyHierarchyType)
			pprint(validationKeyHierarchyStatus)
			for typeLevelNames in validationKeyHierarchyDocument['Hierarchy']['TypeLevel'].values():
				if(typeLevelNames > lowestTypeLevel):
					lowestTypeLevel = typeLevelNames
		uniqueMatchInformation = []
		for document in inputDataDocuments:
			if(document['MatchInformation'] not in uniqueMatchInformation):
				uniqueMatchInformation.append(document['MatchInformation'])
		for matchInformation in uniqueMatchInformation:
			#All the keytypes present per match information
			uniqueKeyPool = []
			uniqueKeyTypePool = []
			cleanUniqueKeyPool = []
			highestKeyTypeLevel = lowestTypeLevel
			highestKeyTypePool = []
			highestKeyStatusLevel = validationKeyHierarchyStatus['Default']
			finalKeyPool = []
			#all inputDataDocuments to check though
			for document in inputDataDocuments:
				#if the correct document (via document information) is being used
				if(cmp(document['MatchInformation'],matchInformation) == 0 and document['DataValidation']['ValidationKey'] not in uniqueKeyPool):
					uniqueKeyPool.append(document['DataValidation']['ValidationKey'])
			for uniqueKey in uniqueKeyPool:
				for validationKeyDocument in validationKeyDocuments:
					if(uniqueKey == validationKeyDocument['ValidationKey']['KeyIdentity']['Key']):
						cleanUniqueKeyPool.append(uniqueKey)
						if(validationKeyDocument['ValidationKey']['KeyInformation']['KeyType'] not in uniqueKeyTypePool):
							uniqueKeyTypePool.append(validationKeyDocument['ValidationKey']['KeyInformation']['KeyType'])
			for uniqueKeyType in uniqueKeyTypePool:
				if(highestKeyTypeLevel > validationKeyHierarchyType[uniqueKeyType]):
					highestKeyTypeLevel = validationKeyHierarchyType[uniqueKeyType]
			for cleanUniqueKey in cleanUniqueKeyPool:
				for validationKeyDocument in validationKeyDocuments:
					if(validationKeyDocument['ValidationKey']['KeyIdentity']['Key'] == cleanUniqueKey):
						if(validationKeyHierarchyType[validationKeyDocument['ValidationKey']['KeyInformation']['KeyType']] == highestKeyTypeLevel):
							highestKeyTypePool.append(cleanUniqueKey)				
			for highestKey in highestKeyTypePool:
				for validationKeyDocument in validationKeyDocuments:
					if(validationKeyDocument['ValidationKey']['KeyIdentity']['Key'] == highestKey):
						if(highestKeyStatusLevel > validationKeyHierarchyStatus[validationKeyDocument['ValidationKey']['KeyInformation']['KeyStatus']]):
							highestKeyStatusLevel = validationKeyHierarchyStatus[validationKeyDocument['ValidationKey']['KeyInformation']['KeyStatus']]
			for highestKey in highestKeyTypePool:
				for validationKeyDocument in validationKeyDocuments:
					if(validationKeyDocument['ValidationKey']['KeyIdentity']['Key'] == highestKey):
						if(validationKeyHierarchyStatus[validationKeyDocument['ValidationKey']['KeyInformation']['KeyStatus']] == highestKeyStatusLevel):
							finalKeyPool.append(highestKey)

			#Real stuff set up
			allInputFields = {
				'AUTO' : [
					'RobotParking',
					'ParticlesCenter',
					'ParticlesCorner',
					'CapBall',
					'ClaimedBeacons'
				],
				'DRIVER' : [
					'ParticlesCenter',
					'ParticlesCorner'
				],
				'END' : [
					'AllianceClaimedBeacons',
					'CapBall'
				]
			}
			allInputs = {
				'AUTO' : {
					'RobotParking' : [],
					'ParticlesCenter' : [],
					'ParticlesCorner' : [],
					'CapBall' : [],
					'ClaimedBeacons' : []
				},
				'DRIVER' : {
					'ParticlesCenter' : [],
					'ParticlesCorner' : []
				},
				'END' : {
					'AllianceClaimedBeacons' : [],
					'CapBall' : []
				}
			}
			allUniqueInputs = {}
			countedInputs = {
				'AUTO' : {
					'RobotParking' : [],
					'ParticlesCenter' : [],
					'ParticlesCorner' : [],
					'CapBall' : [],
					'ClaimedBeacons' : []
				},
				'DRIVER' : {
					'ParticlesCenter' : [],
					'ParticlesCorner' : []
				},
				'END' : {
					'AllianceClaimedBeacons' : [],
					'CapBall' : []
				}
			}
			maxFrequencyInput = {
				'AUTO' : {
					'RobotParking' : [],
					'ParticlesCenter' : [],
					'ParticlesCorner' : [],
					'CapBall' : [],
					'ClaimedBeacons' : []
				},
				'DRIVER' : {
					'ParticlesCenter' : [],
					'ParticlesCorner' : []
				},
				'END' : {
					'AllianceClaimedBeacons' : [],
					'CapBall' : []
				}
			}
			majorityInput = {
				'AUTO' : {
					'RobotParking' : [],
					'ParticlesCenter' : [],
					'ParticlesCorner' : [],
					'CapBall' : [],
					'ClaimedBeacons' : []
				},
				'DRIVER' : {
					'ParticlesCenter' : [],
					'ParticlesCorner' : []
				},
				'END' : {
					'AllianceClaimedBeacons' : [],
					'CapBall' : []
				}
			}
			#Real stuff (if there are any keys present)
			for document in inputDataDocuments:
				if(cmp(document['MatchInformation'],matchInformation) == 0 and document['DataValidation']['ValidationKey'] in finalKeyPool):
					for gamePeriods in allInputFields:
						for gameFields in allInputFields[gamePeriods]:
							allInputs[gamePeriods][gameFields].append(document['GameInformation'][gamePeriods][gameFields])
							print allInputs[gamePeriods][gameFields]
					pprint(document)

			for document in inputDataDocuments:
				if(cmp(document['MatchInformation'],matchInformation) == 0 and document['DataValidation']['ValidationKey'] in finalKeyPool):
					pass
			for gamePeriods in allInputFields:
				for gameFields in allInputFields[gamePeriods]:
					for gameValue in allInputs[gamePeriods][gameFields]:
						if({'GameValue' : gameValue, 'Frequency' : None} not in countedInputs[gamePeriods][gameFields]):
							countedInputs[gamePeriods][gameFields].append(
								{
										'GameValue' : gameValue,
										'Frequency' : None
								}
							)
			for gamePeriods in allInputFields:
				for gameFields in allInputFields[gamePeriods]:
					for gameValue in allInputs[gamePeriods][gameFields]:
						for gameValueInformationIndex in range(0,len(countedInputs[gamePeriods][gameFields])):
							if(gameValue == countedInputs[gamePeriods][gameFields][gameValueInformationIndex]['GameValue']):
								if(countedInputs[gamePeriods][gameFields][gameValueInformationIndex]['Frequency'] == None):
									countedInputs[gamePeriods][gameFields][gameValueInformationIndex]['Frequency'] = 0
								countedInputs[gamePeriods][gameFields][gameValueInformationIndex]['Frequency'] += 1
			for gamePeriods in allInputFields:
				for gameFields in allInputFields[gamePeriods]:
					tempFrequency = []
					for gameValueInformation in countedInputs[gamePeriods][gameFields]:
						tempFrequency.append(gameValueInformation['Frequency'])
						maxFrequencyInput[gamePeriods][gameFields] = max(tempFrequency)

			#if no real keys are present
			#if(finalKeyPool == []){
				#for document in inputDataDocuments:
			#}

			print 'uniqueKeyPool'
			pprint(uniqueKeyPool)
			print 'cleanUniqueKeyPool'
			pprint(cleanUniqueKeyPool)
			if(cleanUniqueKeyPool == []):
				print 'cleanUniqueKeyPool is empty'
			print 'uniqueKeyTypePool'
			pprint(uniqueKeyTypePool)
			print 'highestKeyTypeLevel'
			print highestKeyTypeLevel
			print 'highestKeyTypePool'
			pprint(highestKeyTypePool)
			print 'finalKeyPool'
			pprint(finalKeyPool)
			print 'countedInputs'
			pprint(countedInputs)
			print 'majorityInput'
			pprint(majorityInput)