From eca08b110b7d3527ca58b767738aea6d88acea87 Mon Sep 17 00:00:00 2001 From: Andrey Savchenko Date: Sat, 27 Oct 2018 09:25:04 +0300 Subject: [PATCH 1/4] Add file Magic_8_ball.rb --- .idea/lesson2.iml | 13 ++++++++++++ .idea/misc.xml | 7 +++++++ .idea/modules.xml | 8 +++++++ .idea/vcs.xml | 6 ++++++ .idea/workspace.xml | 14 +++++++++++++ Magic_8_ball | 51 +++++++++++++++++++++++++++++++++++++++++++++ 6 files changed, 99 insertions(+) create mode 100644 .idea/lesson2.iml create mode 100644 .idea/misc.xml create mode 100644 .idea/modules.xml create mode 100644 .idea/vcs.xml create mode 100644 .idea/workspace.xml create mode 100644 Magic_8_ball diff --git a/.idea/lesson2.iml b/.idea/lesson2.iml new file mode 100644 index 0000000..5631ea9 --- /dev/null +++ b/.idea/lesson2.iml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml new file mode 100644 index 0000000..6ea7350 --- /dev/null +++ b/.idea/misc.xml @@ -0,0 +1,7 @@ + + + + + + \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml new file mode 100644 index 0000000..7d7f18f --- /dev/null +++ b/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000..94a25f7 --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/.idea/workspace.xml b/.idea/workspace.xml new file mode 100644 index 0000000..8278205 --- /dev/null +++ b/.idea/workspace.xml @@ -0,0 +1,14 @@ + + + + + + + + + + \ No newline at end of file diff --git a/Magic_8_ball b/Magic_8_ball new file mode 100644 index 0000000..7b4191e --- /dev/null +++ b/Magic_8_ball @@ -0,0 +1,51 @@ +require 'colorize' +class Ball + def shake + positive = ["It is certain (Бесспорно)", + "It is decidedly so (Предрешено)", + "Without a doubt (Никаких сомнений)", + "Yes — definitely (Определённо да)", + "You may rely on it (Можешь быть уверен в этом)"] + + hesitantly_positive = ["As I see it, yes (Мне кажется — «да»)", + "Most likely (Вероятнее всего)", + "Outlook good (Хорошие перспективы)", + "Signs point to yes (Знаки говорят — «да»)", + "Yes (Да)"] + + neutral = ["Reply hazy, try again (Пока не ясно, попробуй снова)", + "Ask again later (Спроси позже)", + "Better not tell you now (Лучше не рассказывать)", + "Cannot predict now (Сейчас нельзя предсказать)", + "Concentrate and ask again (Сконцентрируйся и спроси опять)"] + + negative = ["Don’t count on it (Даже не думай)", + "My reply is no (Мой ответ — «нет»)", + "My sources say no (По моим данным — «нет»)", + "Outlook not so good (Перспективы не очень хорошие)", + "Very doubtful (Весьма сомнительно)"] + + category = [positive,hesitantly_positive,neutral,negative] + + rez_category = category[rand(category.size)] + + case rez_category + when positive + answer = positive[rand(positive.size)] + puts answer.blue + when hesitantly_positive + answer = hesitantly_positive[rand(hesitantly_positive.size)] + puts answer.cyan + when neutral + answer = neutral[rand(neutral.size)] + puts answer.yellow + else + answer = negative[rand(negative.size)] + puts answer.red + end + end +end + +magic_8_ball = Ball.new + +magic_8_ball.shake From 200a9bb4c73e5d03ffe35635281261a17774cb34 Mon Sep 17 00:00:00 2001 From: Andrey Savchenko Date: Sat, 27 Oct 2018 11:41:00 +0300 Subject: [PATCH 2/4] =?UTF-8?q?=D0=98=D0=B7=D0=BC=D0=B5=D0=BD=D0=B8=D0=BB?= =?UTF-8?q?=20=D1=84=D0=B0=D0=B9=D0=BB=D1=8B=20Gemfile=20=D0=B8=20Gemfile.?= =?UTF-8?q?lock=20=D1=87=D1=82=D0=BE=D0=B1=20=D0=B4=D0=BE=D0=B1=D0=B0?= =?UTF-8?q?=D0=B2=D0=B8=D1=82=D1=8C=20colorize.=20=D0=A1=D0=BE=D0=B7=D0=B4?= =?UTF-8?q?=D0=B0=D0=BB=20=D1=84=D0=B0=D0=B9=D0=BB=20Pet?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .idea/lesson2.iml | 13 +++ .idea/workspace.xml | 232 ++++++++++++++++++++++++++++++++++++++++++++ Gemfile | 3 +- Gemfile.lock | 7 +- Pet.rb | 3 + 5 files changed, 256 insertions(+), 2 deletions(-) create mode 100644 Pet.rb diff --git a/.idea/lesson2.iml b/.idea/lesson2.iml index 5631ea9..770d681 100644 --- a/.idea/lesson2.iml +++ b/.idea/lesson2.iml @@ -7,7 +7,20 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/workspace.xml b/.idea/workspace.xml index 8278205..c3e30e6 100644 --- a/.idea/workspace.xml +++ b/.idea/workspace.xml @@ -1,14 +1,246 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + true + DEFINITION_ORDER + + + + + + + + + + + + + + + + + @@ -134,7 +157,7 @@ - + @@ -153,8 +176,31 @@ + + + + + + + + + + + + + + + + + + + + + + + @@ -172,26 +218,37 @@ 1540621259180 + + - + + + + + + + + - + - + - + - + @@ -210,35 +267,64 @@ - - + + + + + + - - + + + + + + + + + - + + + - + - - + + - + - - + + + + + + + + + + + + + + + + + + diff --git a/Pet.rb b/Pet.rb index 67acdb7..18a339b 100644 --- a/Pet.rb +++ b/Pet.rb @@ -1,3 +1,401 @@ class Pet - -end \ No newline at end of file + + def initialize + + @life = 5 # жызни от 1 до 10, при 0 умирает + @hungry = 2 # желание есть от 1 до 10, 1 мин = -1 ед, съел кота = 10, пол кота = +5 ед. + @sleep = 5 # желание спать от 1 до 10, 2 мин = -1 ед. + @mood = 2 # настроение от 1 до 10, 2 мин = -1 ед, поел +1 ед, пошутил +2 ед + @toilet = 5 # туалет от 1 до 10 + @comedy = 4 # комедийность от 1 до 10 + @sleeping = false # спит или нет + @state_life = "Нормальное здоровье, но есть над чем поработать." + @state_hungry = "Голодный. Вы не любите кошек? Да вы просто не умеете их готовить!" + @state_sleep = "Нормально вялый или слабо возбужденный." + @state_mood = "У меня депресия, а вы и котом покормить отказываетесь меня(" + @state_toilet = "Скоро схожу, но время ещё есть." + @state_mood = "Я в гневе. Ой-ой-ой, стоит только указать кому-нибудь на прореху в его мировоззрении, + и он сразу обижается." + puts "-----------------------------------------------------------------------------" + puts "Бабах, на ваш гараж упал космический корабль!" + puts "Из него еле живой вылазит инопланетянин." + puts "Вы подходите к нему и спрашиваете: Кто-ты? Как тебя зовут?" + puts "Альф: Меня зовут Гордон Шамуэй! Я жил на планете Мелмак." + puts "Ты: На нашей планете ты - Alien Life Form — внеземная форма жизни" + @being = "Внеземная форма жизни" + puts "Ты: Поэтому я буду называть тебя: " + @name = gets.chomp + puts "Альф: Тогда я буду звать тебя Вилли:)" + puts "-----------------------------------------------------------------------------" + + end + + def state + puts "-----------------------------------------------------------------------------" + puts "Сосотояние внеземной формы жизни по имени #{@name}:" + + case @life + when 8..10 + @state_life = "Превосходное здоровье!" + when 4..7 + @state_life = "Нормальное здоровье, но есть над чем поработать." + else + @state_life = "Спасай, я скоро умру(" + end + puts "Здоровье (1-10) сейчас #{@life}. #{@state_life}" + + case @hungry + when 8..10 + @state_hungry = "Удивительно, но я сыт)" + when 4..7 + @state_hungry = "Вроде голоден, а вроде и нет." + else + @state_hungry = "Голодный. Вы не любите кошек? Да вы просто не умеете их готовить!" + end + puts "Питание (1-10) сейчас #{@hungry}. #{@state_hungry}" + + case @sleep + when 8..10 + @state_sleep = "Я бодр как никогда)" + when 4..7 + @state_sleep = "Нормально вялый или слабо возбужденный." + else + @state_sleep = "Увижу подушку, отключусь.\n +— С каких это пор ты спишь стоя? +— С тех пор, как сплю с этой коробкой на голове. +— Ты смешон. +— Ну не смешней, чем ты спишь: рот открыт, слюна по подушке" + end + puts "Энергия (1-10) сейчас #{@sleep}. #{@state_sleep}" + + case @toilet + when 8..10 + @state_toilet = "Не хочу в туалет." + when 4..7 + @state_toilet = "Скоро схожу, но время ещё есть." + else + @state_toilet = "Пулей в туалет." + end + puts "Туалет (1-10) сейчас #{@toilet}. #{@state_toilet}" + + case @mood + when 8..10 + @state_mood = "Чудесное настроение. Лин, послушай старших: оставь искусство! Действуй по плану «А» — хватайся за первого попавшегося богача." + when 4..7 + @state_mood = "Нормуль настрой." + else + @state_mood = "Я в гневе. Ой-ой-ой, стоит только указать кому-нибудь на прореху в его мировоззрении, и он сразу обижается." + end + puts "Настроение (1-10) сейчас #{@mood}. #{@state_mood}" + + case @comedy + when 8..10 + @state_comedy = "Я счастлив, и вот моя шутка.\n +— Я заметил, что ты все время что-нибудь чинишь, Вилли.\n +— Это потому, что ты все время что-нибудь ломаешь, Альф.\n +— Хорошо, что наши хобби дополняют друг друга!" + when 4..7 + @state_comedy = "Я средне весел. Не нужно было сушить голову феном, а то у тебя мысли разлетелись." + else + @state_comedy = "я в печале. Боюсь, тебе придется любить меня до гроба." + end + puts "Комедийность (1-10) сейчас #{@comedy}. #{@state_comedy}" + puts "-----------------------------------------------------------------------------" + end + + def eat_cat + @hungry = 10 + puts "Альф: Спасибо я наелся, землянские котики очень вкусные)" + @comedy += 2 + @mood += 2 + @toilet -= 2 + time_of_passed + end + + def eat_half_cat + @hungry += 5 + @comedy += 1 + @mood += 1 + @toilet -= 2 + time_of_passed + end + + def toilet + @toilet = 10 + puts "Альф: Фух, успел до туалета.\n +— Что здесь такое? +— Дважды запеченная свинина. +— Больше похоже на дважды съеденную свинину." + @hungry -=2 + @mood += 2 + @comedy += 1 + time_of_passed + end + + def play + @hungry -= 3 + @sleep -= 4 + @mood += 3 + @comedy +=2 + puts "Ну у тебя и игры, шутка чётко поиграли!!!" + time_of_passed + end + + def walk + @hungry -= 3 + @sleep -= 3 + @mood += 2 + @toilet -= 3 + puts "Клёво погуляли)" + time_of_passed + end + + def fun + @hungry -= 2 + @mood += 4 + @comedy += 5 + puts "Еще анекдот. Все ли грибы можно есть? Все, но некоторые только один раз." + time_of_passed + end + + def sleep + @hungry -= 2 + @sleep = 10 + @mood += 3 + @toilet -= 3 + puts "Здорово поспал." + time_of_passed + end + + def help + puts "-----------------------------------------------------------------------------" + puts "state - выводит все важные состояния персонажа; +eat_cat - покормить Альфа одним котом); +eat_half_cat - покормить Альфа половинкой кота); +toilet - Альф идет в туалет; +play - поиграть с Альфом; +walk - погулять с Альфом; +fun - повеселиться с Альфом; +sleep - уложить спать." + puts "-----------------------------------------------------------------------------" + end + + private + + def time_of_passed + + @hungry -= 1 # желание есть от 1 до 10, 1 мин = -1 ед, съел кота = 10, пол кота = +5 ед. + @sleep -= 1 # желание спать от 1 до 10, 2 мин = -1 ед. + @mood -= 1 # настроение от 1 до 10, 2 мин = -1 ед, поел +1 ед, пошутил +2 ед + @toilet -= 1 # туалет от 1 до 10 + @comedy -= 1 + + if @hungry > 10 + @hungry = 10 + end + if @hungry <= 0 + @hungry = 1 + end + + if @sleep > 10 + @sleep = 10 + end + if @sleep <= 0 + @sleep = 1 + end + + if @mood > 10 + @mood = 10 + puts "Да когда я что ломал?! Ну, я имею в виду — в последнее время! +Ну на этой неделе... Ну хоть сегодня... Ну хоть после обеда..." + end + if @mood <= 0 + @mood = 1 + end + + if @toilet > 10 + @toilet = 10 + puts "У меня 8 желутков и всем нужно в туалет" + end + if @toilet <= 0 + @toilet = 1 + end + + if @comedy > 10 + @comedy = 10 + puts "Альф: Вилли, смотри: президент Кеннеди! А, нет, это «Мисс Болгария»..." + end + if @comedy <= 0 + @comedy = 1 + end + + + @life = (@mood + @toilet + @comedy + @hungry + @sleep)/5 + if @life <= 0 + puts "Плохо у вас улечу на другую планету. Прощай!!! +GAME OVER" + end + + end + +end + +alf = Pet.new + +alf.state +alf.help +alf.play +alf.state +alf.fun +alf.state + + # Про еду + # + # Твои веки тяжелеют... Ты засыпаешь... Ты больше не кот... Ты бублик. + # + # Я сидел тихо, мирно. Потом проголодался. Дальше как в тумане. + # + # Овощи — это не еда, это то, что едят с едой! + # + # — Правосудие беспристрастно! + # — А если я предложу правосудию печенье? + # — Правосудие рассмотрит ваше предложение. + # + # Вы не любите кошек? Да вы просто не умеете их готовить! + # + # — Что здесь такое? + # — Дважды запеченная свинина. + # — Больше похоже на дважды съеденную свинину. + # + # Как задолбали эти тупые правила: не есть кота, не бить посуду, не есть кота. + # + # — Если понадоблюсь, я буду у холодильника. + # — Не понадобишься. + # — Все равно буду у холодильника. + # + # — Какой чай вы предпочитаете: травяной или обычный? + # — Я предпочитаю скотч. + # + # Еще анекдот. Все ли грибы можно есть? Все, но некоторые только один раз. + # + # Давайте сперва перекусим, а дружелюбие проявите потом. + + + # Про любовь + # + # У нас говорят: «Если любишь кого-то — отпусти его. Если он к тебе вернется — он твой. Если его переедет машина — так тому и быть». + # + # Ей пришла в голову глупейшая мысль, что она меня больше не любит. + # + # — Ты не хочешь, чтобы парень, который тебе нравится, знал, что нравится тебе?! + # — Именно. + # — Логично. + # + # Я вас, люди, не понимаю. Если вы любите кого-то, вы боитесь, чтоб он узнал об этом. + # Но, когда оказывается, что вы ему тоже небезразличны, вы жалеете о потерянном времени. + # А если завтра ваша планета взорвется? + # + # Боюсь, тебе придется любить меня до гроба. + + # Про политику + # + # — Чтобы на Земле наступил мир, мировые лидеры должны обняться и расцеловаться. + # — Ты думаешь, Рейган с Горбачевым будут целоваться? + # — Не в губы... + # + # Позовите репортеров: у нас демократия умерла! + # + # — Альф, как ты думаешь решить проблему бездомных? + # — Уже решил! + # — Как решил? + # — Для каждого из них строится дом. + # — А что ты думаешь делать с безработицей? + # — Ее уже нет. Все строят дома! + # — Может, и войн больше нет? + # — А кому воевать? Все бегают, обои для новых домов выбирают. + # + # Вилли, смотри: президент Кеннеди! А, нет, это «Мисс Болгария»... + # + # — Я требую восстановления озонового слоя Земли. + # — Альф, к субботе мы не успеем... + + + # Советы + # + # Лин, послушай старших: оставь искусство! Действуй по плану «А» — хватайся за первого попавшегося богача. + # + # Ой-ой-ой, стоит только указать кому-нибудь на прореху в его мировоззрении, и он сразу обижается. + # + # — Не стоит так ходить, Вилли! + # — Почему? + # — Потому что я проигрываю! + # + # — И не вини себя. + # — А я и не виню. + # — Значит, ты слушал меня невнимательно. + # + # Не нужно было сушить голову феном, а то у тебя мысли разлетелись. + + # Про разрушения + # + # Да когда я что ломал?! Ну, я имею в виду — в последнее время! + # Ну на этой неделе... Ну хоть сегодня... Ну хоть после обеда... + # + # — Кейт! Вилли! Я поранил коленку! Идите поцелуйте! + # + # — Это такая игрушка — пазлы. + # — Она поломана! + # — В этом и смысл, Альф. Ты должен ее собрать. + # — Чего это?! Я ее не ломал! + # + # Барбекю уже разгорелось... особенно колеса. + # + # Пожарная? Скорее приезжайте! На меня напал гигантский таракан! + # Не приедете? Тогда я кот и не могу слезть с дерева. + # + # + # — Где ты сейчас? Чем ты занимаешься? + # — Я в спальне, примеряю синее платье Кейт. + # — Ни на шаг оттуда! + # — Куда же я пойду, у меня нет подходящих туфель. + # + # — Альф, где ты взял эту молнию? + # — Вилли, помнишь свою старую куртку, которую ты хотел выбросить, — не выбрасывай ее... + # Я отрезал эту молнию с твоего нового пальто. + # + # Жир горит! Жир горит! Брось занавески, туши меня! + # + # — Я заметил, что ты все время что-нибудь чинишь, Вилли. + # — Это потому, что ты все время что-нибудь ломаешь, Альф. + # — Хорошо, что наши хобби дополняют друг друга! + # + # — Я уже месяц под домашним арестом. + # — Не месяц, а три дня. + # — Тогда почему я нацарапал тридцать черточек на перилах? + # — Потому что ты вандал. + + # О разном + # + # — С каких это пор ты спишь стоя? + # — С тех пор, как сплю с этой коробкой на голове. + # — Ты смешон. + # — Ну не смешней, чем ты спишь: рот открыт, слюна по подушке... + # + # Когда ползаешь под чужими окнами, и не такое услышишь! + # + # — Ты знаешь, кто не очень рад из-за ты-знаешь-кого. + # — Ты скажи ты-знаешь-кому, пусть идет он-знает-куда. + # + # — И что Рэнди? + # — Неизвестно. Информация поступила в его голову и теперь безуспешно ищет там мозги. + # + # Ладно, посмотрим, что там у Вилли в кармане... О Боже, чья-то рука! + # + # Это я такой чувствительный, или в комнате какая-то напряженность? + # + # — По-моему, мы договаривались, что ты будешь спрашивать разрешения, прежде чем трогать мои инструменты. + # — Извини. Можно? + # — Да. + # — Вот видишь, ты по-прежнему главный. + # + # Я устал, я моргаю с трудом! From a8d4768b8aa5856401d8104b5c0748fa7e64defe Mon Sep 17 00:00:00 2001 From: Andrey Savchenko Date: Mon, 29 Oct 2018 14:49:04 +0200 Subject: [PATCH 4/4] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=B8=D0=BB?= =?UTF-8?q?=20Exit?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .idea/workspace.xml | 68 +++++++++++++-------------------------------- Pet.rb | 17 ++++++++++-- 2 files changed, 34 insertions(+), 51 deletions(-) diff --git a/.idea/workspace.xml b/.idea/workspace.xml index 48e41e8..a6ec982 100644 --- a/.idea/workspace.xml +++ b/.idea/workspace.xml @@ -13,18 +13,19 @@ - + - + + - - + + @@ -49,13 +50,13 @@ - + - + @@ -68,24 +69,8 @@ - - - - - - - - - - - - - - - - - - + + @@ -114,7 +99,7 @@ true DEFINITION_ORDER - +