课程设计
文章平均质量分 82
技术不成熟/学生时期的代码实践。
五角场的夜风
同步做人,异步做事。
展开
-
各位程序猿/媛们,来用代码算一算在这个世界上活了多少天吧
前言:活了那么久,想不想知道自己已经在这个世界上活了多少天了?本文就以小程序的形式解决这个问题,告诫大家人生苦短,请务必惜时如金。为了提升小程序的用户体验,不让用户做过多的输入,我们引入C语言中的<time.h>这个头文件,让程序自动读取本机时间,用户只需要输入自己的生日,即可获悉自己的存活天数。首先介绍一下<time.h>的部分用法:与日期和时间相...原创 2018-08-13 17:40:37 · 641 阅读 · 0 评论 -
地铁交通咨询系统的设计与实现
二话不说,先上一张青岛地铁交通图。我是个在青岛上大学的计算机专业的大二学生,有一次我在烟台的朋友和他的女朋友坐高铁过来找我玩,他在青岛北站下高铁。我从青岛二中站上车,准备去青岛北站接他,去接他前我已经知道了青岛地铁3号线的一端是青岛站,另一端是青岛北站,于是我选择了相信自己,而不是高德地图。从上面那个地铁交通图中也能看出来,想要到三号线上去要先换乘到2号线,再换乘到3号线,到了苗岭...原创 2019-01-24 21:12:16 · 2927 阅读 · 6 评论 -
用C++开发的双人对战五子棋
前言:有了用C++开发象棋及其AI的经验后,我就萌生了再用C++开发五子棋及其AI的想法。有了想法还等什么?付诸实施呗!首先明确一盘五子棋需要什么属性:一盘五子棋有黑棋有白棋,与象棋不同的是,五子棋的棋子数目不是确定的,而是随着下棋随着增加的,所以,需要一个存放整盘棋棋子数目的整型变量num_of_Stone。五子棋下棋的有两方,黑方和白方,所以需要一个存放当前该谁走的布尔型变量_bBl...原创 2018-12-09 16:11:49 · 10338 阅读 · 14 评论 -
象棋人工智能算法的C++实现(五)——人机博弈的高阶算法
前言:上一期博客介绍了最为简单的人机博弈算法,包括获取所有合法路径、简单的估值以及电脑走棋。本期博客的进阶之处在于,所介绍的估值算法是建立在上一期博客的简单估值函数基础上的极大极小值算法(Minimax算法)。关于极大极小值算法:极大极小值算法是一种找出失败的最大可能性中的最小值的算法(即最小化对手的最大得益)。举个例子,电脑为A,人类为B,A在走棋之前需要思考,A走了某一步后,看看B有哪...原创 2018-11-02 19:22:14 · 24662 阅读 · 15 评论 -
象棋人工智能算法的C++实现(三)——注重功能分区!!!
前言:上一期博客我们介绍了相对简单的士、兵、相、马的走棋算法,本期博客将重点介绍比较复杂的车、炮和将的走棋算法。1.车的走棋算法车的走棋规则:沿直线行走。上canMoveCHE函数的源代码:bool Board::canMoveCHE(int moveid,int row,int col,int killid){ if(num_of_Stone(moveid,row,c...原创 2018-10-26 00:45:23 · 2261 阅读 · 0 评论 -
象棋人工智能算法的C++实现(四)——人工智能的开端
前言:前面几篇博客详细介绍了棋盘类的封装、棋子类的封装以及各种类型的棋子的走棋算法的实现。有了前面的铺垫,就能迈出人工智能的第一步了。本系列博客还是重点介绍实现方法,很多的代码都不再过多解释了。人机对战类:#ifndef SINGLEGAME_H#define SINGLEGAME_H#include "Board.h"class SingleGame : public Boa...原创 2018-10-24 12:18:47 · 3292 阅读 · 6 评论 -
象棋人工智能算法的C++实现(二)
前言:在看完上一期博客后,是不是对这个项目感到有点小兴奋呢?但是我首先要声明的是,这并不是最前沿的人工智能,所用的算法或许不是最快速的,只是闲的没事做着玩的一个小项目。欢迎各位攻城狮、各位行业大牛的讨论、批评与指正。有了上一期的铺垫,本期就可以实现诸如马走日、象走田等各种棋子的走棋算法了。为了方便后期人工智能算法的实现,我们写一个总的canMove函数,在这个总的canMove函数里调用各种类...原创 2018-10-18 11:35:06 · 3741 阅读 · 0 评论 -
象棋人工智能算法的C++实现(一)
前言:自AlphaGo战胜世界著名九段围棋手李世石之后,我就对棋类人工智能产生了极大的兴趣,并想要自己实现象棋的人工智能。然而那个时候我还在读高二,没有这么深厚的代码基础,所以那个时候也就只能想想了。但是现在不一样了,通过学习编程,已经可以让我在棋类人工智能这个领域向前探索了。首先说明一下本系列博客描述的人工智能算法不是基于机器学习、深度学习这么高深的知识,而是一种穷举找最优走法的算法。之所以...原创 2018-10-16 23:33:41 · 34296 阅读 · 12 评论 -
C语言文字加密程序的实现
前言:当今社会是一个信息社会,你的个人信息和聊天记录极有可能被别有用心的人时时刻刻监视着,那么你想不想实现专属于两个人或一个小圈子的人在社交软件上的交流不被任何其他人读懂呢?下面就给大家提供一个原理极其简单程序极其容易实现的C语言文字加密小程序的实现算法。原理:ASCLL码的加减乘除运算。举一个最简单的例子,从键盘输入一行字符"LANGUAGE",将所有字符的ASCLL码加1后再打印出来就变成...原创 2018-10-01 22:43:41 · 21346 阅读 · 2 评论 -
用C语言做模糊搜索
绪论:本文所提到的模糊搜索是指输入不完整的关键词即可查询到对应的全部准确结果。例如:输入“天”即可将所有姓名中带有“天”字的人搜索出来;输入“0809”即可将所有ID中带有“0809”片段的人搜索出来。这种搜索技术被广泛应用于各大有查询功能的软件,为用户提供了极大的方便。在众多的QQ/微信好友中,输入想要查找的联系人的姓名的一部分即可查找到该联系人,是不是很方便呢?在excel中,即使只记...原创 2018-08-12 20:34:25 · 18094 阅读 · 12 评论 -
各大平台热搜排行榜原型
前言:腾讯、新浪微博等平台都有一个热搜的功能,目的是让用户看到最近一段时间网友们都在搜索什么,以便实时掌握热点资讯。热搜排行榜的算法其实非常简单,用C语言就可以写出来。编程思想:每个被搜索的词条都是一个结构体,所有的被搜索词条构成了一个结构体数组,也就是一个线性结构。被搜索词条这个结构体中有两个成员变量,一个是用于存放搜索次数的整形变量sum,sum要被赋初值为0;另一个是用于存放关键词...原创 2018-07-11 22:04:36 · 8534 阅读 · 8 评论