예제 #1
0
def hentData():
    navn = ""
    while True:
        print("Skriv inn navnet på landet(Engelsk).")
        navn = input()
        if navn != "":
            break
        else:
            print("Prov igjen.")
    kode = ""
    while True:
        print("SKriv koden til landet.(i.e NOR, SWE)")
        kode = input()
        if kode != "" and len(kode) == 3:
            break
        else:
            print("Prov igjen.")
    dato = hentDato()
    smittet = 0
    while True:
        print("Skriv antall smittet på gitt dato.")
        try:
            smittet = int(input())
            if 0 < smittet:
                break
            else:
                print("Skriv antall pasienter.")
        except ValueError:
            print("Prov igjen.")

    return Land(navn,kode,dato,smittet)
예제 #2
0
파일: Map.py 프로젝트: tywong7/csci3180
 def __init__(self):
     self._teleportable_obj = []
     self._lands = [[Land() for j in range(self._D)]
                    for i in range(self._D)]
     self._e = random.randint(0, 1) + 2
     self._m = random.randint(0, 1) + 2
     self._w = 1
     self._total_Num = self._m + self._e + self._w
     self._num_Of_Alive_Monsters = self._m
     self._num_Of_Alive_Warriors = self._w
예제 #3
0
파일: Nature.py 프로젝트: MingStar/Nature
 def __init__(self):
     self.land = Land(width=400, height=300)
     if cmdLineArgs.options.debug:
         self.land.reset(2000, 2000, 500, 2500)  # test, for fast init window show up
     else:
         self.land.reset(40000, 30000, 10000, 2500)
     self.day = 0
     self.timeDelta = 0
     # clear the file for stats recording
     if not cmdLineArgs.options.debug:
         open("data.log", "w").close()
         self.recordStats()
예제 #4
0
def lesFil():
    with open("covid19kunland.csv", "r") as file:
        for line in file.readlines():
            data = line.strip().split(",")
            try:
                chunk = data[2].split(" ")
                date = Dato(int(chunk[1].replace(",", "")),
                            int(months.index(chunk[0].replace("\"", "")) + 1),
                            int(data[3].replace("\"", "")))
                if data[4] == "":
                    data[4] = 0
                landFraFil.append(Land(data[0], data[1], date, int(data[4])))
            except Exception:
                chunk = data[2].split(" ")
                date = Dato.getInstance(
                    int(chunk[1].replace(",", "")),
                    int(months.index(chunk[0].replace("\"", "")) + 1),
                    int(data[3].replace("\"", "")))
                if data[4] == "":
                    data[4] = 0
                landFraFil.append(Land(data[0], data[1], date, int(data[4])))
예제 #5
0
 def initializeAll(self):
     print('Welcome to Kafustrok. Light blesses you. ')
     self.lands = [[Land() for x in range(self.D)] for y in range(self.D)]
     for i in range(self.totalNum):
         pos = self.getUnOccupiedPosition()
         if i < self.m:
             self.lands[pos.x][pos.y].occupied_obj = (Monster(
                 pos.x, pos.y, i, self))
         elif i < (self.m + self.e):
             self.lands[pos.x][pos.y].occupied_obj = (Elf(
                 pos.x, pos.y, i - self.m, self))
         else:
             self.lands[pos.x][pos.y].occupied_obj = (Warrior(
                 pos.x, pos.y, i - self.m - self.e, self))
             self.teleportable_obj.append(
                 self.lands[pos.x][pos.y].occupied_obj)
         pass
     pass
예제 #6
0
파일: Map.py 프로젝트: tywong7/csci3180
 def initialize_All(self):
     print("Welcome to Kafustrok. Light blesses you. ")
     for i in range(self._D):
         for j in range(self._D):
             self._lands[i][j] = Land()
     for i in range(self._total_Num):
         pos = self.get_Un_Occupied_Position()
         if i < self._m:
             self._lands[pos.X][pos.Y].Occupied_obj = Monster(
                 pos.X, pos.Y, i, self)
         elif i < self._m + self._e:
             self._lands[pos.X][pos.Y].Occupied_obj = Elf(
                 pos.X, pos.Y, i - self._m, self)
         else:
             self._lands[pos.X][pos.Y].Occupied_obj = Warrior(
                 pos.X, pos.Y, i - self._m - self._e, self)
             self._teleportable_obj.append(
                 self._lands[pos.X][pos.Y].Occupied_obj)
