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)
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
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 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])))
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
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)
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
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())
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):
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], )
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
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()
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