Skip to content

Commit

Permalink
Assembly v 2.4 (18.05.24)
Browse files Browse the repository at this point in the history
  • Loading branch information
adslbarxatov committed May 18, 2024
1 parent 585f0dd commit e7c8810
Show file tree
Hide file tree
Showing 7 changed files with 121 additions and 13 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/Release.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ jobs:
# Константы, используемые далее по тексту
env:
PROJ: ${{ github.event.repository.name }}
TAG: '2.3'
TAG: '2.4'

steps:
# Проверка состава репозитория (без анализа, как может показаться)
Expand Down
10 changes: 5 additions & 5 deletions .release/Release.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
_Changes for v 2.3_:
- Updated HypeHelp and Updates checker mechanics: this should fix apps freezing immediately after launch (on some PCs);
- Updated the HypeHelp links list;
- Update for XPUN has been applied;
- Added the correct appearance for the dices
_Changes for v 2.4_:
- The application has been retargeted to `.NET Framework 4.8.1`;
- Access checking method has been completely rewritten: now it will properly detect problems with file / registry input / output and help user with fixing them;
- Added the special section in the user guide for access troubleshooting;
- Updated HypeHelp and Updates checker mechanics: this should fix apps freezing immediately after launch (on some PCs)
Binary file added .release/Thousand.exe
Binary file not shown.
48 changes: 48 additions & 0 deletions .release/Thousand_en_us.dph
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
The game uses 5 dice. Each player takes turns rolling the dice. If all or part of the dice form a combination, the player may optionally roll all or the remainder of the dice respectively again. Only after all the dice have taken part in the combinations, they can all be rolled again.

Each roll brings points (for each roll they are counted separately), which are accumulated until the player saves them. Unsaved points are burned if some roll didn’t give any combinations. When saving points or when they burn out, the turn passes to the next player. The game continues until one of the players gets exactly 1000 points.


Combinations that allow you to perform an additional roll (+ points increment):

one “one” = +10
one “five” = +5
two “ones” = +20
two “fives” = +10
three “ones” = +100
three “twos” = +20
three “threes” = +30
three “fours” = +40
three “fives” = +50
three “sixes” = +60
four “ones” = +200
four “twos” = +40
four “threes” = +60
four “fours” = +80
four “fives” = +100
four “sixes” = +120
five “ones” = +1000
five “twos” = +200
five “threes” = +300
five “fours” = +400
five “fives” = +500
five “sixes” = +600
“one”, “two”, “three”, “four” and “five” = +150
“two”, “three”, “four”, “five” and “six” = +250


It should be noted that if the sum of the saved and current points exceeds 1000, the current points are also burned.

In addition, there are so-called “casks” in the game (in the app they’re indicated on the scales from above by red areas). These are the cases where the points saved are in one of the following ranges: 0 to 100 (not including 100), 300 to 400 (not including 400), or 700 to 800 (not including 800). In these cases, the dice must be rolled until the sum of points leaves these ranges.

Blue scales allow you to navigate with the “casks”, indicating where the player will be relative to them if he saves points. The yellow bars show the points already saved.


Keyboard:
- [F1] – call help;
- [F2] – change the interface language;
- [F5] – select the first player;
- [F12] – exit the game;
- Hold [Space] – shuffle the dice;
- Release [Space] – roll the dice;
- [Enter] – save current points
48 changes: 48 additions & 0 deletions .release/Thousand_ru_ru.dph
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
Для игры используются 5 игральных кубиков. Каждый игрок по очереди бросает кубики. Если все или часть кубиков формируют некоторую комбинацию, игрок может по желанию бросить все или оставшуюся часть кубиков соответственно ещё раз. Только после того, как все кубики поучаствовали в комбинациях, их можно все бросать заново.

Каждый бросок приносит очки (для каждого броска они считаются отдельно), которые накапливаются до того как игрок не сохранит их. Несохранённые очки сгорают, если какой-то бросок не дал никаких комбинаций. При сохранении очков или при их сгорании ход переходит к следующему игроку. Игра продолжается до получения одним из игроков ровно 1000 очков.


Комбинации, позволяющие выполнить дополнительный бросок (+ добавляемые очки):