예제 #7
0
 def __init__(self):
     self._lands = [[Land() for i in range(D)] for j in range(D)]
     self.totalNum = m + e + p + w
     self._num_of_alive_monsters = m
     self._num_of_alive_warriors = w
예제 #8
0
from Creature import Creature
from Land import Land

gnome = Creature(5, 5,{"uncolored": 0, "white": 0, "black": 0, "blue": 0, "red": 0, "green": 0},"El Gnomo")

print(gnome.get_toughness())

mountain = Land(red_mana=10)

print("mana de la montaña:")
print(mountain.get_mana())
예제 #9
0
from utilities import filling_matrix, filling_adjacency_lists
from Colors import *

if __name__ == '__main__':

    f = open("inputs.txt", "r")
    artificialPlayerCount = int(f.readline())
    physicalPlayerCount = int(f.readline())
    numberOfPlayers = int(artificialPlayerCount + physicalPlayerCount)
    n = int(f.readline())
    m = int(f.readline())

    colors = [CRED, CGREEN, CYELLOW, CBLUE, CVIOLET, CBEIGE]
    random.shuffle(colors)
    players = []
    lands = [[Land(i, j) for j in range(n)] for i in range(m)]
    i = 0
    for i in range(physicalPlayerCount):
        players.append(
            Player(input("player " + str(i) + " please enter your name: "),
                   False, colors[i], i))

    for j in range(artificialPlayerCount):
        players.append(
            Player("player " + str(j + i + 1), True, colors[j + i + 1],
                   j + i + 1))

    random.shuffle(players)

    for i in range(n):
        for j in range(m):
예제 #10
0
파일: Nature.py 프로젝트: MingStar/Nature
class Nature:
    """
    the mother nature
    
    drive the land, then record some stats
    """

    def __init__(self):
        self.land = Land(width=400, height=300)
        if cmdLineArgs.options.debug:
            self.land.reset(2000, 2000, 500, 2500)  # test, for fast init window show up
        else:
            self.land.reset(40000, 30000, 10000, 2500)
        self.day = 0
        self.timeDelta = 0
        # clear the file for stats recording
        if not cmdLineArgs.options.debug:
            open("data.log", "w").close()
            self.recordStats()

    def newDay(self):
        """
        runs land.newDay()

        record down some stats
        """
        stamp = time.clock()
        self.day += 1
        self.land.newDay()
        self.timeDelta = time.clock() - stamp
        if self.timeDelta < 0:
            self.timeDelta = -1
        self.recordStats()

    def recordStats(self):
        """
        record the stats to a file
        """
        if cmdLineArgs.options.debug:
            return
        dataFile = open("data.log", "a")
        print >> dataFile, " ".join(map(str, self.getStats()))

    def getStats(self):
        species = self.land.species
        longestDays = []
        for lifeClass in [ZEBRA, LION]:
            animal = self.land.livingLongest[lifeClass]
            if animal:
                days = animal.livingDays
            else:
                days = 0
            longestDays.append(days)
        return (
            self.day,
            len(species[GRASS]),
            len(species[ZEBRA]),
            len(species[LION]),
            self.timeDelta,
            longestDays[0],
            longestDays[1],
        )
예제 #11
0
                 man1.RightSlashingFrames, man1.LeftSlashingFrames)
#аналогично для id2
idleRight = load_image('0_Golem_Idle_000.png',
                       'images//PNG Sequences_golem3//Idle_//')
idleLeft = pygame.transform.flip(idleRight, True, False)
man2 = Player(600, 610, idleLeft, idleRight, None, None, player_group)
man2.load_images('0_Golem_Running_0', 'images//PNG Sequences_golem3//Running_',
                 '.png', 12, man2.RightRunFrames, man2.LeftRunFrames)
