| |\r
| |\r
| S |\r
-|XXXXXXXXXXXXXXXXXXXXXXXXXX- -XXXXXXXXXXXXXXXXXXXXXXXXX|\r
-|XXXXXXXXXXXXXXXXXXXXXXXXXX- -XXXXXXXXXXXXXXXXXXXXXXXXX|\r
-|XXXXXXXXXXXXXXXXXXXXXXXXXX- -XXXXXXXXXXXXXXXXXXXXXXXXX|\r
-|XXXXXXXXXXXXXXXXXXXXXXXXXX- -XXXXXXXXXXXXXXXXXXXXXXXXX|\r
-|XXXXXXXXXXXXXXXXXXXXXXXXXX- -XXXXXXXXXXXXXXXXXXXXXXXXX|\r
-|XXXXXXXXXXXXXXXXXXXXXXXXXX- -XXXXXXXXXXXXXXXXXXXXXXXXX|\r
-|XXXXXXXXXXXXXXXXXXXXXXXXXX- -XXXXXXXXXXXXXXXXXXXXXXXXX|\r
-|XXXXXXXXXXXXXXXXXXXXXXXXXX- -XXXXXXXXXXXXXXXXXXXXXXXXX|\r
-|XXXXXXXXXXXXXXXXXXXXXXXXXX- -XXXXXXXXXXXXXXXXXXXXXXXXX|\r
-|XXXXXXXXXXXXXXXXXXXXXXXXXX- -XXXXXXXXXXXXXXXXXXXXXXXXX|\r
-|XXXXXXXXXXXXXXXXXXXXXXXXXX- -XXXXXXXXXXXXXXXXXXXXXXXXX|\r
-|XXXXXXXXXXXXXXXXXXXXXXXXXX- -XXXXXXXXXXXXXXXXXXXXXXXXX|\r
-|XXXXXXXXXXXXXXXXXXXXXXXXXX- -XXXXXXXXXXXXXXXXXXXXXXXXX|\r
-|XXXXXXXXXXXXXXXXXXXXXXXXXX- -XXXXXXXXXXXXXXXXXXXXXXXXX|\r
-|XXXXXXXXXXXXXXXXXXXXXXXXXX- -XXXXXXXXXXXXXXXXXXXXXXXXX|\r
-|XXXXXXXXXXXXXXXXXXXXXXXXXX- -XXXXXXXXXXXXXXXXXXXXXXXXX|\r
-|XXXXXXXXXXXXXXXXXXXXXXXXXX- -XXXXXXXXXXXXXXXXXXXXXXXXX|\r
-|XXXXXXXXXXXXXXXXXXXXXXXXXX- -XXXXXXXXXXXXXXXXXXXXXXXXX|\r
-|XXXXXXXXXXXXXXXXXXXXXXXXXX- -XXXXXXXXXXXXXXXXXXXXXXXXX|\r
-|XXXXXXXXXXXXXXXXXXXXXXXXXX- O -XXXXXXXXXXXXXXXXXXXXXXXXX|\r
+|XXXXXXXXXXXXXXXXXXXXXXXXXX> <XXXXXXXXXXXXXXXXXXXXXXXXX|\r
+|XXXXXXXXXXXXXXXXXXXXXXXXXX> <XXXXXXXXXXXXXXXXXXXXXXXXX|\r
+|XXXXXXXXXXXXXXXXXXXXXXXXXX> <XXXXXXXXXXXXXXXXXXXXXXXXX|\r
+|XXXXXXXXXXXXXXXXXXXXXXXXXX> <XXXXXXXXXXXXXXXXXXXXXXXXX|\r
+|XXXXXXXXXXXXXXXXXXXXXXXXXX> <XXXXXXXXXXXXXXXXXXXXXXXXX|\r
+|XXXXXXXXXXXXXXXXXXXXXXXXXX> <XXXXXXXXXXXXXXXXXXXXXXXXX|\r
+|XXXXXXXXXXXXXXXXXXXXXXXXXX> <XXXXXXXXXXXXXXXXXXXXXXXXX|\r
+|XXXXXXXXXXXXXXXXXXXXXXXXXX> <XXXXXXXXXXXXXXXXXXXXXXXXX|\r
+|XXXXXXXXXXXXXXXXXXXXXXXXXX> <XXXXXXXXXXXXXXXXXXXXXXXXX|\r
+|XXXXXXXXXXXXXXXXXXXXXXXXXX> <XXXXXXXXXXXXXXXXXXXXXXXXX|\r
+|XXXXXXXXXXXXXXXXXXXXXXXXXX> <XXXXXXXXXXXXXXXXXXXXXXXXX|\r
+|XXXXXXXXXXXXXXXXXXXXXXXXXX> <XXXXXXXXXXXXXXXXXXXXXXXXX|\r
+|XXXXXXXXXXXXXXXXXXXXXXXXXX> <XXXXXXXXXXXXXXXXXXXXXXXXX|\r
+|XXXXXXXXXXXXXXXXXXXXXXXXXX> <XXXXXXXXXXXXXXXXXXXXXXXXX|\r
+|XXXXXXXXXXXXXXXXXXXXXXXXXX> <XXXXXXXXXXXXXXXXXXXXXXXXX|\r
+|XXXXXXXXXXXXXXXXXXXXXXXXXX> <XXXXXXXXXXXXXXXXXXXXXXXXX|\r
+|XXXXXXXXXXXXXXXXXXXXXXXXXX> <XXXXXXXXXXXXXXXXXXXXXXXXX|\r
+|XXXXXXXXXXXXXXXXXXXXXXXXXX> <XXXXXXXXXXXXXXXXXXXXXXXXX|\r
+|XXXXXXXXXXXXXXXXXXXXXXXXXX> <XXXXXXXXXXXXXXXXXXXXXXXXX|\r
+|XXXXXXXXXXXXXXXXXXXXXXXXXX> O <XXXXXXXXXXXXXXXXXXXXXXXXX|\r
+--------------------------------------------------------+
\ No newline at end of file
#pragma comment(lib, "dinput8.lib")\r
#pragma comment(lib, "dxguid.lib")\r
\r
+#define CONSOLE\r
+\r
+#ifdef CONSOLE\r
+#pragma comment(linker, "/subsystem:console")\r
+#else\r
+#pragma comment(linker, "/subsystem:windows")\r
+#endif\r
+\r
HWND hwnd = NULL;\r
\r
STARTUPINFOA si;\r
move(0, +1);\r
\r
char b = get_block(x, y);\r
- if (b == '/' || b == '\\' || b == '-')\r
+ if (b == '/' || b == '\\' || b == '<' || b == '>')\r
move_to(spawn_x, spawn_y);\r
}\r
\r
sprintf(title, "%d.txt - Editor", lvl);\r
hwnd = FindWindowA(NULL, title);\r
\r
+ SetWindowPos(hwnd, HWND_TOP, 100, 100, 960, 905, SWP_SHOWWINDOW);\r
+ SetFocus(hwnd);\r
+\r
+ for (int i = 0; i < 10; i++) {\r
+ press_down(VK_CONTROL);\r
+ press(VK_OEM_PLUS);\r
+ press_up(VK_CONTROL);\r
+ }\r
+\r
setup();\r
}\r
\r
break;\r
case 1:\r
update_play(false);\r
- if (x == 5) {\r
+ if (x == 17) {\r
print_text(4, 4, "Jump with up.", text_speed);\r
print_text(4, 6, "Stand on x.", text_speed);\r
progress++;\r
break;\r
case 2:\r
update_play();\r
- if (x == 8) {\r
+ if (x == 22) {\r
print_text(4, 8, "Collect ? for ???.", text_speed);\r
progress++;\r
}\r
break;\r
case 3:\r
- update_play(true, 0, 22);\r
+ update_play(true, 0, 33);\r
if (get_block(x, y) == '?') {\r
print_text(4, 10, "Avoid /\\.", text_speed);\r
progress++;\r
}\r
}\r
\r
-void lvl1() { update_play(); }\r
+void lvl1() {\r
+ static int progress = 0;\r
+ switch (progress) {\r
+ case 0:\r
+ print_text(4, 2, "Also avoid > and <.", text_speed);\r
+ progress++;\r
+ break;\r
+ case 1:\r
+ update_play();\r
+ break;\r
+ }\r
+}\r
\r
void update_game() {\r
switch (lvl) {\r
}\r
}\r
\r
+void enter_keys(std::string input, int delay) {\r
+ for (int i = 0; i < input.size(); i++) {\r
+ if (input[i] == 't') {\r
+ press(VK_TAB);\r
+ Sleep(delay);\r
+ }\r
+ else if (input[i] == 's') {\r
+ press(VK_SPACE);\r
+ Sleep(delay);\r
+ }\r
+ else if (input[i] == '~') {\r
+ press_down(VK_LSHIFT);\r
+ enter_keys(input.substr(i+1, 1), delay);\r
+ press_up(VK_LSHIFT);\r
+ i++;\r
+ }\r
+ else {\r
+ int n = 0;\r
+ int len = 0;\r
+ while (input[i+len] >= '0' && input[i+len] <= '9') {\r
+ n *= 10;\r
+ n += input[i+len] - '0';\r
+ len++;\r
+ }\r
+ for (int j = 0; j < n; j++) {\r
+ if (input[i+len] == '~') {\r
+ enter_keys(input.substr(i+len, 2), delay);\r
+ }\r
+ else {\r
+ enter_keys(input.substr(i+len, 1), delay);\r
+ } \r
+ }\r
+ if (input[i+len] == '~')\r
+ i++;\r
+ i += len;\r
+ }\r
+ }\r
+}\r
+\r
+void toggle_key_repeat() {\r
+ WinExec("c:\\windows\\system32\\control.exe /name Microsoft.EaseOfAccessCenter /page pageKeyboardEasierToUse", SW_NORMAL);\r
+ Sleep(500);\r
+\r
+ enter_keys("6ts9ts7~ts13ts5~tss6ts", 10);\r
+\r
+ Sleep(100);\r
+\r
+ press_down(VK_CONTROL);\r
+ press('W');\r
+ press_up(VK_CONTROL);\r
+\r
+ Sleep(1000);\r
+}\r
+\r
/*\r
Todo:\r
- Msg Box Intro\r
- Multi Jump\r
- more blocks/lvls\r
- Set Accessibility \r
+ - Lua?\r
+ - Scrolling?\r
*/\r
+#ifdef CONSOLE\r
int main(int argc, char **argv) {\r
+#else\r
+int WinMain(HINSTANCE a0, HINSTANCE a1, LPSTR a2, int a3) {\r
+#endif\r
+ toggle_key_repeat();\r
// Dies zu programmieren mit der reduzierten Inputrate.\r
// Ist nicht angenehm. Ich werde es ändern.......\r
\r
keys_old[3] = keys[3];\r
\r
WaitForSingleObject(pi.hProcess, wait_time);\r
-\r
- SetWindowPos(hwnd, HWND_TOPMOST, 100, 100, 500, 500, SWP_SHOWWINDOW);\r
}\r
\r
+ toggle_key_repeat();\r
+\r
destroydikeyboard();\r
\r
// Close process and thread handles.\r