одна единица = +10
одна пятёрка = +5
две единицы = +20
две пятёрки = +10
три единицы = +100
три двойки = +20
три тройки = +30
три четвёрки = +40
три пятёрки = +50
три шестёрки = +60
четыре единицы = +200
четыре двойки = +40
четыре тройки = +60
четыре четвёрки = +80
четыре пятёрки = +100
четыре шестёрки = +120
пять единиц = +1000
пять двоек = +200
пять троек = +300
пять четвёрок = +400
пять пятёрок = +500
пять шестёрок = +600
единица, двойка, тройка, четвёрка и пятёрка = +150
двойка, тройка, четвёрка, пятёрка и шестёрка = +250


Следует отметить, что, если сумма сохранённых и текущих очков превышает 1000, текущие очки также сгорают.

Кроме того, в игре существуют так называемые «бочки» (в программе указаны на шкалах сверху красными областями). Это – те случаи, когда сохранённые очки находятся в одном из следующих диапазонов: от 0 до 100 (не включая 100), от 300 до 400 (не включая 400) или от 700 до 800 (не включая 800). В этих случаях кубики нужно бросать до тех пор, пока сумма очков не покинет эти диапазоны.

Ориентироваться с «бочками» позволяют синие шкалы, указывающие, где относительно них окажется игрок, если сохранит очки. Жёлтые шкалы показывают уже сохранённые очки.


Клавиатура:
- [F1] – вызвать справку;
- [F2] – изменить язык интерфейса;
- [F5] – выбрать первого игрока;
- [F12] – выйти из игры;
- Удерживать [Пробел] – перемешивать кости;
- Отпустить [Пробел] – бросить кости;
- [Enter] – сохранить текущие точки
6 changes: 6 additions & 0 deletions Changes.log
Original file line number Diff line number Diff line change
@@ -1,5 +1,11 @@
Thousand: changes log

Version 2.4:
• The application has been retargeted to .NET Framework 4.8.1;
• Access checking method has been completely rewritten: now it will properly detect problems
with file / registry input / output and help user with fixing them;
• Added the special section in the user guide for access troubleshooting

Version 2.3:
• Updated HypeHelp and Updates checker mechanics: this should fix apps freezing immediately
after launch (on some PCs)
Expand Down
20 changes: 13 additions & 7 deletions src/ThousandForm.cs
Original file line number Diff line number Diff line change
Expand Up @@ -10,19 +10,24 @@ namespace RD_AAOW
/// </summary>
public partial class ThousandForm: Form
{
// Переменные
// "Рисунки" на сторонах кубиков
private List<string> sides = new List<string> {
" " + RDLocale.RN + "" + RDLocale.RN + " ",
"" + RDLocale.RN + " " + RDLocale.RN + "",
"" + RDLocale.RN + "" + RDLocale.RN + "",
"● ●" + RDLocale.RN + " " + RDLocale.RN + "● ●",
"● ●" + RDLocale.RN + "" + RDLocale.RN + "● ●",
"● ●" + RDLocale.RN + "● ●" + RDLocale.RN + "● ●",
}; // "Рисунки" на сторонах кубиков
private uint[] counts = new uint[] { 0, 0, 0, 0, 0, 0 }; // Количества разных сторон кубиков
private uint currentPlayer = 1; // Номер текущего игрока
private uint[] playerScores = new uint[] { 0, 0, 0 }; // Очки игроков
/*private Random rnd = new Random (); // ГПСЧ*/
};

// Количества разных сторон кубиков
private uint[] counts = new uint[] { 0, 0, 0, 0, 0, 0 };

// Номер текущего игрока
private uint currentPlayer = 1;

// Очки игроков
private uint[] playerScores = new uint[] { 0, 0, 0 };

// Ссылки на контролы
private List<Label> cubes;
Expand All @@ -47,7 +52,8 @@ private void ThousandForm_Load (object sender, EventArgs e)
{
// Заголовок
this.Text = ProgramDescription.AssemblyTitle;
if (!RDGenerics.IsRegistryAccessible)
/*if (!RDGenerics.IsRegistryAccessible)*/
if (!RDGenerics.AppHasAccessRights (false, true))
this.Text += RDLocale.GetDefaultText (RDLDefaultTexts.Message_LimitedFunctionality);

RDGenerics.LoadWindowDimensions (this);
Expand Down

0 comments on commit e7c8810

Please sign in to comment.