鱼C论坛

 找回密码
 立即注册
查看: 3278|回复: 25

[作品展示] 笑不活了!编了半个小时的东西,能多拉

[复制链接]
发表于 2022-8-28 20:55:05 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 C丁洞杀O 于 2022-8-28 21:02 编辑

直接上代码,无介绍,emmm~

  1. #include <windows.h>
  2. #define stone 10001
  3. #define sisscor 10002
  4. #define paper 10003

  5. typedef enum{
  6.         Estone = 1,
  7.         Esisscor = 2,
  8.         Epaper = 3,
  9. }ssp;
  10. HINSTANCE appInstance;
  11. short player, pc;

  12. void SSP() {
  13.         pc = rand() % 4 + 1;
  14.         switch (pc)
  15.         {
  16.         case 1:
  17.                 ::MessageBox(NULL, TEXT("电脑出了石头"), TEXT("石头剪刀布"), MB_OK);
  18.                 break;
  19.         case 2:
  20.                 ::MessageBox(NULL, TEXT("电脑出了剪刀"), TEXT("石头剪刀布"), MB_OK);
  21.                 break;
  22.         case 3:
  23.                 ::MessageBox(NULL, TEXT("电脑出了布"), TEXT("石头剪刀布"), MB_OK);
  24.                 break;
  25.         default:
  26.                 break;
  27.         }
  28.         short mc;
  29.         mc = player - pc;
  30.         switch (mc)
  31.         {
  32.         case 0:
  33.                 ::MessageBox(NULL, TEXT("游戏平局"), TEXT("石头剪刀布"), MB_OK);
  34.                 break;
  35.         case -1: case 2:
  36.                 ::MessageBox(NULL, TEXT("你获得了胜利"), TEXT("石头剪刀布"), MB_OK);
  37.                 break;
  38.         case -2: case 1:
  39.                 ::MessageBox(NULL, TEXT("你输了"), TEXT("石头剪刀布"), MB_OK);
  40.         default:
  41.                 break;
  42.         }
  43. }

  44. LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
  45. {
  46.         HWND hBtnStone;
  47.         HWND hBtnSisscor;
  48.         HWND hBtnPaper;
  49.         switch (message)
  50.         {
  51.         case WM_CREATE://初始化
  52.         {
  53.                 hBtnStone = (HWND)CreateWindow(TEXT("Button"),
  54.                         TEXT("石头"),
  55.                         WS_VISIBLE | WS_CHILD | BS_PUSHBUTTON,
  56.                         150, 45, 160, 65,
  57.                         hWnd,
  58.                         (HMENU)stone,
  59.                         appInstance,
  60.                         NULL
  61.                         );

  62.                 hBtnSisscor = (HWND)CreateWindow(TEXT("Button"),
  63.                         TEXT("剪刀"),
  64.                         WS_VISIBLE | WS_CHILD | BS_PUSHBUTTON,
  65.                         350, 45, 160, 65,
  66.                         hWnd,
  67.                         (HMENU)sisscor,
  68.                         appInstance,
  69.                         NULL
  70.                 );
  71.                 hBtnPaper = (HWND)CreateWindow(TEXT("Button"),
  72.                         TEXT("布"),
  73.                         WS_VISIBLE | WS_CHILD | BS_PUSHBUTTON,
  74.                         550, 45, 160, 65,
  75.                         hWnd,
  76.                         (HMENU)paper,
  77.                         appInstance,
  78.                         NULL
  79.                 );
  80.                 break;
  81.         }
  82.         case WM_COMMAND:
  83.         {
  84.                 if (LOWORD(wParam) == stone && HIWORD(wParam) == BN_CLICKED)
  85.                 {
  86.                         player = Estone;
  87.                         //MessageBox(hWnd, L"石头", L"石头剪刀布", MB_OK);
  88.                 }
  89.                 if (LOWORD(wParam) == sisscor && HIWORD(wParam) == BN_CLICKED)
  90.                 {
  91.                         player = Esisscor;
  92.                         //MessageBox(hWnd, L"剪刀", L"石头剪刀布", MB_OK);
  93.                 }
  94.                 if (LOWORD(wParam) == paper && HIWORD(wParam) == BN_CLICKED)
  95.                 {
  96.                         player = Epaper;
  97.                         //MessageBox(hWnd, L"布", L"石头剪刀布", MB_OK);
  98.                 }
  99.                 SSP();
  100.                 break;
  101.         }
  102.         case WM_DESTROY:
  103.                 PostQuitMessage(0);
  104.                 return 0;
  105.         }
  106.       
  107.         return DefWindowProc(hWnd, message, wParam, lParam);
  108. }

  109. int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,
  110.         LPSTR lpCmdLine, INT nCmdShow) {

  111.         appInstance = hInstance;
  112. //        LPCWSTR szAppName = TEXT("Window");
  113.         WNDCLASS wndClass;

  114.         MSG msg;

  115.         wndClass.style = CS_HREDRAW | CS_VREDRAW;
  116.         wndClass.lpfnWndProc = WndProc;
  117.         wndClass.cbClsExtra = 0;
  118.         wndClass.cbWndExtra = 0;
  119.         wndClass.hInstance = hInstance;
  120.         wndClass.hIcon = NULL;
  121.         wndClass.hCursor = NULL;
  122.         wndClass.hbrBackground = CreateSolidBrush(RGB(236, 233, 216));
  123.         wndClass.lpszMenuName = NULL;
  124.         wndClass.lpszClassName = TEXT("window");

  125.         if (!RegisterClass(&wndClass))
  126.         {
  127.                 MessageBox(NULL, TEXT("打开失败"),
  128.                         TEXT("error"), MB_OK | MB_ICONERROR);
  129.                 return 0;
  130.         }

  131.         HWND hWnd = CreateWindow(TEXT("window"),
  132.                 TEXT("石头剪刀布"), WS_OVERLAPPEDWINDOW,
  133.                 CW_USEDEFAULT, CW_USEDEFAULT,
  134.                 800, 200,
  135.                 NULL, NULL, hInstance, NULL);

  136.         ShowWindow(hWnd, nCmdShow);
  137.         UpdateWindow(hWnd);

  138.         while (GetMessage(&msg, NULL, 0, 0))
  139.         {
  140.                 TranslateMessage(&msg);
  141.                 DispatchMessage(&msg);
  142.         }

  143.         return msg.wParam;
  144. }
复制代码

评分

参与人数 1荣誉 +2 收起 理由
zhangjinxuan + 2 鱼C有你更精彩^_^

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2022-8-28 21:18:18 | 显示全部楼层
唉,已经缩减过了,原来的只支持C++20的标准,本来想用easyX2D的,但是考虑到可能有人没有~
C是真的冷清啊,但我还是觉得,Python其实也是C编的不是?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-11-2 18:20:24 | 显示全部楼层
C丁洞杀O 发表于 2022-8-28 21:18
唉,已经缩减过了,原来的只支持C++20的标准,本来想用easyX2D的,但是考虑到可能有人没有~
C是真的冷清啊 ...

这是恶搞吗?

评分

参与人数 1荣誉 -5 鱼币 -5 收起 理由
心驰神往 -5 -5 有病就去治

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-11-2 20:21:45 | 显示全部楼层

NO,这是一个石头剪刀布的小游戏,是有点拉,但是可以学习
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-11-2 20:22:16 | 显示全部楼层
学习学习,我们一起努力学习
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-11-4 14:12:54 | 显示全部楼层
为啥没注释
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-11-30 15:31:25 | 显示全部楼层
本人为C++GUI小白,楼主可以添加一点注释吗,学习学习
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-1-5 16:35:42 | 显示全部楼层
zhangjinxuan 发表于 2022-11-30 15:31
本人为C++GUI小白,楼主可以添加一点注释吗,学习学习

emmm,这个比较低级(GUI为图形算法,应该用框架来实现的,但如果没学到框架,那就这样吧)
  1. #include <windows.h>
  2. #include <iostream>
  3. // 按键的ID 需要用来 分配数据id
  4. #define stone 10001
  5. #define sisscor 10002
  6. #define paper 10003

  7. #define BackgroundColour CreateSolidBrush(RGB(236, 233, 216))
  8. // #define Background RGB(236, 233, 216)

  9. typedef enum {
  10.         Estone = 1,
  11.         Esisscor = 2,
  12.         Epaper = 3,
  13. } ssp; // 这个只是用来测试的 (enum 用来模拟宏定义)
  14. // 程序必要的句柄(一般由 WinMain 分配 (这里用来全局定义 方便使用))
  15. HINSTANCE appInstance;
  16. short player, pc;// 玩家 和 人机 出的
  17. int score=0;

  18. void SSP(HWND hWnd) {
  19.         // 模拟人机出拳(rand()函数可以获取随机数(rand()% n + a) 表示 最大n+a 最小a)
  20.         pc = rand() % 4 + 1;
  21.         // 旧方法
  22.         switch (pc) {
  23.                 case 1:
  24.                         // 一个弹窗
  25.                         ::MessageBox(hWnd, TEXT("电脑出了石头"), TEXT("石头剪刀布"), MB_OK/* | MB_ICONWARNING*/); // 一个图标
  26.                         break;
  27.                 case 2:
  28.                         ::MessageBox(hWnd, TEXT("电脑出了剪刀"), TEXT("石头剪刀布"), MB_OK);
  29.                         break;
  30.                 case 3:
  31.                         ::MessageBox(hWnd, TEXT("电脑出了布"), TEXT("石头剪刀布"), MB_OK);
  32.                         break;
  33.                 default:
  34.                         break;
  35.         }
  36.         // 新方法 简单 但 绝大多数系统不支持 (放入缓存区,只有接受到paint消息才会绘制)
  37. //        PAINTSTRUCT ps;
  38. //        HDC hdc = BeginPaint(hWnd, &ps);        // 开始绘画
  39. //        PAINTSTRUCT ps;
  40. //        HDC hdc = BeginPaint(hWnd, &ps);
  41. //        switch (pc) {
  42. //                case 1:
  43. //                        TextOut(hdc, 455, 245, TEXT("人机1:石头"),  52);
  44. //                        break;
  45. //                case 2:
  46. //                        TextOut(hdc, 455, 245, TEXT("人机1:剪刀"),  strlen("人机1:石头"));
  47. //                        break;
  48. //                case 3:
  49. //                        TextOut(hdc, 455, 245, TEXT("人机1:布  "),  strlen("人机1:石头"));
  50. //                        break;
  51. //                default:
  52. //                        //TODO
  53. //                        break;
  54. //        }
  55. //        EndPaint(hWnd, &ps);
  56.         // 比较 用这样的方法可以快速比较
  57.         short mc = player - pc;
  58.         switch (mc) {
  59.                 case 0:
  60.                         ::MessageBox(hWnd, TEXT("游戏平局"), TEXT("石头剪刀布"), MB_OK);
  61.                         break;
  62.                 case -1:
  63.                 case 2:
  64.                         score += 2;
  65.                         ::MessageBox(hWnd, TEXT("你获得了胜利"), TEXT("石头剪刀布"), MB_OK);
  66.                         break;
  67.                 case -2:
  68.                 case 1:
  69.                         score -= 1;
  70.                         ::MessageBox(hWnd, TEXT("你输了"), TEXT("石头剪刀布"), MB_OK);
  71.                 default:
  72.                         break;
  73.         }
  74.         std::cout << "score = "<<score<<"\n";
  75.        

  76. }

  77. LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) {
  78.         // 方便使用
  79.         HWND hBtnStone;
  80.         HWND hBtnSisscor;
  81.         HWND hBtnPaper;

  82.         switch (message) {
  83.                 case WM_PAINT:
  84.                         {
  85.                                   PAINTSTRUCT ps;
  86.                                   HDC hdc = BeginPaint(hWnd, &ps);        // 开始绘画
  87.                                   int drawX = 390;
  88.                                   int drawY = 260;
  89.                                   TextOut(hdc, drawX, drawY, TEXT("作者: C丁洞杀O from fishC"),  strlen("作者: C丁洞杀O from fishC"));
  90.                                   EndPaint(hWnd, &ps);
  91.                           }
  92.                 break;
  93.                 case WM_CREATE: { //初始化
  94.                         // 三个按键
  95.                         hBtnStone = (HWND)CreateWindow(TEXT("Button"),
  96.                                                        TEXT("石头"),
  97.                                                        WS_VISIBLE | WS_CHILD | BS_PUSHBUTTON,
  98.                                                        150/*x*/, 45/*y*/, 160/*长*/, 65/*高*/,
  99.                                                        hWnd,
  100.                                                        (HMENU)stone,
  101.                                                        appInstance,
  102.                                                        NULL
  103.                                                       );

  104.                         hBtnSisscor = (HWND)CreateWindow(TEXT("Button"),
  105.                                                          TEXT("剪刀"),
  106.                                                          WS_VISIBLE | WS_CHILD | BS_PUSHBUTTON,
  107.                                                          350, 45, 160, 65,
  108.                                                          hWnd,
  109.                                                          (HMENU)sisscor,
  110.                                                          appInstance,
  111.                                                          NULL
  112.                                                         );
  113.                         hBtnPaper = (HWND)CreateWindow(TEXT("Button"),
  114.                                                        TEXT("布"),
  115.                                                        WS_VISIBLE | WS_CHILD | BS_PUSHBUTTON,
  116.                                                        550, 45, 160, 65,
  117.                                                        hWnd,
  118.                                                        (HMENU)paper,
  119.                                                        appInstance,
  120.                                                        NULL
  121.                                                       );
  122.                         break;
  123.                 }
  124.                 case WM_COMMAND: {
  125.                         // 接受到 按下按钮时触发 (判断是哪个)
  126.                         if (LOWORD(wParam) == stone && HIWORD(wParam) == BN_CLICKED) {
  127.                                 player = Estone;
  128.                                 //MessageBox(hWnd, L"石头", L"石头剪刀布", MB_OK);
  129.                         } else if (LOWORD(wParam) == sisscor && HIWORD(wParam) == BN_CLICKED) {
  130.                                 player = Esisscor;
  131.                                 //MessageBox(hWnd, L"剪刀", L"石头剪刀布", MB_OK);
  132.                         } else if (LOWORD(wParam) == paper && HIWORD(wParam) == BN_CLICKED) {
  133.                                 player = Epaper;
  134.                                 //MessageBox(hWnd, L"布", L"石头剪刀布", MB_OK);
  135.                         }
  136.                         // 判断
  137.                         SSP(hWnd);
  138.                         break;
  139.                 }
  140.                 case WM_DESTROY:
  141.                         PostQuitMessage(0);                        // 不进入消息队列, 直接执行
  142.                         return 0;
  143.                 case WM_CLOSE:
  144.                         if (MessageBox(hWnd, TEXT("现在就离开吗?\n不再玩会儿?"), TEXT("游戏助手:"), MB_YESNO | MB_ICONWARNING) == IDYES) {
  145.                                 DestroyWindow(hWnd);  // 销毁窗口的消息 (不是销毁窗口 )
  146.                         }
  147.                         break;
  148.                 case WM_LBUTTONDOWN:
  149.                         {
  150.                                 int xPos;
  151.                                 int yPos;
  152.                                 xPos = LOWORD(lParam);
  153.                                 yPos = HIWORD(lParam);
  154.                                 char buf[1024];
  155.                                 sprintf_s(buf, 1024, "Curor( x = %d; y = %d )", xPos, yPos);
  156.                                 std::cout<<buf<<std::endl;
  157.                         }
  158.                         break;
  159.         }
  160.         // 剩余的事件 交给 Windows 自己处理
  161.         return DefWindowProc(hWnd, message, wParam, lParam);
  162. }
  163. // WinMain入口函数 还可以写成这样
  164. /*
  165. int main() {
  166. HINSTANCE* hInstance = new HINSTANCE;
  167. HINSTANCE* hPrevInstance = new HINSTANCE;
  168. LPSTR* lpCmdLine = new LPSTR;
  169. INT* nCmdShow = new INT;
  170. }
  171. */
  172. int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,
  173.                    LPSTR lpCmdLine, INT nCmdShow) { // WINAPI 回调方法 __stdcall
  174.         score = 0;
  175.         appInstance = hInstance;
  176.         LPCSTR szAppName = TEXT("Window"); // 这里 类名
  177.         WNDCLASS wndClass;

  178.         MSG msg;
  179.         // Windows 类的风格写法
  180.         wndClass.style = CS_HREDRAW | CS_VREDRAW;
  181.         wndClass.lpfnWndProc = WndProc;
  182.         wndClass.cbClsExtra = 0;
  183.         wndClass.cbWndExtra = 0;
  184.         wndClass.hInstance = hInstance;
  185.         wndClass.hIcon = NULL;
  186.         wndClass.hCursor = NULL;
  187.         wndClass.hbrBackground = (BackgroundColour); // 颜色 (这个个人比较喜欢可以调整, 上面调)
  188.         wndClass.lpszMenuName = NULL;
  189.         wndClass.lpszClassName = szAppName;        // 名字
  190.         /**/

  191.         if (!RegisterClass(&wndClass)) {
  192.                 MessageBox(NULL, TEXT("打开失败"),
  193.                            TEXT("error"), MB_OK | MB_ICONERROR);
  194.                 return 0;
  195.         }

  196.         HWND hWnd = CreateWindow(szAppName,        // 类名 来找到已经定义好的WNCLASS 窗口风格
  197.                                  TEXT("石头剪刀布") /*标题*/, WS_OVERLAPPEDWINDOW,
  198.                                  CW_USEDEFAULT, CW_USEDEFAULT,
  199.                                  885, 300,
  200.                                  NULL, NULL, hInstance, NULL);
  201.         // 设置窗口不可改动大小
  202.         DWORD   dwStyle   =   GetWindowLong(hWnd, GWL_STYLE);
  203.         dwStyle   &=   ~(WS_SIZEBOX);
  204.         SetWindowLong(hWnd, GWL_STYLE, dwStyle);

  205.         ShowWindow(hWnd, nCmdShow);
  206.         UpdateWindow(hWnd);
  207.         // 消息函数 (C++ 11 & +)可以这么写 (C++ 11 以下)需要使用阻塞的写法
  208.         while (GetMessage(&msg, NULL, 0, 0)) {
  209.                 TranslateMessage(&msg);
  210.                 DispatchMessage(&msg);
  211.         }
  212.         // 返回程序正常退出(-1 为 异常退出)
  213.         return msg.wParam;
  214. }
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2023-1-5 21:18:48 | 显示全部楼层
C丁洞杀O 发表于 2023-1-5 16:35
emmm,这个比较低级(GUI为图形算法,应该用框架来实现的,但如果没学到框架,那就这样吧)

