Skip to content

Commit cdd59aa

Browse files
authored
Grafické a textové změny
Duhový text, odložení změny nastavení, možnost změnit prodlevu mezi stiskem a puštěním klávesy při spamu
1 parent 99eb9d9 commit cdd59aa

File tree

2 files changed

+49
-11
lines changed

2 files changed

+49
-11
lines changed

spam.cpp

+21-6
Original file line numberDiff line numberDiff line change
@@ -30,8 +30,9 @@ int main() {
3030
SetConsoleCP(1250);
3131

3232
setColor(WHITE);
33-
cout << "(c) Petr Šácha 2022. " << chooseRandElem(splashText) << "\nPoužitím programu souhlasíte se samostatností Míkovic.\n\n";
34-
33+
cout << "(c) Petr Šácha 2022. ";
34+
printRainbowMsg(9, chooseRandElem(splashText), WHITE);
35+
cout << "\nPoužitím èi modifikací programu souhlasíte se samostatností Míkovic.\n\n";
3536
printColoredMsg(WHITE, "Chcete upravit nastavení? (ano/ne): ", USERINPUT);
3637
cin >> ans;
3738

@@ -42,15 +43,28 @@ int main() {
4243

4344
if (ans == "ano") {
4445

45-
Q1:
46+
Q1A:
4647
printColoredMsg(WHITE, "\nProdleva mezi repeticemi (ms): ", USERINPUT);
4748
cin >> delay;
4849

4950
if (!cin || delay < 0 || delay > 10000) {
5051

5152
flushCin();
5253
printColoredMsg(FAILURE, "Neplatná prodleva. Zadejte jinou.\n", WHITE);
53-
goto Q1;
54+
goto Q1A;
55+
}
56+
57+
58+
59+
Q1B:
60+
printColoredMsg(WHITE, "\nProdleva mezi stiskem a odesláním klávesy (ms): ", USERINPUT);
61+
cin >> inbDelay;
62+
63+
if (!cin || inbDelay < 0 || inbDelay > 1000) {
64+
65+
flushCin();
66+
printColoredMsg(FAILURE, "Neplatná prodleva. Zadejte jinou.\n", WHITE);
67+
goto Q1B;
5468
}
5569

5670

@@ -79,7 +93,7 @@ int main() {
7993
goto Q3;
8094
}
8195

82-
printColoredMsg(SUCCESS, "\nNastaveno.\n", WHITE); // Lež
96+
printColoredMsg(SUCCESS, "\nNastaveno.\n", WHITE); // Lež! Pøece to bude nastaveno až o nìkolik øádkù pozdìji
8397
}
8498

8599

@@ -89,8 +103,9 @@ int main() {
89103
setColor(SUCCESS);
90104

91105
cout << "\nProdleva nastavena na doporuèenou (" << delay << "ms).\n";
106+
cout << "Prodleva mezi stiskem a odesláním klávesy nastavena na doporuèenou (" << inbDelay << "ms).\n";
92107
cout << "Locale nastaven na doporuèený (" << sLocale << ").\n";
93-
cout << "Codepage nastaven na doporuèený (" << codepage << ").\n"; // Také lži. Ne, neplánuji s tím nic dìlat
108+
cout << "Codepage nastaven na doporuèený (" << codepage << ").\n"; // Další lži! Tyto jsou alespoò o hodnì øádkù blíž
94109
}
95110

96111
setlocale(LC_ALL, sLocale.c_str());

spam.h

+28-5
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,9 @@ using namespace std;
1111

1212
// Promìnné
1313
wstring wts;
14-
int delay;
14+
int delay = 30;
15+
int inbDelay = 0;
16+
HANDLE hConsole = GetStdHandle(STD_OUTPUT_HANDLE);
1517

1618
// Arrays
1719
vector<string> splashText = { "Le fishe au chocolat.", "Napajedla neexistují.", "Praise Gabèa.", "Python je cringe.", "Garance špagetového kódu.", "Schváleno Kuncišem.", "Spamujte s tím Hendrycha.", "Isn't it?", "Nenávidím tento jazyk.", "Poøád stabilnìjší než Fallout 76.", "Amogus sus." };
@@ -54,14 +56,18 @@ void sendText() {
5456
shift.ki.dwFlags = KEYEVENTF_KEYUP;
5557
alt.ki.dwFlags = KEYEVENTF_KEYUP;
5658

59+
Sleep(inbDelay);
5760
SendInput(1, &input, sizeof(INPUT));
61+
Sleep(inbDelay);
5862
SendInput(1, &shift, sizeof(INPUT));
63+
Sleep(inbDelay);
5964
SendInput(1, &alt, sizeof(INPUT));
6065

6166
}
6267

6368
SendInput(1, &enter, sizeof(INPUT));
6469
enter.ki.dwFlags = KEYEVENTF_KEYUP;
70+
Sleep(inbDelay);
6571
SendInput(1, &enter, sizeof(INPUT));
6672

6773
Sleep(delay);
@@ -75,19 +81,36 @@ void flushCin() {
7581

7682
void setColor(WORD msgColor) {
7783

78-
HANDLE hConsole = GetStdHandle(STD_OUTPUT_HANDLE);
79-
SetConsoleTextAttribute(hConsole, msgColor);
84+
SetConsoleTextAttribute(hConsole, msgColor); // Toto mi usnadní práci jen minimálnì, ale je to i tak užiteèné
8085
}
8186

8287
void printColoredMsg(WORD msgColor, string msg, WORD nextColor) {
83-
84-
HANDLE hConsole = GetStdHandle(STD_OUTPUT_HANDLE);
8588

8689
SetConsoleTextAttribute(hConsole, msgColor);
8790
cout << msg;
8891
SetConsoleTextAttribute(hConsole, nextColor);
8992
}
9093

94+
void printRainbowMsg(int clrBase, string msg, WORD nextColor) {
95+
96+
int clr = clrBase;
97+
98+
for (int i = 0; i < msg.length(); i++) {
99+
100+
SetConsoleTextAttribute(hConsole, clr);
101+
clr++;
102+
103+
if (clr > clrBase + 5) {
104+
105+
clr = clrBase;
106+
}
107+
108+
cout << msg[i];
109+
}
110+
111+
SetConsoleTextAttribute(hConsole, nextColor);
112+
}
113+
91114
template<typename T>
92115

93116
T chooseRandElem(vector<T> arr) {

0 commit comments

Comments
 (0)