Advertisement
kellex

Hexa X11

Sep 17th, 2014
183
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.88 KB | None | 0 0
  1. //g++ -o hexa hexa.cpp -lX11 -L/usr/X6R11/lib -l /usr/X6R11/include
  2. #include <stdlib.h>
  3. #include <stdio.h>
  4. #include <iostream>
  5. #include <X11/Xlib.h>
  6. #include <assert.h>
  7. #include <unistd.h>
  8.  
  9. #define NIL (0)
  10.  
  11. using namespace std;
  12.  
  13. int main(){
  14.  
  15. Display *dpy = XOpenDisplay(NIL);
  16. assert(dpy);
  17.  
  18. int blackColor = BlackPixel(dpy,DefaultScreen(dpy));
  19. int whiteColor = WhitePixel(dpy,DefaultScreen(dpy));
  20.  
  21. Window w = XCreateSimpleWindow(dpy,DefaultRootWindow(dpy),0,0,1500,1500,0,blackColor,blackColor);
  22. XSelectInput(dpy,w,StructureNotifyMask);
  23. XMapWindow(dpy,w);
  24.  
  25. GC gc = XCreateGC(dpy,w,0,NIL);
  26. XSetForeground(dpy,gc,whiteColor);
  27.  
  28. for(;;){
  29.     XEvent e;
  30.     XNextEvent(dpy,&e);
  31.     if(e.type == MapNotify)
  32.         break;
  33. }
  34.  
  35. int Ax,Ay,Bx,By,Cx,Cy,Dx,Dy,Ex,Ey,Fx,Fy,r,amount;
  36.  
  37. cout << "Ax: "; cin >> Ax; cout << endl;
  38. cout << "Ay: "; cin >> Ay; cout << endl;
  39. cout << "Bx: "; cin >> Bx; cout << endl;
  40. cout << "By: "; cin >> By; cout << endl;
  41. cout << "Cx: "; cin >> Cx; cout << endl;
  42. cout << "Cy: "; cin >> Cy; cout << endl;
  43. cout << "Dx: "; cin >> Dx; cout << endl;
  44. cout << "Dy; "; cin >> Dy; cout << endl;
  45. cout << "Ex: "; cin >> Ex; cout << endl;
  46. cout << "Ey: "; cin >> Ey; cout << endl;
  47. cout << "Fx: "; cin >> Fx; cout << endl;
  48. cout << "Fy: "; cin >> Fy; cout << endl;
  49. cout << "repetitions: "; cin >> r; cout << endl;
  50. cout << "amount: "; cin >> amount; cout << endl;
  51.  
  52. Ax=Ax*100;
  53. Ay=Ay*100;
  54. Bx=By*100;
  55. By=By*100;
  56. Cx=Cx*100;
  57. Cy=Cy*100;
  58. Dx=Dx*100;
  59. Dy=Dy*100;
  60. Ex=Ex*100;
  61. Ey=Ey*100;
  62. Fx=Fx*100;
  63. Fy=Fy*100;
  64.  
  65. amount=amount*100;
  66.  
  67. for(int i=0;i<r;i++){
  68.     XDrawLine(dpy,w,gc,Ax,Ay,Cx,Cy);
  69.     XDrawLine(dpy,w,gc,Cx,Cy,Dx,Dy);
  70.     XDrawLine(dpy,w,gc,Dx,Dy,Bx,By);
  71.     XDrawLine(dpy,w,gc,Bx,By,Ex,Ey);
  72.     XDrawLine(dpy,w,gc,Ex,Ey,Fx,Fy);
  73.     XDrawLine(dpy,w,gc,Fx,Fy,Ax,Ay);
  74.  
  75.     Cx=Cx+amount;
  76.     Dx=Dx+amount;
  77.     Ex=Ex-amount;
  78.     Fx=Fx-amount;
  79.  
  80.     XFlush(dpy);
  81.     sleep(1);
  82. }
  83. cin.ignore().get();
  84.  
  85. return 0;
  86. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement