社区
消息协作
帖子详情
c/s下可以用Messagebox(),请问B/S下用什么阿?
waq0544
2003-12-12 04:40:29
是在B/S下的代理中!
...全文
94
8
打赏
收藏
c/s下可以用Messagebox(),请问B/S下用什么阿?
是在B/S下的代理中!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
rosemerry
2003-12-14
打赏
举报
回复
:)那个方法是一样,不是就是麻烦一些而已。服务器会将服务器上显示的所有内容记录在一个叫Log.nsf数据库中,其实方式方法都是一样的,就好像打开控制台上查看结果和跑到服务器上看结果是一样的。
xiaoyuer0851
2003-12-14
打赏
举报
回复
呵呵,谢谢,俺知道了
但是楼上所说的,我到是没有碰到过,也没实践过,
YuLimin
2003-12-12
打赏
举报
回复
log.nsf的其它事件里也可以看到msgbox的信息。。
rosemerry
2003-12-12
打赏
举报
回复
对啊,两种方法:
1.js:直接弹出框显示,或用Print直接在页面上显示出来
2.LS:msgbox直接可以从控制台也就是服务器上看到效果的.
阿古
2003-12-12
打赏
举报
回复
代理里面可以用 不过不是在页面中弹出来 你到你的工作台上就可以看到结果了。
perry_zh
2003-12-12
打赏
举报
回复
print |<script language="javascript">alert("|+str(Num)+|");</Script>|
waq0544
2003-12-12
打赏
举报
回复
哦,我在代理(Lotus script)里面想alert一个变量Num
print |<script language="javascript">alert(Num);</Script>|
可是好象javascript不认这个变量阿,怎么办呢?谢谢
perry_zh
2003-12-12
打赏
举报
回复
print |<script language="javascript">alert("ok");</Script>|
C#上传下载c/s与b/s
简单实现文件上传下载,指定服务器,有扩展性
C#基于Socket的CS模式的完整例子
C#基于Socket的CS模式的完整例子
gertt点阵图读取器(opengl)
/* * This Code Was Created By Jeff Molofee 2000 * A HUGE Thanks To Fredric Echols For Cleaning Up * And Optimizing The Base Code, Making It More Flexible! * If You've Found This Code Useful, Please Let Me Know. * Visit My Site At nehe.gamedev.net */ #include
> #include
// Header File For Windows #include
// Header File For The OpenGL32 Library #include
// Header File For The GLu32 Library #include
// Header File For The Glaux Library HDC hDC=NULL; // Private GDI Device Context HGLRC hRC=NULL; // Permanent Rendering Context HWND hWnd=NULL; // Holds Our Window Handle HINSTANCE hInstance; // Holds The Instance Of The Application int ax[10000]; bool keys[256]; // Array Used For The Keyboard Routine bool active=TRUE; // Window Active Flag Set To TRUE By Default bool fullscreen=TRUE; // Fullscreen Flag Set To Fullscreen Mode By Default int a=0; int b=0; int c=0; LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM); // Declaration For WndProc GLvoid ReSizeGLScene(GLsizei width, GLsizei height) // Resize And Initialize The GL Window { if (height==0) // Prevent A Divide By Zero By { height=1; // Making Height Equal One } glViewport(0,0,width,height); // Reset The Current Viewport glMatrixMode(GL_PROJECTION); // Select The Projection Matrix glLoadIdentity(); // Reset The Projection Matrix // Calculate The Aspect Ratio Of The Window gluPerspective(45.0f,(GLfloat)width/(GLfloat)height,0.1f,1000.0f); glMatrixMode(GL_MODELVIEW); // Select The Modelview Matrix glLoadIdentity(); // Reset The Modelview Matrix } int InitGL(GLvoid) // All Setup For OpenGL Goes Here { int axa,axb,axc; axa=axb=axc=0; while(axa<=9999) { ax[axa]=1; axa++; } glShadeModel(GL_SMOOTH); // Enable Smooth Shading glClearColor(0.0f, 0.0f, 0.0f, 0.5f); // Black Background glClearDepth(1.0f); // Depth Buffer Setup glEnable(GL_DEPTH_TEST); // Enables Depth Testing glDepthFunc(GL_LEQUAL); // The Type Of Depth Testing To Do glHint(GL_PERSPECTIVE_CORRECTION_HINT, GL_NICEST); // Really Nice Perspective Calculations return TRUE; // Initialization Went OK } int DrawGLScene(GLvoid) // Here's Where We Do All The Drawing { int ba,bb,bc,bd; glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); // Clear Screen And Depth Buffer glLoadIdentity(); // Reset The Current Modelview Matrix glTranslatef(0.0f,0.0f,-300.0f); // Move Left 1.5 Units And Into The Screen 6.0 bc=bb=ba=0; glColor3f(0.0,1.0,0.0); while(bc<=9999) { if(ax[bc]==1) { ba=bc%100; bb=(bc-ba)/100; glBegin(GL_QUADS); // Draw A Quad glVertex3f(-0.5f+ba, -0.5f+bb, -1.0f); // Top Left glVertex3f( -0.5f+ba, 0.5f+bb, -1.0f); // Top Right glVertex3f( 0.5f+ba,0.5f+bb, -1.0f); // Bottom Right glVertex3f(0.5f+ba,-0.5f+bb, -1.0f); // Bottom Left glEnd(); // Done Drawing The Quad } bc++; } return TRUE; // Keep Going } GLvoid KillGLWindow(GLvoid) // Properly Kill The Window { if (fullscreen) // Are We In Fullscreen Mode? { ChangeDisplaySettings(NULL,0); // If So Switch Back To The Desktop ShowCursor(TRUE); // Show Mouse Pointer } if (hRC) // Do We Have A Rendering Context? { if (!wglMakeCurrent(NULL,NULL)) // Are We Able To Release The DC And RC Contexts? {
MessageBox
(NULL,"Release Of DC And RC Failed.","SHUTDOWN ERROR",MB_OK | MB_ICONINFORMATION); } if (!wglDeleteContext(hRC)) // Are We Able To Delete The RC? {
MessageBox
(NULL,"Release Rendering Context Failed.","SHUTDOWN ERROR",MB_OK | MB_ICONINFORMATION); } hRC=NULL; // Set RC To NULL } if (hDC && !ReleaseDC(hWnd,hDC)) // Are We Able To Release The DC {
MessageBox
(NULL,"Release Device Context Failed.","SHUTDOWN ERROR",MB_OK | MB_ICONINFORMATION); hDC=NULL; // Set DC To NULL } if (hWnd && !DestroyWindow(hWnd)) // Are We Able To Destroy The Window? {
MessageBox
(NULL,"Could Not Release hWnd.","SHUTDOWN ERROR",MB_OK | MB_ICONINFORMATION); hWnd=NULL; // Set hWnd To NULL } if (!UnregisterClass("OpenGL",hInstance)) // Are We Able To Unregister Class {
MessageBox
(NULL,"Could Not Unregister Class.","SHUTDOWN ERROR",MB_OK | MB_ICONINFORMATION); hInstance=NULL; // Set hInstance To NULL } } /* This Code Creates Our OpenGL Window. Parameters Are: * * title - Title To Appear At The Top Of The Window * * width - Width Of The GL Window Or Fullscreen Mode * * height - Height Of The GL Window Or Fullscreen Mode * * bits - Number Of Bits To Use For Color (8/16/24/32) * * fullscreenflag - Use Fullscreen Mode (TRUE) Or Windowed Mode (FALSE) */ BOOL CreateGLWindow(char* title, int width, int height, int bits, bool fullscreenflag) { GLuint PixelFormat; // Holds The Results After Searching For A Match WNDCLASS wc; // Windows Class Structure DWORD dwExStyle; // Window Extended Style DWORD dwStyle; // Window Style RECT WindowRect; // Grabs Rectangle Upper Left / Lower Right Values WindowRect.left=(long)0; // Set Left Value To 0 WindowRect.right=(long)width; // Set Right Value To Requested Width WindowRect.top=(long)0; // Set Top Value To 0 WindowRect.bottom=(long)height; // Set Bottom Value To Requested Height fullscreen=fullscreenflag; // Set The Global Fullscreen Flag hInstance = GetModuleHandle(NULL); // Grab An Instance For Our Window wc.style = CS_HREDRAW | CS_VREDRAW | CS_OWNDC; // Redraw On Size, And Own DC For Window. wc.lpfnWndProc = (WNDPROC) WndProc; // WndProc Handles Messages wc.cbClsExtra = 0; // No Extra Window Data wc.cbWndExtra = 0; // No Extra Window Data wc.hInstance = hInstance; // Set The Instance wc.hIcon = LoadIcon(NULL, IDI_WINLOGO); // Load The Default Icon wc.hCursor = LoadCursor(NULL, IDC_ARROW); // Load The Arrow Pointer wc.hbrBackground = NULL; // No Background Required For GL wc.lpszMenuName = NULL; // We Don't Want A Menu wc.lpszClassName = "OpenGL"; // Set The Class Name if (!RegisterClass(&wc)) // Attempt To Register The Window Class {
MessageBox
(NULL,"Failed To Register The Window Class.","ERROR",MB_OK|MB_ICONEXCLAMATION); return FALSE; // Return FALSE } if (fullscreen) // Attempt Fullscreen Mode? { DEVMODE dmScreenSettings; // Device Mode memset(&dmScreenSettings,0,sizeof(dmScreenSettings)); // Makes Sure Memory's Cleared dmScreenSettings.dmSize=sizeof(dmScreenSettings); // Size Of The Devmode Structure dmScreenSettings.dmPelsWidth = width; // Selected Screen Width dmScreenSettings.dmPelsHeight = height; // Selected Screen Height dmScreenSettings.dmBitsPerPel = bits; // Selected Bits Per Pixel dmScreenSettings.dmFields=DM_BITSPERPEL|DM_PELSWIDTH|DM_PELSHEIGHT; // Try To Set Selected Mode And Get Results. NOTE: CDS_FULLSCREEN Gets Rid Of Start Bar. if (ChangeDisplaySettings(&dmScreenSettings,CDS_FULLSCREEN)!=DISP_CHANGE_SUCCESSFUL) { // If The Mode Fails, Offer Two Options. Quit Or Use Windowed Mode. if (
MessageBox
(NULL,"The Requested Fullscreen Mode Is Not Supported By\nYour Video Card. Use Windowed Mode Instead?","NeHe GL",MB_YESNO|MB_ICONEXCLAMATION)==IDYES) { fullscreen=FALSE; // Windowed Mode Selected. Fullscreen = FALSE } else { // Pop Up A Message Box Letting User Know The Program Is Closing.
MessageBox
(NULL,"Program Will Now Close.","ERROR",MB_OK|MB_ICONSTOP); return FALSE; // Return FALSE } } } if (fullscreen) // Are We Still In Fullscreen Mode? { dwExStyle=WS_EX_APPWINDOW; // Window Extended Style dwStyle=WS_POPUP; // Windows Style ShowCursor(FALSE); // Hide Mouse Pointer } else { dwExStyle=WS_EX_APPWINDOW | WS_EX_WINDOWEDGE; // Window Extended Style dwStyle=WS_OVERLAPPEDWINDOW; // Windows Style } AdjustWindowRectEx(&WindowRect, dwStyle, FALSE, dwExStyle); // Adjust Window To True Requested Size // Create The Window if (!(hWnd=CreateWindowEx( dwExStyle, // Extended Style For The Window "OpenGL", // Class Name title, // Window Title dwStyle | // Defined Window Style WS_CLIPSIBLINGS | // Required Window Style WS_CLIPCHILDREN, // Required Window Style 0, 0, // Window Position WindowRect.right-WindowRect.left, // Calculate Window Width WindowRect.bottom-WindowRect.top, // Calculate Window Height NULL, // No Parent Window NULL, // No Menu hInstance, // Instance NULL))) // Dont Pass Anything To WM_CREATE { KillGLWindow(); // Reset The Display
MessageBox
(NULL,"Window Creation Error.","ERROR",MB_OK|MB_ICONEXCLAMATION); return FALSE; // Return FALSE } static PIXELFORMATDESCRIPTOR pfd= // pfd Tells Windows How We Want Things To Be { sizeof(PIXELFORMATDESCRIPTOR), // Size Of This Pixel Format Descriptor 1, // Version Number PFD_DRAW_TO_WINDOW | // Format Must Support Window PFD_SUPPORT_OPENGL | // Format Must Support OpenGL PFD_DOUBLEBUFFER, // Must Support Double Buffering PFD_TYPE_RGBA, // Request An RGBA Format bits, // Select Our Color Depth 0, 0, 0, 0, 0, 0, // Color Bits Ignored 0, // No Alpha Buffer 0, // Shift Bit Ignored 0, // No Accumulation Buffer 0, 0, 0, 0, // Accumulation Bits Ignored 16, // 16Bit Z-Buffer (Depth Buffer) 0, // No Stencil Buffer 0, // No Auxiliary Buffer PFD_MAIN_PLANE, // Main Drawing Layer 0, // Reserved 0, 0, 0 // Layer Masks Ignored }; if (!(hDC=GetDC(hWnd))) // Did We Get A Device Context? { KillGLWindow(); // Reset The Display
MessageBox
(NULL,"Can't Create A GL Device Context.","ERROR",MB_OK|MB_ICONEXCLAMATION); return FALSE; // Return FALSE } if (!(PixelFormat=ChoosePixelFormat(hDC,&pfd))) // Did Windows Find A Matching Pixel Format? { KillGLWindow(); // Reset The Display
MessageBox
(NULL,"Can't Find A Suitable PixelFormat.","ERROR",MB_OK|MB_ICONEXCLAMATION); return FALSE; // Return FALSE } if(!SetPixelFormat(hDC,PixelFormat,&pfd)) // Are We Able To Set The Pixel Format? { KillGLWindow(); // Reset The Display
MessageBox
(NULL,"Can't Set The PixelFormat.","ERROR",MB_OK|MB_ICONEXCLAMATION); return FALSE; // Return FALSE } if (!(hRC=wglCreateContext(hDC))) // Are We Able To Get A Rendering Context? { KillGLWindow(); // Reset The Display
MessageBox
(NULL,"Can't Create A GL Rendering Context.","ERROR",MB_OK|MB_ICONEXCLAMATION); return FALSE; // Return FALSE } if(!wglMakeCurrent(hDC,hRC)) // Try To Activate The Rendering Context { KillGLWindow(); // Reset The Display
MessageBox
(NULL,"Can't Activate The GL Rendering Context.","ERROR",MB_OK|MB_ICONEXCLAMATION); return FALSE; // Return FALSE } ShowWindow(hWnd,SW_SHOW); // Show The Window SetForegroundWindow(hWnd); // Slightly Higher Priority SetFocus(hWnd); // Sets Keyboard Focus To The Window ReSizeGLScene(width, height); // Set Up Our Perspective GL Screen if (!InitGL()) // Initialize Our Newly Created GL Window { KillGLWindow(); // Reset The Display
MessageBox
(NULL,"Initialization Failed.","ERROR",MB_OK|MB_ICONEXCLAMATION); return FALSE; // Return FALSE } return TRUE; // Success } LRESULT CALLBACK WndProc( HWND hWnd, // Handle For This Window UINT uMsg, // Message For This Window WPARAM wParam, // Additional Message Information LPARAM lParam) // Additional Message Information { FILE *F; switch (uMsg) // Check For Windows Messages { case WM_ACTIVATE: // Watch For Window Activate Message { if (!HIWORD(wParam)) // Check Minimization State { active=TRUE; // Program Is Active } else { active=FALSE; // Program Is No Longer Active } return 0; // Return To The Message Loop } case WM_SYSCOMMAND: { switch (wParam) { case SC_SCREENSAVE: case SC_MONITORPOWER: return 0; } break; } case WM_CLOSE: // Did We Receive A Close Message? { PostQuitMessage(0); // Send A Quit Message return 0; // Jump Back } case WM_CHAR: // Is A Key Being Held Down? { switch (wParam) { case 'w': { F=fopen("e:/a.gertt","rb"); fread(ax,sizeof(int),10000,F); fclose(F); break; } } return 0; } case WM_KEYUP: // Has A Key Been Released? { return 0; // Jump Back } case WM_SIZE: // Resize The OpenGL Window { ReSizeGLScene(LOWORD(lParam),HIWORD(lParam)); // LoWord=Width, HiWord=Height return 0; // Jump Back } } // Pass All Unhandled Messages To DefWindowProc return DefWindowProc(hWnd,uMsg,wParam,lParam); } int WINAPI WinMain( HINSTANCE hInstance, // Instance HINSTANCE hPrevInstance, // Previous Instance LPSTR lpCmdLine, // Command Line Parameters int nCmdShow) // Window Show State { MSG msg; // Windows Message Structure BOOL done=FALSE; // Bool Variable To Exit Loop // Ask The User Which Screen Mode They Prefer if (
MessageBox
(NULL,"Would You Like To Run In Fullscreen Mode?", "Start FullScreen?",MB_YESNO|MB_ICONQUESTION)==IDNO) { fullscreen=FALSE; // Windowed Mode } // Create Our OpenGL Window if (!CreateGLWindow("NeHe's First Polygon Tutorial",640,480,16,fullscreen)) { return 0; // Quit If Window Was Not Created } while(!done) // Loop That Runs While done=FALSE { if (PeekMessage(&msg,NULL,0,0,PM_REMOVE)) // Is There A Message Waiting? { if (msg.message==WM_QUIT) // Have We Received A Quit Message? { done=TRUE; // If So done=TRUE } else // If Not, Deal With Window Messages { TranslateMessage(&msg); // Translate The Message DispatchMessage(&msg); // Dispatch The Message } } else // If There Are No Messages { // Draw The Scene. Watch For ESC Key And Quit Messages From DrawGLScene() if ((active && !DrawGLScene()) || keys[VK_ESCAPE]) // Active? Was There A Quit Received? { done=TRUE; // ESC or DrawGLScene Signalled A Quit } else // Not Time To Quit, Update Screen { SwapBuffers(hDC); // Swap Buffers (Double Buffering) } if (keys[VK_F1]) // Is F1 Being Pressed? { keys[VK_F1]=FALSE; // If So Make Key FALSE KillGLWindow(); // Kill Our Current Window fullscreen=!fullscreen; // Toggle Fullscreen / Windowed Mode // Recreate Our OpenGL Window if (!CreateGLWindow("NeHe's First Polygon Tutorial",800,600,32,fullscreen)) { return 0; // Quit If Window Was Not Created } } } } // Shutdown KillGLWindow(); // Kill The Window return (msg.wParam); // Exit The Program }
C#写的230象棋
using System; using System.Drawing; using System.Windows.Forms; namespace 象棋 { public partial class Form1 : Form//依然纯代码 不过要调用图片了 棋盘自己画的 棋子是图片 { int[,] ai ={{5,4,3,2,1,2,3,4,5}, {0,0,0,0,0,0,0,0,0}, {0,6,0,0,0,0,0,6,0}, {7,0,7,0,7,0,7,0,7}, {0,0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0,0}, {17,0,17,0,17,0,17,0,17}, {0,16,0,0,0,0,0,16,0}, {0,0,0,0,0,0,0,0,0}, {15,14,13,12,11,12,13,14,15}}; Control bi = null,ci=null,di=null; int ao, bo; public Form1() { Size = new Size(650, 750); this.BackColor = Color.White; Text = "象棋--作者:彳亍乐儿"; StartPosition = FormStartPosition.CenterScreen; MouseDown += new MouseEventHandler(md);//布局 Paint += new PaintEventHandler(huitu); for(int i=0;i<10;i++)//上棋子 for (int l = 0; l < 9; l++) if (ai[i, l] != 0) { PictureBox a = new PictureBox(); a.Image = new Bitmap(ai[i, l] + ".png"); a.Size = new Size(60, 60); a.Tag = ai[i, l]; if (ai[i, l] < 10)//决定谁先出棋 a.Enabled = false; a.Click += new EventHandler(cl); a.Location = zb(new Point((l + 1) * 64, (i + 1) * 64)); if (ai[i, l] == 1) di = a; if (ai[i, l] == 11) ci = a; Controls.Add(a); } } void md(object sender, MouseEventArgs e) { int h1 =zb2(e.Location).Y / 64,h2=zb2(e.Location).X / 64; if(zb2(e.Location).X!=0) if (bi is Control) { bool s=panduan(new Point(bi.Location.Y/64,bi.Location.X/64),new Point(h1,h2),Convert.ToInt32(bi.Tag)); if (ai[h1,h2]!= 0&&s) chidiao(zb2(e.Location)); if (s) { ai[h1,h2] = Convert.ToInt32(bi.Tag); ai[bo, ao] = 0; (bi as Control).Location = zb2(e.Location); foreach (Control i in Controls) { if (Convert.ToInt32(i.Tag) / 10 == Convert.ToInt32(bi.Tag) / 10) i.Enabled = false; else i.Enabled = true; } } } panjue(); bi = null; } void chidiao(Point p)//吃掉 { for (int i = 0; i < Controls.Count; i++) if (Controls[i].Location == p) { Controls.RemoveAt(i); break; } } bool panduan(Point a,Point b,int i)//a初始位置 b目标位置 i棋子种类 { if (i == 17)//兵 { if (a.Y == b.Y && a.X - b.X ==1) return true; else if (Math.Abs(a.Y - b.Y) == 1 && a.X == b.X&&a.X<5) return true; } if (i == 7)//兵2 { if (a.Y == b.Y && a.X - b.X == -1) return true; else if (Math.Abs(a.Y - b.Y) == 1 && a.X == b.X && a.X > 4) return true; } else if (i == 16||i==6)//炮 走法相同 { int s = panding(a, b); if ((s == 0 && ai[b.X, b.Y] == 0)||(s == 1 && ai[b.X, b.Y] != 0)) return true; } else if(i==15||i==5)//车 走法相同 { int s = panding(a, b); if (s == 0)//比较简单 判定出来没有子就可以了 return true; } else if (i == 14||i==4)//马 走法相同 { if ((Math.Pow(a.X - b.X, 2) + Math.Pow(a.Y - b.Y, 2)) == 5)//判断长度通过 { if (b.X - a.X == 2 && ai[a.X + 1, a.Y] != 0)//判断四个马脚 return false; if (b.X - a.X == -2 && ai[a.X - 1, a.Y] != 0) return false; if (b.Y - a.Y == 2 && ai[a.X , a.Y+1] != 0) return false; if (b.Y - a.Y == -2 && ai[a.X, a.Y-1] != 0) return false; return true; } } else if (i == 13||i==3)//象 稍微改变 { if ((Math.Pow(a.X - b.X, 2) + Math.Pow(a.Y - b.Y, 2)) == 8)//判断长度通过 if ((ai[(a.X + b.X) / 2, (a.Y + b.Y) / 2] == 0)&&i==13?b.X>4:b.X<5)//判断象脚通过还有不能过河 return true; } else if (i == 12||i==2)//士 稍微改变 { if ((Math.Pow(a.X - b.X, 2) + Math.Pow(a.Y - b.Y, 2)) == 2)//判断长度通过 if (b.Y >= 3 && b.Y <= 5) { if (b.X <= 2 && i == 2) return true; if (b.X > 6 && i == 12)//判断不出界 return true; } } else if(i==11||i==1)//将 稍微改变 { if ((Math.Pow(a.X - b.X, 2) + Math.Pow(a.Y - b.Y, 2)) == 1)//判断长度通过 if (b.Y >= 3 && b.Y <= 5) { if (b.X <= 2 && i == 1) return true; if (b.X > 6 && i == 11)//判断不出界 return true; } } else return true; return false; } int panding(Point a,Point b)//用来判断两点之间有多少个棋子 { int s = 0; if (a.X == b.X) { int max = a.Y > b.Y ? a.Y : b.Y; int mix = a.Y + b.Y - max; for (int h = mix + 1; h < max; h++) if (ai[a.X, h] != 0) s++; } if (a.Y == b.Y) { int max = a.X > b.X ? a.X : b.X; int mix = a.X + b.X - max; for (int h = mix + 1; h < max; h++) if (ai[h, a.Y] != 0) s++; } return s; } int panjue()//判断胜负 { int jiang=0; for (int i = 0; i < 10; i++) for (int p = 0; p < 9; p++) if (ai[i, p] == 1 || ai[i, p] == 11) jiang += ai[i, p]; if (jiang < 12) {
MessageBox
.Show(jiang == 1 ? "红方赢了" : "黑方赢了"); return 0; } if(ci.Location.X==di.Location.X)//判断直线相遇 if(panding(z(ci.Location),z(di.Location))==0)
MessageBox
.Show(Convert.ToInt32(bi.Tag) > 10 ? "红方赢了" : "黑方赢了"); return 0; } Point z(Point z) { return new Point(z.Y / 64, z.X / 64); } void cl(object sender, EventArgs e) { bi = sender as Control; ao = bi.Location.X / 64; bo = bi.Location.Y / 64; } Point zb(Point p)//坐标 { return new Point(p.X - 30, p.Y - 30); } Point zb2(Point p) { for (int i = 1; i < 11; i++) for (int l = 1; l < 10; l++) if (Math.Abs(p.X - l * 64) < 25 && Math.Abs(p.Y - i * 64) < 25) return zb(new Point(l * 64, i * 64)); return new Point(0, 0); } private void huitu(object sender, PaintEventArgs e) { for (int l = 0; l < 3; l += 2) { for (int i = 1; i < 10; i++)//画棋盘 e.Graphics.DrawLine(Pens.Black, new Point(i * 64, (352 - 64) * l + 64), new Point(i * 64, (352 - 320 - ((i == 1 || i == 9) ? 64 : 0)) * l + 320 + ((i == 1 || i == 9) ? 64 : 0))); for (int i = 1; i < 6; i++) e.Graphics.DrawLine(Pens.Black, new Point(64, (352 - 64 * i) * l + 64 * i), new Point(576, (352 - 64 * i) * l + 64 * i)); e.Graphics.DrawLine(Pens.Black, new Point(256, (352 - 64) * l + 64), new Point(383, (352 - 192) * l + 192)); e.Graphics.DrawLine(Pens.Black, new Point(383, (352 - 64) * l + 64), new Point(256, (352 - 192) * l + 192)); } } } }
C#笔记[C#面向对象编程基础技能突破].docx
个人初学C#的笔记
消息协作
536
社区成员
39,094
社区内容
发帖
与我相关
我的任务
消息协作
企业开发 Exchange Server
复制链接
扫一扫
分享
社区描述
企业开发 Exchange Server
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章