man2.load_images('0_Golem_Slashing_0',
                 'images//PNG Sequences_golem3//Slashing_', '.png', 12,
                 man2.RightSlashingFrames, man2.LeftSlashingFrames)
#фон
bg = load_image('1600x900_backg.jpg', 'images')
#забей
obj = Obstacle(1200, 690, obj_group)
land = Land(0, 777, obj_group)
win.blit(bg, (0, 0))
while run:
    pygame.time.Clock().tick(FPS)
    #коллизия по маске - это столкновение по пикселям с ненулевым альфа-каналом между двумя спрайтами
    if pygame.sprite.collide_mask(man1, man2):
        #print('now', man2.rect.midright[0] , man1.rect.midbottom[0] , man2.rect.midleft[0], man2.rect.midright[0] > man1.rect.midbottom[0] > man2.rect.midleft[0])
        #попытка реализации запрыгиваиня на голову противника .Пока что в зачатии
        if (man2.rect.midright[0] > man1.rect.midbottom[0] >
                man2.rect.midleft[0]) and man1.rect.top > man2.rect.top:
            man1.enemyBottom = True
            man2.enemyBottom = False
            man1.enemyLeft = False
            man1.enemyRight = False
            man2.enemyRight = False
            man2.enemyLeft = False
예제 #12
0
파일: CApp.py 프로젝트: Tweebow-13/Risk
    def on_setup(self):
        global territories, land
        Blue = Player("Blue", BLUE)
        Red = Player("Red", RED)
        players = [Blue, Red]
        # /////////////////
        randomTerr = True
        randomArmies = True
        # /////////////////
        land = Land(territories, players, randomTerr, randomArmies)
        self._display_surf.blit(BACKGROUND, [0, 0])
        if randomTerr:
            for i in range(land.get_nbTerritories()):
                player = land.players[i % land.get_nbPlayers()]
                land._setup_random_territories(player)
            self.on_display()
        else:
            for i in range(land.get_nbTerritories()):
                player = land.players[i % land.get_nbPlayers()]
                terr = land._setup_territories(player)
                text_surface, rect = GAME_FONT.render(
                    str(terr.get_army()),
                    terr.get_ownership().get_color())
                self._display_surf.blit(text_surface, [
                    terr.get_x() + (terr.get_size()[0] - FONT_SIZE) / 2,
                    terr.get_y() + (terr.get_size()[1] - FONT_SIZE) / 2
                ])
                self.on_render()
        print('\n', "////////////////////////////////////")
        print("Territories ready", '\n', '\n')

        if randomArmies:
            for i in range(
                    land.get_nbTerritories(),
                    land.get_players()[0].get_army() * land.get_nbPlayers()):
                player = land.players[i % land.get_nbPlayers()]
                land._setup_random_armies(player)
            self.on_display()
        else:
            for i in range(
                    land.get_nbTerritories(),
                    land.get_players()[0].get_army() * land.get_nbPlayers()):
                player = land.players[i % land.get_nbPlayers()]
                terr = land._setup_armies(player)
                self.on_display()
        print('\n', "////////////////////////////////////")
        print("Armies ready", '\n')
        print("Land ready for battle!", '\n')
        self.on_render()
