Администраторы группы

  • Аватар

Олимпиада по информатике. Готовимся побеждать!

Открытая группа активность: 4 мес. назад

Группа для тех, кто намеревается побеждать на районных и региональных олимпиадах по информатике.
Здесь можно будет найти олимпиадные задания, задачи повышенной сложности, обсудить оптимальные алгоритмы решений
Памятка для участников олимпиады

Сайт Информатикс – регистрирууемся, решаем, продвигаемся в рейтинге

Создание интерактивной книги. (записей: 4)

← Форум группы   Все форумы
  • Аватар Alcaine - 4 мес., 3 нед. назад:

    Попытка создания квест-игры.

  • Аватар Alcaine - 4 мес., 3 нед. назад:

    TRY 1.

    import time
    class hero:
        def __init__(self,power=1,agility=1,intellect=1,health=10,race="Эльф",resistance=10,cunning=10,typez="Лучник",name="Алькаин"):
            self.power=power
            self.agility=agility
            self.intellect=intellect
            self.health=health
            self.race=race
            self.resistance=resistance
            self.cunning=cunning
            self.typez=typez
            self.name=name
    
    trys=hero()
    
    def create():
        T=10
        while T>0:
            print("Имя: ",trys.name)
            print("Раса: ", trys.race)
            print("Класс: ", trys.typez)
            print("Текущая сила: ",trys.power)
            print("Текущая ловкость: ",trys.agility)
            print("Текущий интеллект: ", trys.intellect)
            print("Текущее здоровье: ",trys.health)
            print("Текущая хитрость: ",trys.cunning)
            print("Текущее сопротивление: ",trys.resistance)
            print("Очки талантов: ", T)
            n=int(input("Какие навыки хотите изменить? 1-сила, 2-ловкость, 3-интеллект: "))
            if n==1:
                trys.power+=1
                trys.health+=5
                T-=1
            if n==2:
                trys.agility+=1
                trys.cunning+=5
                T-=1
            elif n==3:
                trys.intellect+=1
                trys.resistance+=5
                T-=1
    
    def lvl1():
        print("Томное небо на фоне людской вражды и крови выглядело так невинно, словно осенний лепесток перед наступлением вечномерзлой юдоли, зимы. Глядя на него, забывались прочие обиды и людские пороки. Ничто не могло с ним сравниться. Сейчас")
        print("")
        time.sleep(8)
    
  • Аватар Alcaine - 4 мес., 3 нед. назад:
    import time
    import msvcrt
    import  random
    
    class hero:
        def __init__(self, power=1, agility=1, intellect=1, health=10, race="Эльф", resistance=10, cunning=10,
                     typez="Лучник", name="Алькаин", damage=5, unit=False):
            self.power = power
            self.agility = agility
            self.intellect = intellect
            self.health = health
            self.race = race
            self.resistance = resistance
            self.cunning = cunning
            self.typez = typez
            self.name = name
            self.damage = damage
            self.unit = unit
    
        def dmger(self, gradstrel=False):
            self.gradstrel = gradstrel
    
        def defender(self, stonebody=False):
            self.stonebody = stonebody
    
        def magick(self, mindread=False):
            self.mindread = mindread
    
    class werewolf:
        def werewolfz(self,power=5,agility=2,intellect=1,resistance=25,cunning=10,damage=10,name="Волколак",health=20):
            self.power=power
            self.agility=agility
            self.intellect=intellect
            self.resistance=resistance
            self.cunning=cunning
            self.damage=damage
            self.name=name
            self.health=health
        def werewolfspell(self,claws=True):
            self.claws=claws
    
    wolf=werewolf()
    
    trys = hero ()
    
    def create():
        T = 10
        while T > 0:
            print ("Имя: ", trys.name)
            print ("Раса: ", trys.race)
            print ("Класс: ", trys.typez)
            print ("Текущая сила: ", trys.power)
            print ("Текущая ловкость: ", trys.agility)
            print ("Текущий интеллект: ", trys.intellect)
            print ("Текущее здоровье: ", trys.health)
            print ("Текущая хитрость: ", trys.cunning)
            print ("Текущее сопротивление: ", trys.resistance)
            print ("Очки талантов: ", T)
            n = int (input ("Какие навыки хотите изменить? 1-сила, 2-ловкость, 3-интеллект: "))
            if n == 1:
                trys.power += 1
                trys.health += 2
                trys.damage += 3
                T -= 1
            if n == 2:
                trys.agility += 1
                trys.cunning += 2
                trys.damage += 2
                T -= 1
            elif n == 3:
                trys.intellect += 1
                trys.resistance += 2
                trys.damage += 1
                T -= 1
    
    def lvlup():
        L = 3
        while L > 0:
            print ("Текущая сила: ", trys.power)
            print ("Текущая ловкость: ", trys.agility)
            print ("Текущий интеллект: ", trys.intellect)
            print ("Текущее здоровье: ", trys.health)
            print ("Текущая хитрость: ", trys.cunning)
            print ("Текущее сопротивление: ", trys.resistance)
            print ("Очки талантов: ", L)
            n = int (input ("Какие навыки хотите изменить? 1-сила, 2-ловкость, 3-интеллект: "))
            if n == 1:
                trys.power += 1
                trys.health += 2
                L -= 1
            if n == 2:
                trys.agility += 1
                trys.cunning += 2
                L -= 1
            elif n == 3:
                trys.intellect += 1
                trys.resistance += 2
                L -= 1
    
            if trys.agility >= 10:
                print ("Вы прокачали способность *Град Стрел*!")
                trys.gradstrel = True
            if trys.power >= 10:
                print ("Вы прокачали способность *Каменная кожа*!")
                trys.stonebody = True
            elif trys.intellect >= 10:
                print ("Вы прокачали способность *Чтение мыслей*")
                trys.mindread = True
    
    def wait():
        input ()
    
    def lvl1():
        print (
            "Томное небо на фоне людской вражды и крови выглядело так невинно, словно осенний лепесток перед наступлением вечномерзлой юдоли, зимы. Глядя на него, забывались прочие обиды и людские пороки. Ничто не могло с ним сравниться. Лишь cейчас.")
        wait ()
        print (
            "Людская кровь омывала мой лик. Где-то недалеко ещё слышался отчаянный боевой крик. Видимо, он должен был призывать тех, кто ещё остался жив. Не могу точно сказать, ведь я совсем не смог расслышать его при всем моем желании.")
        wait ()
        print (
            "Я решил поглядеть на нынешнее состояние своего тела. Ноги полностью покрыла алая кровь, глядя на легкие сапоги, которые я совсем недавно купил за 8 золотых у бродячего купца, нельзя было отлчить их истинный цвет.")
        wait ()
        print (
            "Правая рука во всех смыслах этого слова *горела*. Я пытался вспомнить, кто меня так умудрился задеть, но лишь получил в ответ очень резкую головную боль. Было совсем неприятно, хочу сказать вам, поэтому сразу отказался от мысли - рыться в своей голове в попытках вспомнить недавние события.")
        wait ()
        print("С собой у меня не было бинтов для обвязки руки. Мне следовало бы встать и найти что-то или кого-то, да бы спасти руку от гниения. Скажем, для лучника это была бы большая потеря. Я переосилил себя и приподнял свой стан. Как правило, головная боль лишь усиливалась.")
        wait ()
        print("После я левой рукой облокотился на землю. Однако она соскользнула, я снова припал к земле. Что же, первая попытка была крайне неудачной и неприятной. Единственное, что меня радовало сейчас так это то, что я почувствовал свой лук за спиной. К моему несчастью, колчана рядом не было. ")
        wait()
        print (
            "Лучше моя душа будет отдана скверне, нежели я потеряю своего верного спутника. Лук мне достался от уже покойного отца, он был сделан из дерево-стали, что ранее было изобретено древними друидами. Дерево было крепко, как металл, однако не утратило свойства, которые изначально принадлежало всем лиственным деревьям.")
        wait ()
    
    def fight():
        print("Вы начали бой с протикником: ",wolf.name,"!")
        F=False
        n=1
        while trys.health>0 or wolf.health>0:
            m=random.randint(1,2)
            print(trys.name,trys.health,"         ",wolf.name,wolf.health)
            if trys.agility>wolf.agility:
                print("Вы хитрее, поэтому вы атакуете первыми!")
    
  • Аватар Alcaine - 4 мес., 2 нед. назад:
    
    import time
    import msvcrt
    import random
    
    class hero:
        def __init__(self, power=1, agility=1, intellect=1, health=30, race="Эльф", resistance=5, cunning=5,
                     typez="Лучник", name="Алькаин", damage=5, unit=False):
            self.power = power
            self.agility = agility
            self.intellect = intellect
            self.health = health
            self.race = race
            self.resistance = resistance
            self.cunning = cunning
            self.typez = typez
            self.name = name
            self.damage = damage
            self.unit = unit
    
        def dmger(self, gradstrel=False):
            self.gradstrel = gradstrel
    
        def defender(self, stonebody=False):
            self.stonebody = stonebody
    
        def magick(self, mindread=False):
            self.mindread = mindread
    
    trys = hero()
    
    class werewolf:
        def __init__(self, power=trys.power*2, agility=trys.agility%2, intellect=trys.intellect%2, resistance=trys.resistance*2, cunning=trys.damage*2, damage=trys.damage*2, name="Волколак",
                      health=trys.health*2):
            self.power = power
            self.agility = agility
            self.intellect = intellect
            self.resistance = resistance
            self.cunning = cunning
            self.damage = damage
            self.name = name
            self.health = health
    
    wolf = werewolf()
    
    def create():
        T = 6
        while T > 0:
            print("Имя: ", trys.name)
            print("Раса: ", trys.race)
            print("Класс: ", trys.typez)
            print("Текущая сила: ", trys.power)
            print("Текущая ловкость: ", trys.agility)
            print("Текущий интеллект: ", trys.intellect)
            print("Текущее здоровье: ", trys.health)
            print("Текущая хитрость: ", trys.cunning)
            print("Текущее сопротивление: ", trys.resistance)
            print("Очки талантов: ", T)
            n = int(input("Какие навыки хотите изменить? 1-сила, 2-ловкость, 3-интеллект: "))
            if n == 1:
                trys.power += 1
                trys.health += 2
                trys.damage += 1
                T -= 1
            if n == 2:
                trys.agility += 1
                trys.cunning += 1
                trys.damage += 2
                T -= 1
            elif n == 3:
                trys.intellect += 1
                trys.resistance += 2
                trys.damage += 1
                T -= 1
    
    def lvlup():
        L = 3
        while L > 0:
            print("Текущая сила: ", trys.power)
            print("Текущая ловкость: ", trys.agility)
            print("Текущий интеллект: ", trys.intellect)
            print("Текущее здоровье: ", trys.health)
            print("Текущая хитрость: ", trys.cunning)
            print("Текущее сопротивление: ", trys.resistance)
            print("Очки талантов: ", L)
            n = int(input("Какие навыки хотите изменить? 1-сила, 2-ловкость, 3-интеллект: "))
            if n == 1:
                trys.power += 1
                trys.health += 2
                L -= 1
            if n == 2:
                trys.agility += 1
                trys.cunning += 2
                L -= 1
            elif n == 3:
                trys.intellect += 1
                trys.resistance += 2
                L -= 1
    
            if trys.agility >= 10:
                print("Вы прокачали способность *Град Стрел*!")
                trys.damage += 5
                trys.gradstrel = True
            if trys.power >= 10:
                print("Вы прокачали способность *Каменная кожа*!")
                trys.health += 5
                trys.stonebody = True
            elif trys.intellect >= 10:
                print("Вы прокачали способность *Чтение мыслей*")
                trys.intellect += 5
                trys.mindread = True
    
    def balanced():
        wolf.damage = trys.damage * 2
        wolf.health = trys.health * 2
        wolf.resistance = trys.resistance * 2
        wolf.agility = trys.agility % 2
        wolf.intellect = trys.intellect % 2
    
    def wait():
        input()
    
    def lvl1():
        print(
            "Томное небо на фоне людской вражды и крови выглядело так невинно, словно осенний лепесток перед наступлением вечномерзлой юдоли, зимы. Глядя на него, забывались прочие обиды и людские пороки. Ничто не могло с ним сравниться. Лишь cейчас.")
        wait()
        print(
            "Людская кровь омывала мой лик. Где-то недалеко ещё слышался отчаянный боевой крик. Видимо, он должен был призывать тех, кто ещё остался жив. Не могу точно сказать, ведь я совсем не смог расслышать его при всем моем желании.")
        wait()
        print(
            "Я решил поглядеть на нынешнее состояние своего тела. Ноги полностью покрыла алая кровь, глядя на легкие сапоги, которые я совсем недавно купил за 8 золотых у бродячего купца, нельзя было отлчить их истинный цвет.")
        wait()
        print(
            "sравая рука во всех смыслах этого слова *горела*. Я пытался вспомнить, кто меня так умудрился задеть, но лишь получил в ответ очень резкую головную боль. Было совсем неприятно, хочу сказать вам, поэтому сразу отказался от мысли - рыться в своей голове в попытках вспомнить недавние события.")
        wait()
        print(
            "С собой у меня не было бинтов для обвязки руки. Мне следовало бы встать и найти что-то или кого-то, да бы спасти руку от гниения. Скажем, для лучника это была бы большая потеря. Я переосилил себя и приподнял свой стан. Как правило, головная боль лишь усиливалась.")
        wait()
        print(
            "После я левой рукой облокотился на землю. Однако она соскользнула, я снова припал к земле. Что же, первая попытка была крайне неудачной и неприятной. Единственное, что меня радовало сейчас так это то, что я почувствовал свой лук за спиной. К моему несчастью, колчана рядом не было. ")
        wait()
        print(
            "Лучше моя душа будет отдана скверне, нежели я потеряю своего верного спутника. Лук мне достался от уже покойного отца, он был сделан из дерево-стали, что ранее было изобретено древними друидами. Дерево было крепко, как металл, однако не утратило свойства, которые изначально принадлежало всем лиственным деревьям.")
        wait()
    
    def fight():
        global F, block
        a=True
        F=bool
        block=bool
        print("Вы начали бой с протикником: ", wolf.name, "!")
        while trys.health > 0 and wolf.health > 0:
            m = random.randint(1, 3)
            miss=random.randint(1,100)
            miss1=random.randint(1,100)
            print(trys.name, trys.health, "         ", wolf.name, wolf.health)
            if trys.agility > wolf.agility or F == True:
                F=True
                attack = int(input("1 - мощный выстрел, 2 - слабый выстрел + вампиризм,3 - полный блок "))
                if attack == 1:
                    if miss1>wolf.cunning:
                        wolf.health = wolf.health - trys.cunning - trys.damage
                        F = False
                    else:
                        print("Промах!")
                        F=False
    
                if attack == 2:
                    if miss1>wolf.cunning:
                        wolf.health = wolf.health - trys.damage
                        trys.health = trys.health + trys.damage
                        F = False
                    else:
                        print("Промах!")
                        F=False
                elif attack == 3:
                    block=False
                    F = False
    
            elif trys.agility < wolf.agility or F == False:
                if m == 1:
                    if miss>trys.cunning:
                        trys.health = trys.health - wolf.damage - wolf.damage
                        F = True
                    if miss<trys.cunning:
                        print("Противник промахнулся!")
                        F=True
                    elif block==False:
                        trys.health=trys.health-(wolf.damage+wolf.damage)*(trys.cunning//100)
                        print("Вы заблокировали удар!")
                        block=True
                if m == 2:
                    if miss>trys.cunning:
                        trys.health = trys.health - wolf.damage
                        wolf.health = wolf.health + wolf.damage
                        F = True
                    if miss<trys.cunning:
                        print("Противник промахнулся!")
                        F=True
                    elif block==False:
                        trys.health=trys.health-wolf.damage*(trys.cunning//100)
                        wolf.health=wolf.health+wolf.damage*(trys.cunning//100)
                        print("Вы заблокировали удар!")
                        F=True
                elif m==3 and a==True:
                    trys.health=trys.health-wolf.power-wolf.damage
                    print("Враг применил супер-способность!")
                    F=True
                    a=False
            if trys.health<0:
                print("Вы погибли!")
                break
            elif wolf.health<0:
                print(wolf.name,"Умер")
                break
    
    def main():
        create()
        fight()