Предлагаю следущий вариант:
Очковая зона и остальные места - две разных зоны начисления очков.
1.20+10=30
2.19+8=27
3.18+6=24
4.17+5=22
5.16+4=20
6.15+3=18
7.14+2=16
8.13+1=14
===========
9. 12
10.11
11.10
12.9
13.8
14.7
15.6
16.5
17.4
18.3
19.2
20.1
Поясняю: выше приведена таблица ИЗНАЧАЛЬНОГО начисления очков, т.е. при СОВПАДЕНИИ имя и места начисляется СТОЛЬКО и только СТОЛЬКО очков. Привилегия для первой восьмерки: 30,27,24 и т.д. думаю, почему - объяснять не надо
Теперь так: к первым 8 местам (к их очкам) как премия за попадание в очковую зону добавляется еще 9 очков (8,7,6,5... - система "место-балл"). Т.е:
1.20+10=30 |
2.19+8=27 |
3.18+6=24 |
4.17+5=22 | +9...
5.16+4=20 |
6.15+3=18 |
7.14+2=16 |
8.13+1=14 |
Полностью в случае ПОЛНОГО СОВПАДЕНИЯ начисление будет выглядеть так:
1.20+10=30 | | = 1.39
2.19+8=27 | | = 2.36
3.18+6=24 | | = 3.33
4.17+5=22 | +9... | = 4.31
5.16+4=20 | | = 5.29
6.15+3=18 | | = 6.27
7.14+2=16 | | = 7.25
8.13+1=14 | | = 8.23
=============================
9. 12
10.11
11.10
12.9
13.8
14.7
15.6
16.5
17.4
18.3
19.2
20.1
Это - максимум, можно "выиграть", угадав ВСЕ позиции. В очках это 321.
Теперь с неточностями. При попадании в очковую зону вне зависимости от позиции начисляется 9 очков. А если НЕТ попадания в очковую зону (даже если названо 8е место, а пилот приехал девятым) ОЧКОВ НЕ НАЧИСЛЯЕТСЯ. Это - что-то вроде риска.
Теперь с начислением очков при попадании в очковую зону с "промахом" в несколько позиций. Если позиция пилота названа неточно, но пилот есть в очковой зоне, то вверх или вниз таблицы (в сторону реальной позиции пилота) выстраивается МАТРИЦА (назаовем ЭТО так :>) с цифрами от 9 до 1 по убыванию, причем 9 - загаданная позиция:
Загадал: Приехали:
1.ХПМ 1.ХПМ
2.МШ 2.АЛОН
3.АЛОН 3.КИМИ
4.ФИЗ 4.ВЕБ
5.КУЛХ 5.КУЛХ
6.ВЕБ 6.САТО
7.ХАЙД 7.ХАЙД
8.КИМИ 8.БАРИ
Ситуация для Кими:
1.ХПМ (-) 1.ХПМ
|
2.МШ (-) 2.АЛОН
|
3.АЛОН (4)-3.КИМИ
|
4.ФИЗ (5) 4.ВЕБ
|
5.КУЛХ (6) 5.КУЛХ
|
6.ВЕБ (7) 6.САТО
|
7.ХАЙД (8) 7.ХАЙД
|
8.КИМИ-(9) 8.БАРИ
За Кими начисляется в данном случае 9+4 очков, т.е 13 очков. Строить матрицу нужно для КАЖДОГО промаха. Еще примеры:
Ситуация для Веббера:
1.ХПМ (-) 1.ХПМ
|
2.МШ (-) 2.АЛОН
|
3.АЛОН (-) 3.КИМИ
|
4.ФИЗ (7)-4.ВЕБ
|
5.КУЛХ (8) 5.КУЛХ
|
6.ВЕБ (9) 6.САТО
|
7.ХАЙД (-) 7.ХАЙД
|
8.КИМИ (-) 8.БАРИ
За Веббера начисляется 9+7 очков, т.е. 16 очков. За Алонсу в вышеприведенном примере начислится 9+8, т.е 17 очков.
А полностью вышеприведенный пример будет выглядеть так:
Прогноз: Результат и очки:
1.ХПМ 1.ХПМ = 39 (Точно)
2.МШ 2.АЛОН= 9+8= 17 (Промах одна позиция, добавл. 8 очков)
3.АЛОН 3.КИМИ= 9+4= 13 (Промах пять позиций, добавл. 4 очков)
4.ФИЗ 4.ВЕБ = 9+7= 16 (Промах две позиции, добавл. 7 очков)
5.КУЛХ 5.КУЛХ= 29 (Точно)
6.ВЕБ 6.САТО= 0 (Сато нет в очках)
7.ХАЙД 7.ХАЙД= 25 (Точно)
8.КИМИ 8.БАРИ= 0 (Барикелло нет в очках)
ИТОГО ОЧКОВ: 139 из 321 возможных.
Что касается позиций вне очковой зоны, то там матрица при промахе состоит из 4 чисел, где 4 - загаданное место. Т.е. если совершен промах на 5 и более позиций очков не начисляется. Матрица не стрится для позиций ниже 17й. Т.е. если загадана 17я позиция а пилот приехал 18м,19м или 20м - очки при неугадывании НЕ НАЧИСЛЯЮТСЯ.
Пример полного прогноза:
Прогноз: Результат и очки:
1.ХПМ 1.ХПМ =9+30= 39 (Точно)
2.АЛОН 2.АЛОН=9+27= 36 (Точно)
3.ФИЗ 3.МАСС = 0 (Массы нет в очках)
4.МШ 4.КУЛХ= 9+8= 17 (Промах одна позиция, добавл. 8 очков)
5.КУЛХ 5.ЛЙЮЦ= 9+6= 15 (Промах три позиции, добавл. 6 очков)
6.БАРИ 6.РШ = 0 (Ральфа нет в очках)
7.ВЕББ 7.ФИЗ = 9+5= 14 (Промах четыре позиции, добавл. 5 очков)
8.ЛЬЮЦ 8.МШ = 9+5= 14 (Промах четыре позиции, добавл. 5 очков)
=================================================================
9.КИМИ 9.БАРИ = 0
10.БАТ 10.БАТ = 11 (Точно)
11.ТРУ 11.ХАЙД = 1 (Промах три позиции, начисл. 1 очко)
12.САТО 12.ВИЛЬ = 0
13.РШ 13.САТО = 3 (Промах одна позиция, начисл. 3 очка)
14.ХАЙД 14.ТРУ = 1 (Промах три позиции, начисл. 1 очко)
15.МАСС 15.КИМИ = 0
16.ВИЛЬ 16.ВЕББ = 0
17.КАРТ 17.МОНТ = 3 (Промах одна позиция, начисл. 3 очка)
=================================================================
18.МОНТ 18.ФРИЗ = 0 (Не точно)
19.АЛЬБ 19.КАРТ = 0 (Не точно)
20.ФРИЗ 20.АЛЬБ = 0 (Не точно)
Точно угадано 3. "Очковых" промахов 8.
ИТОГО ОЧКОВ: 153 из 321 возможных.
Систему НАЧИСЛЕНИЯ как мог объяснил. Теперь попытаюсь составить алгоритм:
1)Проверить введенный результат начиная с первого.
*Для первых восьми:
>Входт ли он в первую восьмерку:
-да: начислить 9 очков,
~при совпадении (точно) начислить очки и прибавить их к бонусным 9
~при промахе посчитать прибавку к 9 бонусным очкам
-нет:нет очков
*Для остальных (до 17го места включительно)
>Точно: начислить очки
>Промах: посчитать по МАТРИЦЕ очки "внеочкового промаха" (я уже и слова подобрать не могу :>)
*Для 18го,19го и 20го места:
>Если точно - начислсить 3,2 или 1 очко соответственно
>Если не точно - очков не начислять
2)Посчитать сумму всех очков
3)Сравнить результат со ставкой (ставка делается заранее, еще до заполнения прогноза). Ставка принимается в очках и в денежках. Ставка от 80 и меньше очков считается как коэфицент 1:1 (80 очков можно набрать угадав очковую зону без единого совпадения), т.е. ставка в денежках возвращается в случае достижения и даже превышения уровня ставки в очках. Ставки от 81 до 100 - коэф. 1:1,2. Ставки от 101 до 130 - коэф. 1:1,4. Ставки от 131 до 140 - 1:1,5. Ставки от 141 до 150 - 1:6. От 151 до 162 - 1:1,7.От 163 до 175 - 1:1,8. От 176 до 183 - 1:1,9. От 184 до 193 - 1:1,2. От 194 до 205 - 1:1,4. От 206 до 215 - 1:1,6. От 216 до 222 - 1:1,8. От 223 до 232 - 1:2. От 233 до 242 - 1:2,5. От 243 до 255 - 1:3. От 256 до 265 - 1:3,5. От 266 до 280 - 1:4,2. От 281 до 300 - 1:5,5. От 301 до 320 - 1:10. При ставке в 321 очко - 1:50. Если ставка больше, чем количество набранных очков, то с проигравшего снимается сумма, зависящая от категории ставки и от ставки в денежках непосредственно. При выигрыше все наоборот.
----------------{это были действия для одного участника}--
4)Сложить суммы очков всех участников прогноза.
5)Выдать победителям денежки, выигранные на тотализаторе. Ставку тоже выдать в денежках.
Вот вроде так. Есля не пойдет, дык не пойдетъ!