Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!
Werbeanzeige
Quellcode |
|
1 2 3 4 5 |
if (getPressKey??? ) { KillTimer(hwnd, TIMER_1); //Hier soll dann die Maske "projektil_maskenprogramm" geöffnet werden } |
Quellcode |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 |
BOOL ball_zeichnen (HWND hwnd) { // Vorbereitung // HDC hdc ; PAINTSTRUCT ps ; int farbmischung; //Farbe des Kreises HBRUSH pinsel; //Pinseltyp von MS vorgegeben double x, y; //int v0; //Anfangsgeschwindigkeit double winkel; //double hilfswinkel; int g=20; //Zufällige Zahlen ausrechnen wenn nicht fest definiert if (v0 == 0) { srand(time(NULL)); v0 = rand () % 10+1; hilfswinkel = rand () % 89+1; //Zur Kontrolle in Konsole printf("\nZufallszahl: v0 ist %i", v0); printf("\nZufallszahl: hilfswinkel ist %f", hilfswinkel); } //Abschusswinkel ausrechnen hilfswinkel; // in Grad winkel=-((hilfswinkel*PI)/180); //Umrechnung in rad printf("\nmeine_Unterprogramme.c:Winkel hat den Wert %f", winkel); //Ausgabe Konsole //zeitabhängige Variable t hochzählen t=t+1; printf("\nmeine_Unterprogramme.c:Variable t hat den Wert %i", t); //Ausgabe Konsole //Definition der Bewegung x=0.5*v0*cos(winkel)*t; y=0.5*v0*sin(winkel)*t; //Definition der Abbruchbedingen abbruchzaehler = v0*t; if (abbruchzaehler >= 1500) { KillTimer(hwnd,TIMER_1); t = 0; v0 = 0; hilfswinkel = 0; } if (getPressKey??? ) { KillTimer(hwnd, TIMER_1); //Hier soll dann die Maske "projektil_maskenprogramm" geöffnet werden } InvalidateRect (hwnd, NULL, TRUE) ; hdc = BeginPaint (hwnd, &ps); //Zeichenbefehle // farbmischung = RGB(255, 0, 0); // Hier kann die Farbe des Kreises verändert werden pinsel = CreateSolidBrush (farbmischung); SelectBrush(hdc, pinsel); SetViewportOrgEx(hdc, 5, 410, NULL); // Hier kann der Mittelpunkt der ~Kreisbewegung verändert werden Ellipse(hdc, (int) x-20, (int) y-20, (int)x+20, (int) y+20); //Hier kann der Kreisdurchmesser verändert werden DeleteObject(pinsel); //Nachbearbeitung // EndPaint (hwnd, &ps) ; UpdateWindow(hwnd); return 0; //------------------------------------------------- // hier ist geschnitten //------------------------------------------------- char feld_3 [3]; char feld_4 [3]; int zahl_3, zahl_4; BOOL APIENTRY projektil_maskenprogramm (HWND hwnd,UINT msg,WPARAM wParam,LPARAM lParam) { switch(msg) { case WM_INITDIALOG: // Dieser Teil wird durchlaufen, wenn Maske // das 1. Mal geoeffnet wird printf("\nProjektilmaske: Die Maske wurde aufgemacht"); break; case WM_COMMAND: // Dieser Teil wird durchlaufen, // wenn in Maske etwas ausgefuehrt werden soll. switch (LOWORD(wParam)) { case EINGABEFELD_3: printf("\nProjektilmaske: Es erfolgt eine Aktion im EINGABEFELD_3"); break; case EINGABEFELD_4: printf("\nProjektilmaske: Es erfolgt eine Aktion im EINGABEFELD_4"); break; case KNOPF_1: printf("\nNun wurde der Knopf KNOPF_2 gedrueckt"); Edit_GetText(GetDlgItem(hwnd, EINGABEFELD_3), feld_3, 3); // 2 Zeichen aus Eingabegfeld_1 werden gelesen Edit_GetText(GetDlgItem(hwnd, EINGABEFELD_4), feld_4, 3); // 2 Zeichen aus Eingabegfeld_2 werden gelesen //Text in Zahlen umwandeln für die Kontrolle in der Konsole zahl_3 = atoi (feld_3); zahl_4 = atoi (feld_4); //Zahlen an Bewegung übergeben pro_v0 = atoi (feld_3); pro_hilfswinkel = atoi (feld_4); //Zur Kontrolle Ausgabe der Zahlen in der Konsole printf("\nProjektilmaske: Eingabezahl_1: %d", zahl_3); printf("\nProjektilmaske: Eingabezahl_2: %d", zahl_4); break; } break; } return(HandleDefaultMessages(hwnd,msg,wParam,lParam)); } |
Werbeanzeige