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
Zitat
Ich denke die meisten Hindernisse dürften sich mit Rechtecken beschreiben lassen?
Zitat von »"EcaFaYn!"«
Zitat
Ich denke die meisten Hindernisse dürften sich mit Rechtecken beschreiben lassen?
Nein, die entscheidensten Hindernisse sind andere "Schlangen" oder die eigene ... also leider nicht so einfach wie mit Rechtecken :p
![]() |
C-/C++-Quelltext |
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 |
//main message loop while (!done) { PeekMessage(&msg, NULL, NULL, NULL, PM_REMOVE); if (msg.message == WM_QUIT) //do you receive a WM_QUIT message? { done = true; //if so, time to quit the application } else { //do rendering here //clear screen and depth buffer if (Cleared == false) //temporary prevention of clearing the screen glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); Cleared = true; glLoadIdentity(); //reset modelview matrix //------------------------------------------------------------------- glPointSize(5); glTranslatef(0.0f, 0.0f, -10.0f); glColor3f(1.0f, 0.0f, 0.0f); //set color to red //Input:------------------------------------------------------------- if (GetAsyncKeyState(0x31)) // "1" pressed? { if (act_timer == 0) { act_timer = DELAY_TIME; angle += 0.05; } } if (GetAsyncKeyState(0x51)) // "Q" pressed? { if (act_timer == 0) { act_timer = DELAY_TIME; angle -= 0.05; } } //------------------------------------------------------------------- if (angle >= 360.0f || angle <= -360.0f) //reset angle counter angle = 0.0f; if (std_timer == DELAY_TIME) { std_timer = 0; x += (cos(angle)) * 0.05; //get new x value using angle functions y += (sin(angle)) * 0.05; //get new y value using angle functions } glBegin(GL_POINTS); //draw the "head" of the snake glVertex3f(x, y, 0); glEnd(); if (act_timer > 0) act_timer--; std_timer++; Sleep(1); //------------------------------------------------------------------- SwapBuffers(g_HDC); //bring back buffer to foreground TranslateMessage(&msg); //translate/dispatch to event queue DispatchMessage(&msg); } } |
Werbeanzeige