
简单项目
文章平均质量分 55
IamA_1536
软件工程在校生
展开
-
超萌新级的Java项目实践——绘图板(一)
学习任何知识是用来实践的,针对之前本人学习的一堆知识,本人定了一个小目标,即利用一个小小的项目来巩固这些知识,这个小小小项目就是绘图板。绘图板实现原理是根据鼠标的操作在组件上绘制图像,同时根据按下不同的按钮切换不同的画笔(如直线,圆,方形等)。首先说明一下Graphics类,这个类的对象实例为其关联的组件提供绘画功能及有关方法,具体方法会在项目中详细说明。我们省略掉制作界面这一步,直接...原创 2018-08-17 00:53:50 · 581 阅读 · 0 评论 -
超萌新级的Java项目实践——五子棋(二)
这部分内容需要一定的数组之类的数据结构的基础,这一部分讲解一下五子棋的重绘和防止重复在一个位置下棋的思路和解决方案。之前是实现了简易的界面的点一下绘制一个棋子以及棋子的换边。但是,我们在下棋的函数里没有任何的判断语句是用于判断点击的位置是否有棋子,所以导致可以在一个位置不断下棋。于是,我们需要一个用于存储位置的二维数组(当然也可以使用一维数组,本文介绍二维数组的使用方法),本人命名为pie...原创 2018-10-01 22:34:08 · 568 阅读 · 0 评论 -
超萌新级的Java项目实践——五子棋(一)
许多人在操作完绘图板之后,立马开始了五子棋这一个项目,因为这个项目相当于绘图板的延伸,同时需要一定的Java语法及数据结构的基础,比较适合训练各项能力,所以我也不例外,也走向了这一条道路。但是,本文并不打算详细讲述每一行代码,只是根据功能实现提供一定的思路。首先,五子棋是一个轮流下棋,并根据棋局来判断胜负的游戏。因此我们需要做的事情就是以下:绘制棋盘,绘制棋子(包括重绘),判断胜负,使游戏开始...原创 2018-09-29 00:50:16 · 1509 阅读 · 0 评论 -
超萌新级的Java项目实践——五子棋(三)
这部分内容需要一定的数据结构的基础,这一部分讲解一下五子棋的AI算法的思路和解决方案。首先讲一下算法的概念:解题方案的准确而完整的描述简单点说,就是解决问题用的方法的描述。例如:比较经典的背包问题,即将一堆物品装进背包,求装入背包的物品最高价值的值解决这种问题,有很多很多方法,比如把所有的方案都试试(穷举法) ,比如列转移方程使用动态规划等等,这些就是算法。一般五子棋使用的是权值算法(...原创 2018-11-11 18:16:09 · 1118 阅读 · 0 评论