谢谢~
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-1-7 14:02:42 | 显示全部楼层

emmm,算了,你还是去学算法吧,GUI这个也只能用在Windows,学算法,好用的(<_<)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2023-1-7 17:31:40 | 显示全部楼层
本帖最后由 zhangjinxuan 于 2023-1-7 21:01 编辑
C丁洞杀O 发表于 2023-1-7 14:02
emmm,算了,你还是去学算法吧,GUI这个也只能用在Windows,学算法,好用的(


为了退役后找工作……
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-1-7 20:57:54 | 显示全部楼层
zhangjinxuan 发表于 2023-1-7 17:31
为了退役后张工作……

咳咳咳,军人啊,敬礼∠(°ゝ°)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-1-7 21:01:09 | 显示全部楼层
C丁洞杀O 发表于 2023-1-7 20:57
咳咳咳,军人啊,敬礼∠(°ゝ°)

“退役"只不干算法这一行了……
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-1-7 21:03:10 | 显示全部楼层
zhangjinxuan 发表于 2023-1-7 21:01
“退役"只不干算法这一行了……

。。。算法好啊,实际上图形和算法没区别的,再大的屏幕也是由一个又一个的像素组成的,只要得到屏幕的基地址,偏移地址,就可以将每个像素变成颜色
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-1-7 21:05:43 From FishC Mobile | 显示全部楼层
C丁洞杀O 发表于 2023-1-7 21:03
。。。算法好啊,实际上图形和算法没区别的,再大的屏幕也是由一个又一个的像素组成的,只要得到屏幕的基 ...

不是这个意思,学算法意味着打竞赛,打竞赛有多艰难?如果一次竞赛打输了,那么竞赛的职业生涯就没了.....
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-1-7 21:06:22 From FishC Mobile | 显示全部楼层
C丁洞杀O 发表于 2023-1-7 21:03
。。。算法好啊,实际上图形和算法没区别的,再大的屏幕也是由一个又一个的像素组成的,只要得到屏幕的基 ...

我是小学生,军人...
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-1-7 21:09:02 | 显示全部楼层
zhangjinxuan 发表于 2023-1-7 21:06
我是小学生,军人...

擦!小学生,就这么厉害了,我这个初中生怎么活啊!呜呜呜,城市套路深,我要会农村!CSP又是个啥比赛?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-1-7 21:11:48 | 显示全部楼层
C丁洞杀O 发表于 2023-1-7 21:09
擦!小学生,就这么厉害了,我这个初中生怎么活啊!呜呜呜,城市套路深,我要会农村!CSP又是个啥比赛?

这里的学生更卷!市内的小学生都能做中考的试卷了,还能做150
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-1-7 21:14:28 | 显示全部楼层
zhangjinxuan 发表于 2023-1-7 21:11
这里的学生更卷!市内的小学生都能做中考的试卷了,还能做150!

语文吗?数学,英语那肯定行的啊
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-1-7 21:15:46 | 显示全部楼层
C丁洞杀O 发表于 2023-1-7 21:09
擦!小学生,就这么厉害了,我这个初中生怎么活啊!呜呜呜,城市套路深,我要会农村!CSP又是个啥比赛?

CSP这个比赛网上一搜就知道了~
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-5-10 15:42

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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