搜索
查看: 162|回复: 1
打印 上一主题 下一主题

why

[复制链接]
跳转到指定楼层
楼主
 楼主| 发表于 2020-1-5 18:18:38 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
5啊哈币
  1. //鼠标控制
  2. #include <dos.h>
  3. #include <bios.h>
  4. #include <malloc.h>
  5. #include <stdlib.h>
  6. #include <stdio.h>
  7. #include "graphics.h"

  8. #define R 15

  9. void initgr(void)
  10. {
  11. int gd = DETECT, gm = 0;
  12. initgraph(&gd, &gm, "D://TC20//BGI");
  13. }

  14. void getmouse(int *x,int *y,int *key)
  15. {
  16. union REGS inregs,outregs;
  17. inregs.x.ax=3;
  18. int86(0x33,&inregs,&outregs);
  19. *x=outregs.x.cx;
  20. *y=outregs.x.dx;
  21. *key=outregs.x.bx;
  22. }
  23. void visbilemouse()
  24. {
  25. union REGS inregs,outregs;
  26. inregs.x.ax=0x01;
  27. int86(0x33,&inregs,&outregs);
  28. }

  29. void mouse(int *x,int *y,int *z)
  30. {
  31. int a=0,b=0,c=0,a_old=0,b_old=0;
  32. int *ball;
  33. ball=malloc(imagesize(a,b,a+R,b+R));
  34. getimage(a,b,a+R,b+R,ball);

  35. while(c==0)
  36. {
  37. getmouse(&a,&b,&c);
  38. if(a<0) a=0;
  39. if(b<0) b=0;
  40. if(a>getmaxx()-R) a=getmaxx()-R;
  41. if(b>getmaxy()-R) b=getmaxy()-R;
  42. if(a!=a_old || b!=b_old)
  43. {
  44. putimage(a_old,b_old,ball,0);
  45. getimage(a,b,a+R,b+R,ball);

  46. setcolor(GREEN);
  47. setlinestyle(0,0,1);
  48. line(a,b,a+R,b+R/2);
  49. line(a,b,a+R/2,b+R);
  50. line(a+R,b+R/2,a+R/2,b+R);
  51. line(a+R*3/4,b+R*3/4,a+R,b+R);
  52. }
  53. a_old=a;b_old=b;
  54. }
  55. *x=a;*y=b;*z=c;
  56. putimage(a,b,ball,0);
  57. free(ball);
  58. }

  59. void main()
  60. {
  61. int x,y,z;
  62. initgr();
  63. visbilemouse();
  64. do
  65. {
  66. setcolor(WHITE);
  67. rectangle(175,8,220,25);
  68. outtextxy(180,10,"exit");
  69. mouse(&x,&y,&z);
  70. if(z==1)
  71. {
  72. setlinestyle(0,0,1);
  73. setcolor(12);
  74. circle(x,y,1);
  75. }
  76. if(z==2)
  77. {setfillstyle(1,BLACK);
  78. bar(0,0,getmaxx(),getmaxy());
  79. }
  80. }while(x<175 || x>220 || y<8 || y>25);
  81. closegraph();
  82. }
复制代码

沙发
发表于 2020-1-11 21:40:15 | 只看该作者
本帖最后由 Return. 于 2020-1-11 21:48 编辑

这个是在TC上才能编译通过的,啊哈C没办法编译
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

广播台
特别关注
快速回复 返回顶部 返回列表