我正在一塊使用SDL那是應該填充黑色和白色像素,屏幕的C代碼...它使用一個for循環來填充屏幕和一個隨機數來決定是否每個像素是黑色或白色。我對這個循環做了什麼錯誤?
它開始工作,因爲它應該一秒鐘,但它緩慢地開始顯示越來越多的白色像素,直到屏幕完全白色,並保持這種方式。我不明白我在這裏做錯了什麼。我把它打印數NUM在控制檯並繼續表現出隨機的1和0喜歡它甚至應該同時屏幕是白色的,所以我覺得這個問題在if else語句或for循環某處。
這裏的培訓相關代碼...
/*outside main program loop*/
17 int x, y, num;
18 srand(time(0));
/*inside main program loop*/
28 for(y=0;y<=480;y++) {
29 for(x=0;x<=640;x++) {
30 num = rand() % 2;
31 if(num == 0) {
32 pixelRGBA(screen, x, y, 255, 255, 255, 255);
33 }
34 else {
35 pixelRGBA(screen, x, y, 0, 0, 0, 0);
36 }
37 }
38 }
39 SDL_Flip(screen);
順便說一句:'srand(時間(0));'是中世紀。如果您不需要視覺效果,請勿隨機分配。 –