예제 #13
0
    def read(self):
        """
        liest die Eingabedatei ein und gibt ein Objekt von Karte mit allen eingelesenen Informationen zurueck
        """
        try:
            wFile = open(self.mFilename, "r")
            lines = wFile.readlines()
            kennzahlBz = ""
            laender = []
            laendermap = {}
            nachbarmap = {}
            zaehler = 0
            for l in lines:
                if zaehler == 0:  #erste zeile
                    kennzahlBz = l
                    zaehler = zaehler + 1
                if "#" in l:  #kommentar
                    zaehler = zaehler + 1
                    continue
                if zaehler == 2:  #lese land ein
                    splitted = l.strip().split(
                        " ")  #zeile in einzelne bestandteile splitten

                    #input validieren
                    if splitted[0] in laendermap.keys():
                        raise RuntimeError(
                            "Error. Datei '" + self.mFilename +
                            "' enthaelt das gleiche Land doppelt. Das ist nicht erlaubt!\n"
                        )
                    if not len(splitted[0]) > 0 and len(
                            splitted[0]) <= 3 and re.match(
                                "[A-Z]{1,3}", splitted[0]):
                        raise RuntimeError(
                            "Error. Laenderkennzeichen haben 1-3 Grossbuchstaben. Andere oder mehr Zeichen sind nicht erlaubt.\n"
                        )
                    if int(splitted[1]) < 1:
                        raise RuntimeError(
                            "Error. So schoen Anti-Materie auch ist, leider sind keine negativen Kennzahlen erlaubt. Ausserdem muessen Kennzahlen mindestens den Wert 1 haben."
                        )
                    if float(splitted[3]) < -180 or float(splitted[3]) > 180:
                        raise RuntimeError(
                            "Error. Der Wert " + splitted[3] +
                            " ist wohl offenkundig ausserhalb des erlaubten Intervalls [-180;180] fuer WGS84 Breitengrade"
                        )
                    if float(splitted[3]) < -90 or float(splitted[3]) > 90:
                        raise RuntimeError(
                            "Error. Der Wert " + splitted[2] +
                            " ist wohl offenkundig ausserhalb des erlaubten Intervalls [-90;90] fuer WGS84 Laengengrade"
                        )
                    for l in laender:
                        if l.xPos == splitted[2] and l.yPos == splitted[3]:
                            raise RuntimeError(
                                "Error. Die Datei enthaelt Laender mit der gleichen Position. Vatikanstadt oder was?!\n"
                            )
                    #neues Land-Objekt erzeugen und in liste speichern
                    neuland = Land(
                        float(splitted[2]) + 181,
                        float(splitted[3]) + 181, splitted[0], splitted[1])
                    laender.append(neuland)
                    laendermap[splitted[0]] = neuland
                    nachbarmap[neuland] = []
                if zaehler == 3:  #nachbarschaftsbeziehungen einlesen
                    nachbarschaft = l.strip().split(
                        ":")  #auftrennen in Ausgangsland, Nachbarlaender
                    #fehler wenn genannter Nachbar nicht deklariert
                    if (nachbarschaft[0] not in laendermap.keys()):
                        raise RuntimeError(
                            "Error. Scheint so, als wäre das Land " +
                            nachbarschaft[0] +
                            " nicht in der oberen Liste angegeben.")
                    heimatland = laendermap[nachbarschaft[0]]
                    nachbarNames = nachbarschaft[1].strip().split(" ")
                    #bidirektionale zuordnung durchfuehren
                    for landname in nachbarNames:
                        if (laendermap[landname] == heimatland):
                            raise RuntimeError(
                                "Error. Ein Land kann nicht sich selbst als Nachbarn haben"
                            )
                        if (landname not in laendermap.keys()):
                            raise RuntimeError(
                                "Error. Scheint so, als wäre das Land " +
                                nachbarschaft[0] +
                                " nicht in der oberen Liste angegeben.")
                        if (laendermap[landname]
                                not in nachbarmap[heimatland]):
                            nachbarmap[heimatland].append(laendermap[landname])
                        if (heimatland
                                not in nachbarmap[laendermap[landname]]):
                            nachbarmap[laendermap[landname]].append(heimatland)
                for x in laender:
                    addNachbarnToLand(self, nachbarmap[x], x)

            if not zusammenhaengend(laender):
                raise RuntimeError(
                    "Error. Nicht alle Laender haengen zusammen.")
        except IOError:
            sys.stderr.write("Error. Die Datei '" + self.mFilename +
                             "' existiert nicht!\n")
            return None
        except RuntimeError as err:
            sys.stderr.write(str(err))
            return None
        karte = Karte(
            laender,
            kennzahlBz)  #aus den eingelesenen laendern wird eine karte erzeugt
        return karte