Обърквам се в логиката...

CosaNostra

Registered
Здравейте, колеги! Вече близо 2 часа се опитвам да скалъпя една простичка формула, но нещо по трасето се губи. Ето един пример, по-долу ще обясня кое за какво се използва:

Енергия: 90
Макс. Енергия: 100
Кафе: 10
Изпивам: "x"

До тук всичко изглежда нормално, но сега идва тънкия момент. Като изпия 1 кафе енергията ми се запълва максимално, но ако искам да изпия 2 кафета искам да ми изведе грешка. Същото трябва да се получава и когато енергията ми е: 91-99 - 1 х Кафе; 80-89 - 2 х Кафе и т.н. Много ще съм благодарен за помощта! :?:
 
@djman, нещо не се получава. Като заместя drink(1, 90); с моите променливи ми изкарва само "Nope!"

eLite, не разбрах тук ( if((($coffee*10)+$energy) <= $max_energy) ) защо го умножаваш по 10?
 
1 е броя на кафетата, 90 е текущата ти енергия. Просто няма причина да не работи о.О Вземи лист и напиши моята формула и ще видиш че е точно това. Ако искаш дай код да видим как си заместил.
 
Да, намерих си грешката. Обаче, ако имам примерно 89 енергия и искам да изпия 2 кафета ми изписва "Nope!", а аз искам да може да се извършва това действие. Иначе откъм формула и аз бях стигнал до тук, след доста мъки и не мога да разбера какво точно не правя както трябва :idea:
 
CosaNostra каза:
Да, намерих си грешката. Обаче, ако имам примерно 89 енергия и искам да изпия 2 кафета ми изписва "Nope!", а аз искам да може да се извършва това действие. Иначе откъм формула и аз бях стигнал до тук, след доста мъки и не мога да разбера какво точно не правя както трябва :idea:

Ахаа, ето какво било. Я виж така:

http://codepad.org/cMkPTNNm
 
CosaNostra каза:
Отново ми изписва "Nope" при опит да изпия 2 кафета ... :idea:

Погледни примерите. При 2 кафета и 89 енергията става на 100. При 1 кафе и 91 енергия - пак 100. Дай код, щото моя пример работи... :roll:

PHP:
drink(1, 80); // You've drunk 1 x Coffee and your energy is 90 now.
drink(2, 80); // You've drunk 2 x Coffee and your energy is 100 now.
drink(2, 89); // You've drunk 2 x Coffee and your energy is 100 now.
drink(2, 90); // Nope!
drink(1, 91); // You've drunk 1 x Coffee and your energy is 100 now.
 
CosaNostra каза:
eLite, не разбрах тук ( if((($coffee*10)+$energy) <= $max_energy) ) защо го умножаваш по 10?
Умножавам броя кафета по 10 енергия, при условие, че 1 кафе е 10 енергия.
 

Back
Горе