正在学习五子棋的开发,现在是第一步,一切都还是渣渣,给新手看看。
简陋的界面。。
代码没什么难度,唯一需要注意的地方就是判断鼠标点击屏幕,需要在哪里出现棋子。
package data0609_五子棋; import java.awt.Color; import java.awt.Graphics; import java.awt.Graphics2D; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; import java.awt.event.MouseListener; public class PMouseAda extends MouseAdapter implements Config1{ Graphics g; public PMouseAda(Graphics g) { this.g=g; } public void mouseReleased(MouseEvent e) { int x=e.getX(); int y=e.getY(); int click=e.getButton(); //以下代码为判断在哪里画棋子 int flag=1; double tx=((double)x-x0)/size; double ty=((double)y-y0)/size; int tx1=(int)tx; int ty1=(int)ty; if(tx-tx1>2.0/3) tx1++; if(ty-ty1>2.0/3) ty1++; if(tx-(int)tx>1.0/3&&tx-(int)tx<2.0/3) flag=0; if(ty-(int)ty>1.0/3&&ty-(int)ty<2.0/3) flag=0; int xc=tx1*size+x0; int yc=ty1*size+y0; if(flag==1) { if(click==1) g.setColor(Color.BLACK); if(click==3) g.setColor(Color.WHITE); g.fillOval(xc-chessSize/2, yc-chessSize/2, chessSize, chessSize); } } }
package data0609_五子棋; import java.awt.BorderLayout; import java.awt.Color; import java.awt.Graphics; import javax.swing.ImageIcon; import javax.swing.JFrame; import javax.swing.JPanel; import data0609_五子棋.test.WZQListener; /** * 五子棋界面 * @author ZhangZunC * */ public class MainFrame extends JFrame { public MainFrame() { MyPanel panel=new MyPanel(); this.add(panel);//JFrame默认是BorderLayout 布局 this.setSize(600,600); this.setTitle("五子棋"); this.setDefaultCloseOperation(3); this.setResizable(false); this.setVisible(true);//为什么一定要放在这里 Graphics g=panel.getGraphics(); PMouseAda listener=new PMouseAda(g); panel.addMouseListener(listener); } public static void main(String[] args) { new MainFrame(); } }
package data0609_五子棋; import java.awt.Graphics; import java.awt.Graphics2D; import java.awt.Paint; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; import java.awt.image.BufferedImage; import javax.swing.ImageIcon; import javax.swing.JPanel; import data0609_五子棋.test.Config; public class MyPanel extends JPanel implements Config1{ Graphics g; /** * 重写绘制组件的方法 这个方法在组件需要绘制的时候会自动调用 * @param g */ public void paint(Graphics g) { super.paint(g); for(int i=0;i<row;i++) { g.drawLine(x0+i*size, y0, x0+i*size, y0+size*14); } for(int i=0;i<col;i++) { g.drawLine(x0,y0+i*size,x0+size*14,y0+i*size); } } }
相关推荐
游戏界面的具体实现,即有绝对坐标与相对坐标、又有界面的颜色与大小和各部分所处的位置。 在鼠标在棋盘上经过的时候,可以看出光标在那里; 正常落棋子,不会覆盖已有棋子。 记录游戏中棋子的落子过程,并且允许...
通过五子棋小项目训练,巩固了C++基础知识,对OOP编程的思维进一步提升,此外对Qt框架有了初步认识,同时对其2D绘画有一定程度上的掌握,并对UI界面的开发形成了初步的认知,能自我处理开发中一些比较简单的常见问题...
1. **图形用户界面(GUI)**: 初步实现的五子棋游戏首先需要一个用户友好的界面,这通常通过Java的Swing或JavaFX库来创建。这两个库提供了丰富的组件和布局管理器,用于构建窗口、按钮、文本框等元素,让玩家能够直观...
通过这个项目,学生不仅可以学习到Python基础语法,还能掌握GUI编程、算法设计和调试技巧,同时对游戏开发有初步认识。这个五子棋游戏程序是Python编程实践的很好示例,对于提升编程能力非常有帮助。
`ChessGameView`类作为View,负责绘制棋盘并在棋子落定时更新界面;`ChessGameManager`作为Controller,监听用户的点击事件,调用Model的接口更新棋局,并通知View进行界面更新。 在压缩包文件中,我们看到两个文件...
总结起来,"五子棋(自己做的VC五子棋源码)"是一个结合了C++编程、MFC库应用和游戏逻辑实现的项目,对于想要学习Windows GUI编程和游戏开发的初学者来说,是一个宝贵的实践案例。通过分析和学习这个源码,不仅可以...
【C++五子棋人机对战】是一个利用C++编程语言实现的计算机程序,它集成了游戏逻辑、用户界面和人工智能算法,让玩家可以与电脑进行对弈。在这个项目中,开发者使用了Windows API来构建图形用户界面,提供直观的游戏...
为了编译和运行程序,文件5.c是源代码文件,包含五子棋游戏的主要实现。而5.dsp、5.dsw、5.ncb、5.opt、5.plg是Visual Studio项目文件,用于在Microsoft Visual Studio环境中管理和构建项目。Debug目录则可能包含了...
Board-master.zip_Yixin2017_May.exe_yixin 五子棋_yixinboard_弈心"揭示了这个压缩包的内容,它包括了"Yixin2017_May.exe"这个2017年5月版的弈心程序,以及与"yixinboard"相关的文件,可能是一个五子棋的用户界面或...
《C语言实现五子棋游戏:人工智能与课程设计解析》 在计算机科学的学习...通过完成这样的设计,学生不仅能够巩固编程技能,还能了解并应用到游戏开发和人工智能领域的知识,为未来的学习和职业发展打下坚实的基础。
这款游戏源码包含了实现五子棋游戏的核心算法和界面展示,对于学习Flash编程和游戏开发的初学者来说,是一个非常有价值的参考资源。 【描述】中提到了两个关键文件:`flash五子棋.flv`和`flash五子棋.swf`。`.flv`...
通过这个五子棋项目,你可以掌握C#编程的基本技能,并对游戏开发有初步了解。不断实践和学习,你将能够创建更复杂的游戏,并对C#和游戏编程有更深的理解。在实际操作中,记得查看提供的五子棋源代码,分析并理解每一...
- **研究方向**:本研究主要聚焦于单机版五子棋游戏的设计与实现,旨在开发出一款操作简单、界面友好、具有较高智能度的五子棋游戏软件。 - **研究内容**:具体包括但不限于游戏规则的制定、用户界面的设计、智能...
我们需要使用这个框架来设计五子棋的用户界面,包括棋盘的绘制、棋子的放置以及交互事件的处理。 3. **图形用户界面(GUI)设计**:理解如何使用控件(如PictureBox、Button等)布局界面,以及如何响应用户的点击...
在五子棋游戏中,可能有棋盘类、棋子类、玩家类等,每个类都有其特定的职责和行为。 在AI设计上,由于此项目没有实现禁手功能,这意味着游戏可能无法达到专业比赛的标准。禁手规则是五子棋中防止一方过于优势的策略...
本篇将深入探讨一款基于VC(Visual C++)编写的五子棋游戏源码,该程序不仅实现了基本的游戏功能,还具备记忆功能,以及对多语言的支持,展现了编程在游戏开发中的巧妙应用。 首先,我们要理解的是,这款游戏的核心...
通过分析和学习这个五子棋源代码,初学者可以掌握C++编程基础,了解MFC框架,理解事件驱动编程,以及初步接触游戏逻辑和AI设计。这是一个很好的实践项目,能够帮助初学者将理论知识应用到实际编程中,提高编程能力和...
2. **用户界面**:在C语言中,可以通过标准输入输出(stdin和stdout)来实现简单的命令行界面。用户通过键盘输入行和列号,程序根据输入更新棋盘状态并显示。 3. **游戏逻辑**:游戏逻辑包括检查每一步是否合法(如...
在易语言实现的三人五子棋系统中,客户端和服务器端的源码是关键部分。 客户端是用户与游戏交互的界面,主要负责显示棋盘、接收用户输入并发送到服务器,以及接收服务器返回的信息更新棋盘状态。在“易语言三人...
"五子棋人机对弈(附源代码)"项目是一个很好的学习实践案例,它涵盖了软件开发的基础知识、游戏设计原理和人工智能的初级应用,对于初学者来说,通过理解和修改源码,不仅可以掌握编程技能,还能对人工智能有初步的...