郁金香外挂技术-郁金香灬老师

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

郁金香终身VIP管理员QQ150330575项目合作(有实力的+)视频教程+每月更新+QQ群
飞郁视频分享(每周更新)
查看: 3778|回复: 3

菜鸟做的简单打靶游戏

[复制链接]
发表于 2016-3-6 02:21:34 | 显示全部楼层 |阅读模式
  1. #define GDIPVER 0x0110  
  2. #define WIN32_LEAN_AND_MEAN
  3. #include <windows.h>
  4. #include <ObjIdl.h>
  5. #include <GdiPlus.h>
  6. #include <windowsx.h>
  7. #include <tchar.h>
  8. #include <mmsystem.h>
  9. #include <stdio.h>
  10. #include <stdlib.h>
  11. #include <math.h>
  12. #include <time.h>
  13. #include "resource.h"
  14. #include <mmsystem.h>  
  15. #pragma comment(lib, "winmm.lib")
  16. #pragma comment(lib,"GdiPlus.lib")
  17. using namespace Gdiplus;
  18. #define WINDOW_WIDTH  800
  19. #define WINDOW_HEIGHT 600
  20. static int cxball,cyball;

  21. VOID OnPaint(HDC hDC,int x,int y)
  22. {
  23.     Graphics _g(hDC);

  24.     //构造画笔
  25.     Pen _p(
  26.         Color::Red,         //颜色
  27.         2.0F);              //笔宽(默认:1.0F)
  28.     _g.DrawEllipse(&_p,x, y, 50, 50);

  29.     //设置笔宽与颜色
  30.     _p.SetColor(Color(255,111,222,55)); //设置颜色
  31.     _p.SetWidth(3.0F);//设置笔宽

  32.     //获得笔宽与颜色
  33.     Color _c;_p.GetColor(&_c);//获取颜色
  34.     REAL _r = _p.GetWidth();//获取笔宽
  35. }
  36. LRESULT CALLBACK WinProc(HWND hWnd,
  37.                             UINT msg,
  38.                             WPARAM wparam,
  39.                             LPARAM lparam)
  40. {


  41. static PMSG  pmsg;

  42. switch(msg)
  43.     {
  44.         PAINTSTRUCT   ps ;
  45.         HDC hDC;
  46.         static int    cxClient, cyClient ;
  47.         static int cxcreat,cycreat;
  48.         static int times,score;

  49.         TCHAR szText[256];

  50.     case WM_CREATE:
  51.         {
  52.         hDC = GetDC(hWnd);
  53.          
  54.         PlaySound(MAKEINTRESOURCE(IDR_WAVE1), hinstance_app, SND_RESOURCE | SND_ASYNC);
  55.          
  56.         times = 9;
  57.         score = 0;
  58.         ReleaseDC(hWnd,hDC);
  59.         return(0);
  60.         } break;
  61.     case WM_SIZE:
  62.         {
  63.           cxClient = LOWORD (lparam) ;
  64.           cyClient = HIWORD (lparam) ;
  65.           return 0 ;
  66.         }
  67.         break;

  68.     case WM_LBUTTONDOWN :
  69.         {
  70.             switch (wparam)
  71.             {
  72.             case MK_LBUTTON:
  73.             
  74.             hDC = GetDC(hWnd);
  75.             sprintf(szText,"得分为 %d",score);
  76.             TextOut(hDC,900,240,szText,10);
  77.             times--;
  78.             sprintf(szText,"次数为 %d",times);
  79.             TextOut(hDC,900,280,szText,8);
  80.             cxcreat = (int)LOWORD( lparam ) ;    //获取鼠标位置x坐标信息
  81.             cycreat = (int)HIWORD( lparam ) ;    //获取鼠标位置y坐标信息
  82.             SetBkMode(hDC, OPAQUE);
  83.             if(cxcreat>cxball-50&&cxcreat<cxball+50)
  84.             {
  85.                 if(cycreat>cyball-50&&cycreat<cyball+50)
  86.                 {
  87.                     score+=100;
  88.                      
  89.                 }
  90.             }
  91.             if(times <= 0)
  92.             {
  93.                 score = 0;
  94.                 times = 0;
  95.                 MessageBox(hWnd,TEXT("次数超过了"),TEXT("错误"),MB_ICONERROR);
  96.             }
  97.             ReleaseDC(hWnd,hDC);
  98.             break;
  99.             }
  100.             return 0;
  101.         }
  102.         break;
  103.     case WM_PAINT:
  104.         {
  105.         hDC = BeginPaint(hWnd,&ps);
  106.         MoveToEx(hDC,800,0,NULL);
  107.         LineTo(hDC,800,600);
  108.         MoveToEx(hDC,0,600,NULL);
  109.         LineTo(hDC,800,600);
  110.         EndPaint(hWnd,&ps);
  111.         return(0);
  112.         } break;

  113.     case WM_DESTROY:
  114.         {
  115.         PlaySound(NULL, hinstance_app, SND_PURGE);
  116.         PostQuitMessage(0);
  117.         return(0);
  118.         } break;

  119.     default:break;

  120.     }
  121. return (DefWindowProc(hWnd, msg, wparam, lparam));

  122. }
  123. INT WINAPI WinMain(HINSTANCE hInst, HINSTANCE, LPSTR, INT)
  124. {
  125.     HWND hwnd;
  126.     ULONG_PTR GdiplusToken;
  127.     GdiplusStartupInput GdiplusStartupInput;
  128.     Status sResult = GdiplusStartup(&GdiplusToken, &GdiplusStartupInput, NULL);
  129.     if(sResult != Ok)return 0;
  130.      
  131.     WNDCLASSEX WndClassEx =
  132.     {
  133.         sizeof(WNDCLASSEX),
  134.         CS_HREDRAW | CS_VREDRAW,
  135.         WinProc,
  136.         0L,
  137.         0L,
  138.         GetModuleHandle(NULL),
  139.         LoadIcon(hInst, MAKEINTRESOURCE(IDI_ICON1)),
  140.         LoadCursor(hInst, MAKEINTRESOURCE(IDC_CURSOR1)),
  141.         (HBRUSH)GetStockObject(WHITE_BRUSH),
  142.         NULL,
  143.         _T("SimpleWindowClass"),
  144.         LoadIcon(hInst, MAKEINTRESOURCE(IDI_ICON1))
  145.     };
  146.     RegisterClassEx(&WndClassEx);

  147.          hwnd = CreateWindow(
  148.         _T("SimpleWindowClass"),
  149.         _T("pan's game ~~"),
  150.         WS_OVERLAPPEDWINDOW| WS_VSCROLL,
  151.         CW_USEDEFAULT,
  152.         CW_USEDEFAULT,
  153.         CW_USEDEFAULT,
  154.         CW_USEDEFAULT,
  155.         GetDesktopWindow(),
  156.         NULL,
  157.         WndClassEx.hInstance,
  158.         NULL);

  159.     ShowWindow(hwnd, SW_SHOWDEFAULT);
  160.     UpdateWindow(hwnd);
  161.     HDC hdc;
  162.     hdc = GetDC(hwnd);
  163.     srand(GetTickCount());
  164.     cxball = WINDOW_WIDTH/2;
  165.     cyball = WINDOW_HEIGHT/2;
  166.     RECT rect;
  167.     rect.left=0;
  168.     rect.bottom=600;
  169.     rect.right=800;
  170.     rect.top=0;
  171.     int xv = -4+rand()%8;
  172.     int yv = -4+rand()%8;
  173.      
  174.     MSG Msg;
  175.     do
  176.     {
  177.         GetMessage(&Msg, NULL, 0U, 0U);
  178.         TranslateMessage(&Msg);
  179.         DispatchMessage(&Msg);
  180.         OnPaint(hdc,cxball,cyball);
  181.         cxball += xv;
  182.         cyball += yv;
  183.         if (cxball < 0 || cxball > WINDOW_WIDTH - 50)
  184.         {
  185.             xv=-xv;
  186.             cxball += xv;
  187.         }
  188.         else if (cyball < 0 || cyball > WINDOW_HEIGHT - 50)
  189.         {
  190.             yv=-yv;
  191.             cyball += yv;
  192.         }
  193.         OnPaint(hdc,cxball,cyball);
  194.         Sleep(10);
  195.         InvalidateRect(hwnd,&rect,TRUE);
  196.     }while(Msg.message != WM_QUIT);
  197.      
  198.     ReleaseDC(hwnd,hdc);
  199.     UnregisterClass(
  200.         _T("SimpleWindowClass"),
  201.         WndClassEx.hInstance);
  202.     GdiplusShutdown(GdiplusToken);
  203.     return 0;
  204. }  //郁金香商业辅助交流平台欢迎您---From http://www.oschina.net/code/snippet_2286234_46468
复制代码


郁金香外挂教程,学习中...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

限时限量优惠

QQ|小黑屋|手机版|郁金香外挂技术-郁金香灬老师 ( 苏ICP备10059359号 )

GMT+8, 2021-1-23 03:27 , Processed in 0.040312 second(s), 22 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表