int main() { initgraph(640, 480); randomize(); //初始化随机种子 AniObj obj[MAXOBJ]; //定义对象数组 int n; setrendermode(RENDER_MANUAL); for ( ; kbhit() == 0; delay_fps(60) ) { for (n = 0; n < MAXOBJ; ++n) { obj[n].updateobj(); //更新位置 } imagefilter_blurring(NULL, 0x4F, 0x100); for (n = 0; n < MAXOBJ; ++n) { obj[n].drawobj(); //绘画 } } closegraph(); return 0; }
// 主函数 int main( int argc, char* argv[] ) { int i, ms_x = -1024, ms_y = -1024, exitflag = 0; int fps = 60; double dtime; int mode = preinit( argc, argv ); // 记录初始化模式 if ( mode < 0 ) return 0; randomize(); // 初始化随机种子 initgraph( -1, -1 ); // 打开图形窗口,以全屏模式 showmouse( mode ); sc_width = getwidth(); sc_heigh = getheight(); // 初始化所有星星 for ( i = 0; i < g_max; i++ ) { InitStar( i ); star[i].x = randomf(); } // 绘制星空,按任意键或移动鼠标退出 setfont( 12, 6, "宋体" ); setrendermode( RENDER_MANUAL ); dtime = fclock(); while ( kbmsg() ) getkey(); for ( ; !exitflag && is_run() && kbmsg() == 0; delay_fps( fps ) ) { //每秒画120帧,kbhit(1)是获取键盘任意键的消息,详见pdf // 如果有鼠标消息 while ( mousemsg() ) { mouse_msg msg = getmouse(); if ( ms_x <= -1024 ) { ms_x = msg.x; ms_y = msg.y; } // 处理鼠标,移动超出范围就退出 if ( mode == 0 ) { // 仅全屏模式才处理鼠标 int x = msg.x, y = msg.y; x -= ms_x; y -= ms_y; if ( x * x + y * y > 400 ) exitflag = 1; } } // 显示星星 double dt = 1.0 / fps; //fclock() - dtime; dtime += dt; for ( int i = 0; i < g_max; i++ ) { MoveStar( i, dt ); } // 显示FPS { char str[60]; sprintf( str, "%8.2f FPS", getfps()); outtextxy( 0, 0, str ); //显示fps } } closegraph(); // 关闭图形窗口 return 0; }
int main(void) { setinitmode(INIT_DEFAULT|INIT_NOFORCEEXIT); initgraph(640, 480); randomize(); setrendermode(RENDER_MANUAL); mainloop(); closegraph(); return 0; }
int main() { initgraph( 640, 480 ); setrendermode(RENDER_MANUAL); PIMAGE img = newimage(); getimage(img, "F://Pictures//12264878375.jpg"); double r = 0; fps f; for ( ; is_run(); delay_fps(6000) ) { r += 0.02; if (r > PI * 2) r -= PI * 2; cleardevice(); putimage_rotatezoom(NULL, img, 320, 240, 0.5f, 0.5f, r, 0.5f, 0, -1, 1); } return 0; }
int main() { setinitmode(0); JigsawView view; view.init(DEFAULT_WINDOW_WIDTH, DEFAULT_WINDOW_HEIGHT); setrendermode(RENDER_MANUAL); setbkmode(TRANSPARENT); setcaption("SpriteGenerator V1.2 by wang yang"); setfont(20, 10, "宋体"); for(view.render(); is_run(); ) { view.update(); if(!view.getSmoothMode()) delay_fps(60); else Sleep(1); } return 0; }
int main(int argc, char* argv[]) { char str[100] = ""; int basepoint = 20; /* if (argc < 2) return 0; if (stricmp(argv[1], "/p") == 0) { HWND hwnd; sscanf(argv[2], "%d", &hwnd); attachHWND(hwnd); } else if (stricmp(argv[1], "/s")) return 0;//*/ init(); init_net(&g_net, basepoint * 4, basepoint * 3, g_width, g_height); setbkmode(TRANSPARENT); fps fps_obj; setrendermode(RENDER_MANUAL); for (; kbhit() == 0; delay_fps(60)) { cleardevice(); setcolor(0x8000); draw_net(&g_net); setcolor(0xFFFFFF); outtextxy(0,0,str); move_net(&g_net); move_net(&g_net); { int x, y, k; getmouse(&x, &y, &k); if (k) { cap_pt(&g_net, x, y, 1); } else { cap_pt(&g_net, x, y, 0); } } } closegraph(); return 0; }
int main() { static struct polys p[10] = {{0}}; int n_points[10] = {3,3,3,6,7}; int n_poly[10] = {1,1,1,1,1}; int n_polys = 3, i; randomize(); //图形初始化 { setinitmode(INIT_ANIMATION); initgraph(width, height); width = getmaxx(); height = getmaxy(); setrendermode(RENDER_MANUAL); } //多边形对象初始化 for (i=0; i< n_polys; ++i) { initpolys(&p[i], n_poly[i], n_points[i]); } fps ui_fps; //主循环 for ( ; is_run(); delay_fps(60)) { if (kbhit() > 0) //有按键按下就退出 { break; } for (i=0; i< n_polys; ++i) { movepoly(p[i].p); } cleardevice(); for (i=0; i< n_polys; ++i) { draw_poly(p[i].p); } //imagefilter_blurring(NULL, 0xff, 0x100); } closegraph(); return 0; }
static int osdfunc_setrendermode(const osdfuncparm_t *parm) { int m; char *p; char *modestrs[] = { "classic software", "polygonal flat-shaded software", "polygonal textured software", "polygonal OpenGL" }; if (parm->numparms != 1) return OSDCMD_SHOWHELP; m = Bstrtol(parm->parms[0], &p, 10); if (m < 0 || m > 3) return OSDCMD_SHOWHELP; setrendermode(m); OSD_Printf("Rendering method changed to %s\n", modestrs[ getrendermode() ] ); return OSDCMD_OK; }
int main(void) { // ¸÷ÖÖ³õʼ»¯ // setinitmodeÉèÖóõʼ»¯Ä£Ê½£º // INIT_DEFAULT egeĬÈÏÅäÖà // INIT_NOFORCEEXIT µãÁËÓÒÉϽÇXµÄʱºò²»Ç¿ÖÆÍ˳ö³ÌÐò£¬ÓɳÌÐò±¾Éí¼ì²âºÍ¿ØÖƽáÊø // INIT_RENDERMANUAL ÓëÒÔϵÄsetrendermode(RENDER_MANUAL)µÈЧ setinitmode(INIT_DEFAULT | INIT_NOFORCEEXIT); // ͼÐγõʼ»¯£¬´°¿Ú³ß´ç640x480 initgraph(640, 480); // Ëæ»úÊý³õʼ»¯£¬Èç¹ûÐèҪʹÓÃËæ»úÊýµÄ»° randomize(); // »æͼ¸üÐÂģʽÉèÖÃΪÊÖ¶¯£¬½öµ÷ÓÃdelay_fps/delay_msµÈº¯Êýʱ²ÅˢУ¬±ÜÃâÉÁ˸ // Çø±ðÊÇÔÚRENDER_AUTOģʽÏ£¬Èκλæͼ²Ù×÷½øÐÐʱ¶¼¿ÉÄÜˢУ¬ÉõÖÁ¸Õcleardevice¾ÍÏÔʾ // µ¼ÖÂÆÁÄ»ÉÏÓÐʱ½öÏÔʾһ¸ö±³¾°¶øûÓÐÆäËüÄÚÈݵ¼ÖÂÉÁ˸ setrendermode(RENDER_MANUAL); // ³ÌÐòÖ÷Ñ»· mainloop(); // ¹Ø±Õ»æͼÉ豸 closegraph(); return 0; }
static int32_t osdfunc_setrendermode(const osdfuncparm_t *parm) { int32_t m; char *p; char *modestrs[] = { "classic software", "", "", "polygonal OpenGL", "great justice (Polymer)" }; if (parm->numparms != 1) return OSDCMD_SHOWHELP; m = Bstrtol(parm->parms[0], &p, 10); if (m < 0 || m > 4) return OSDCMD_SHOWHELP; setrendermode(m); OSD_Printf("Rendering method changed to %s\n", modestrs[ getrendermode()]); return OSDCMD_OK; }
int loadsetup(const char *fn) { scriptfile *cfg; char *token; int item; cfg = scriptfile_fromfile(fn); if (!cfg) { return -1; } scriptfile_clearsymbols(); option[0] = 1; // vesa all the way... option[1] = 1; // sound all the way... option[4] = 0; // no multiplayer option[5] = 0; while (1) { token = scriptfile_gettoken(cfg); if (!token) break; //EOF for (item = 0; configspec[item].name; item++) { if (!Bstrcasecmp(token, configspec[item].name)) { // Seek past any = symbol. token = scriptfile_peektoken(cfg); if (!Bstrcasecmp("=", token)) { scriptfile_gettoken(cfg); } switch (configspec[item].type) { case type_bool: { int value = 0; if (scriptfile_getnumber(cfg, &value)) break; *(int*)configspec[item].store = (value != 0); break; } case type_int: { int value = 0; if (scriptfile_getnumber(cfg, &value)) break; *(int*)configspec[item].store = value; break; } case type_hex: { int value = 0; if (scriptfile_gethex(cfg, &value)) break; *(int*)configspec[item].store = value; break; } case type_double: { double value = 0.0; if (scriptfile_getdouble(cfg, &value)) break; *(double*)configspec[item].store = value; break; } default: { buildputs("loadsetup: unhandled value type\n"); break; } } break; } } if (!configspec[item].name) { buildprintf("loadsetup: error on line %d\n", scriptfile_getlinum(cfg, cfg->ltextptr)); continue; } } #if USE_POLYMOST if (tmprenderer >= 0) { setrendermode(tmprenderer); } #endif if (tmpbrightness >= 0) { brightness = min(max(tmpbrightness,0),15); } OSD_CaptureKey(keys[19]); scriptfile_close(cfg); scriptfile_clearsymbols(); return 0; }
///////////////////////////////////////////////// // 主函数 ///////////////////////////////////////////////// int main(int argc, char* argv[]) { // 初始化绘图窗口及颜色 setinitmode(0x005, 0, 0); if (argc < 2) { MessageBoxW(NULL, L"本屏幕保护程序无配置", L"JuliaSet", MB_OK); return 0; } else if (stricmp(argv[1], "/p") == 0) { HWND hwnd; sscanf(argv[2], "%d", &hwnd); attachHWND(hwnd); setinitmode(0x107, 0, 0); } else if (stricmp(argv[1], "/s")) { MessageBoxW(NULL, L"本屏幕保护程序无配置", L"JuliaSet", MB_OK); return 0; } //initgraph(320, 240); initgraph(-1, -1); randomize(); showmouse(0); FlushMouseMsgBuffer(); while(kbhit()) getch(); //InitColor(); InitLog(); g_w = getwidth(NULL); g_h = getheight(NULL); g_st = (state*)malloc(g_w * g_h * sizeof(state)); COMPLEX c = {0.262, 0.002}, z = {0, 0}; double r = 1.5, d = g_w / (double)g_h, rotate = 0, sr = sin(rotate), cr = cos(rotate); init_st(g_w, g_h); int n_update = 0; double ftime = fclock(); { double dc = 64, dca = 128, db = 16; col_r = randomf() * dc + db; col_g = randomf() * dc + db; col_b = randomf() * dc + db; col_ar = randomf() * dca; col_ag = randomf() * dca; col_ab = randomf() * dca; rotate = randomf() * 360; sr = sin(rotate), cr = cos(rotate); } setrendermode(RENDER_MANUAL); for (int loop = 1; kbmouhit() == 0; ++loop) { int ret; if (loop <= 4) { ret = JDraw(c, z.re - r * d, z.im - r, z.re + r * d, z.im + r, sr, cr); if (loop == 4) { g_udlist.swap(); for(int y=0; y<g_h; y++) { for(int x=0; x<g_w; x++) { if (g_st[y * g_w + x].ed == 0) { g_udlist.push(x, y); } } } g_udlist.swap(); } } else { static int t = 0; ret = JDrawA(c, z.re - r * d, z.im - r, z.re + r * d, z.im + r); if (clock() - t > 30) { delay(1); t = clock(); } } if (g_updatepoint == 0) { n_update++; } else { n_update = 0; } if (0) { char str[500]; sprintf(str, "%d %d %f %f", g_w, g_h, r, d); outtextxy(0, 0, str); } if (ret == 0 || n_update > 8 || loop > 1000) { loop = 0; if (g_mi[0][0] == 0) { delay(1); memset(pMap, 0, BF_W * BF_H * sizeof(state)); g_udlist.clear(); for (int i = 0; i < BF_W; ++i) { addpoint(i, 0); addpoint(i, BF_H - 1); } for (int i = 0; i < 4; ) { if (MDraw(-1.9, -1.2, 0.5, 1.2) == 0) { ++i; } else { i = 0; } if (kbmouhit()) return 0; } } double dc = 64, dca = 128, db = 16; col_r = randomf() * dc + db; col_g = randomf() * dc + db; col_b = randomf() * dc + db; col_ar = randomf() * dca; col_ag = randomf() * dca; col_ab = randomf() * dca; rotate = randomf() * 360; sr = sin(rotate), cr = cos(rotate); do { c.re = randomf() * 2.4 - 1.9; c.im = randomf() * 2.4 - 1.2; int ir = (int)((c.re - (-1.9)) / (0.5 - (-1.9)) * BF_W); int im = (int)((c.im - (-1.2)) / (1.2 - (-1.2)) * BF_H); if (g_mi[im][ir] >= 16) { break; } } while (1); init_st(g_w, g_h); n_update = 0; if (fclock() - ftime < 3) { delay_ms((int)((3 - (fclock() - ftime)) * 1000)); } else { delay(1); } ftime = fclock(); } } closegraph(); return 0; }
int loadsetup(const char *fn) { BFILE *fp; #define VL 32 char val[VL]; int i; if ((fp = Bfopen(fn, "rt")) == NULL) return -1; if (readconfig(fp, "fullscreen", val, VL) > 0) { if (Batoi(val) != 0) fullscreen = 1; else fullscreen = 0; } if (readconfig(fp, "resolution", val, VL) > 0) { i = Batoi(val) & 0x0f; if ((unsigned)i<13) { xdimgame = xdim2d = vesares[i][0]; ydimgame = ydim2d = vesares[i][1]; } } if (readconfig(fp, "2dresolution", val, VL) > 0) { i = Batoi(val) & 0x0f; if ((unsigned)i<13) { xdim2d = vesares[i][0]; ydim2d = vesares[i][1]; } } if (readconfig(fp, "xdim2d", val, VL) > 0) { xdim2d = Batoi(val); } if (readconfig(fp, "ydim2d", val, VL) > 0) { ydim2d = Batoi(val); } if (readconfig(fp, "xdim3d", val, VL) > 0) { xdimgame = Batoi(val); } if (readconfig(fp, "ydim3d", val, VL) > 0) { ydimgame = Batoi(val); } if (readconfig(fp, "samplerate", val, VL) > 0) { option[7] = (Batoi(val) & 0x0f) << 4; } if (readconfig(fp, "music", val, VL) > 0) { if (Batoi(val) != 0) option[2] = 1; else option[2] = 0; } if (readconfig(fp, "mouse", val, VL) > 0) { if (Batoi(val) != 0) option[3] = 1; else option[3] = 0; } if (readconfig(fp, "bpp", val, VL) > 0) { bppgame = Batoi(val); } if (readconfig(fp, "renderer", val, VL) > 0) { i = Batoi(val); setrendermode(i); } if (readconfig(fp, "brightness", val, VL) > 0) { brightness = min(max(Batoi(val),0),15); } #ifdef RENDERTYPEWIN if (readconfig(fp, "maxrefreshfreq", val, VL) > 0) { maxrefreshfreq = Batoi(val); } #endif option[0] = 1; // vesa all the way... option[1] = 1; // sound all the way... option[4] = 0; // no multiplayer option[5] = 0; if (readconfig(fp, "keyforward", val, VL) > 0) keys[0] = Bstrtol(val, NULL, 16); if (readconfig(fp, "keybackward", val, VL) > 0) keys[1] = Bstrtol(val, NULL, 16); if (readconfig(fp, "keyturnleft", val, VL) > 0) keys[2] = Bstrtol(val, NULL, 16); if (readconfig(fp, "keyturnright", val, VL) > 0) keys[3] = Bstrtol(val, NULL, 16); if (readconfig(fp, "keyrun", val, VL) > 0) keys[4] = Bstrtol(val, NULL, 16); if (readconfig(fp, "keystrafe", val, VL) > 0) keys[5] = Bstrtol(val, NULL, 16); if (readconfig(fp, "keyfire", val, VL) > 0) keys[6] = Bstrtol(val, NULL, 16); if (readconfig(fp, "keyuse", val, VL) > 0) keys[7] = Bstrtol(val, NULL, 16); if (readconfig(fp, "keystandhigh", val, VL) > 0) keys[8] = Bstrtol(val, NULL, 16); if (readconfig(fp, "keystandlow", val, VL) > 0) keys[9] = Bstrtol(val, NULL, 16); if (readconfig(fp, "keylookup", val, VL) > 0) keys[10] = Bstrtol(val, NULL, 16); if (readconfig(fp, "keylookdown", val, VL) > 0) keys[11] = Bstrtol(val, NULL, 16); if (readconfig(fp, "keystrafeleft", val, VL) > 0) keys[12] = Bstrtol(val, NULL, 16); if (readconfig(fp, "keystraferight", val, VL) > 0) keys[13] = Bstrtol(val, NULL, 16); if (readconfig(fp, "key2dmode", val, VL) > 0) keys[14] = Bstrtol(val, NULL, 16); if (readconfig(fp, "keyviewcycle", val, VL) > 0) keys[15] = Bstrtol(val, NULL, 16); if (readconfig(fp, "key2dzoomin", val, VL) > 0) keys[16] = Bstrtol(val, NULL, 16); if (readconfig(fp, "key2dzoomout", val, VL) > 0) keys[17] = Bstrtol(val, NULL, 16); if (readconfig(fp, "keychat", val, VL) > 0) keys[18] = Bstrtol(val, NULL, 16); if (readconfig(fp, "keyconsole", val, VL) > 0) { keys[19] = Bstrtol(val, NULL, 16); OSD_CaptureKey(keys[19]); } if (readconfig(fp, "mousesensitivity", val, VL) > 0) msens = Bstrtod(val, NULL); Bfclose(fp); return 0; }