Ознакомьтесь с нашей политикой обработки персональных данных
20:25 

Я только начал, оцените сценку "Охотник и лес"

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication1
{
class Hanter_and_forest //охотник и лес
{
static void Main(string[] args)
{
int HP_char; //здоровье нашего охотника
int attack_char; //атака нашего охотника
int HP_enemy; // здоровье врага
int attack_enemy; //атака врага
bool enemy; //будет или не будет врага... "быть или не быть" прям по Шекспиру
HP_char = 10; //присваиваем значение здоровья нашего подопечного...
attack_char = 4; // ...и атаку
Console.WriteLine("охотник шел по лесу..."); //начало истории
Random rand = new Random(); //создаем новую случайность
int selecta = rand.Next(1, 6); //присваиваем этой случайности имя selecta со значением 1 к 5
switch (selecta) // начинаем "переключать" наше событие с лесом
{
case 1: //первая случайность
enemy = true; //враг есть
attack_enemy = 3; //атака лисицы
HP_enemy = 6; //жизни лисицы
Console.WriteLine("и наткнулся на лисицу");
break; //заканчиваем свичу
case 2: //вторая...
enemy = false; //нету врага
attack_enemy = 0; //пока не разобрался
HP_enemy = 0; //нужно ли ставить нолики или убрать вообще эти строки
Console.WriteLine("и наткнулся на поляну грибов");
break; //заканчиваем свичу
case 3: //третья..
enemy = true; //опять есть враг
attack_enemy = 7; //силен как медведь
HP_enemy = 9; // и живуч он также
Console.WriteLine("и наткнулся на медведя");
break; //заканчиваем свичу
case 4: //возможно четвертая...
enemy = true; //есть живность
attack_enemy = 4; //волчатко хилый
HP_enemy = 5; //и здоровьем не вышел
Console.WriteLine("и наткнулся на волка");
break; //заканчиваем свичу
default: //... и остальные случайности
enemy = false; //нету живности
attack_enemy = 0; //опять же нули
HP_enemy = 0; //ага и тут
Console.WriteLine("и никто и ничто не встретилось по дороге");
break; //заканчиваем свичу
}
if (enemy) //булево значение что враг есть
{
Console.WriteLine("... и ему пришлось сражаться"); //уж пришлось...
Console.WriteLine("здоровье у охотника " + HP_char); //начальное здоровье
Console.WriteLine("здоровье у зверя" + HP_enemy); // зверя и охотника
while (HP_enemy >= 0 || HP_char >= 0)
{

HP_char = HP_char - attack_enemy; //маленькие расчеты
HP_enemy = HP_enemy - attack_char; // считаем повреждения
Console.WriteLine("зверь ударил на " + attack_enemy); //на сколько зверек ударил зверек
Console.WriteLine("охотник выстрелил на " + attack_char); // на сколько атаковал наш чувак
if (HP_char >= 0) Console.WriteLine("здоровье у охотника " + HP_char); // убывшее здоровье охотника
if (HP_char >= 0) Console.WriteLine("здоровье у зверя" + HP_enemy); //убывшее здоровье зверя

if (HP_char <= 0) //если здоровья меньше 0 у охотника
{
Console.WriteLine("охотник не рассчитал свои силы и был растерзан");
break;
}
if (HP_enemy <= 0) //если здоровье меньше 0 у зверя
{
Console.WriteLine("зверь был повержен");
break;
}
}
}
else //если не было врага
{
Console.WriteLine("...так и заскучал, потому как не с кем воевать"); //эх, бывает...
}
Console.ReadLine(); //чтобы можно было это увидеть не на секунду, а подольше
}
}
}

@темы: Вопрос, Алгоритм, C#

Комментарии
2015-12-15 в 10:36 

8115
1. Код отформатируй
2. int HP_char; - объявление переменных без инициализации - это плохой стиль, потенциальная возможность ошибки
3. case 1 - введи внятный enum вместо магических чисел
4. HP_char = HP_char - attack_enemy; не лучше ли: HP_char -= attack_enemy; HP_enemy = HP_enemy - attack_char; - то же.

В целом, интересно!

2015-12-15 в 13:35 

Just-a-Shadow
I'm not dead... yet.
Совет: код лучше вставлять через сервисы типа pastebin.com :)

2015-12-15 в 16:11 

ага, учту, чтобы кому интересно, могли смотреть мои каракули :)

Комментирование для вас недоступно.
Для того, чтобы получить возможность комментировать, авторизуйтесь:
 
РегистрацияЗабыли пароль?

ru_programming

главная