javascript 初学教程及五子棋小程序的简单实现


Posted in Javascript onJuly 04, 2017

一.JavaScript简介

JavaScript一种直译式脚本语言,是一种动态类型、弱类型、基于原型的语言,内置支持类型。它的解释器被称为JavaScript引擎,为浏览器的一部分,广泛用于客户端的脚本语言,最早是在HTML(标准通用标记语言下的一个应用)网页上使用,用来给HTML网页增加动态功能。

二.hbulider工具的使用

1)

hbulider的特点:

1.飞快的编码速度

2.HBuilder直接创建移动App,打包为ios或Android原生安装包

3.HTML5语法、HTML5+语法、三大浏览器扩展语法,尽收HBuilder中

4.绿柔设置界面,更加护眼

2)

下载hbulider安装包

百度搜索hbulider,进入官方网站,点击右上角 download 按钮,即可下载。

javascript 初学教程及五子棋小程序的简单实现

4)

下载完成后可以看到下载到的是一个压缩包,打开下载的压缩包,将压缩包内的文件解压到希望存放的位置,点击确定。

javascript 初学教程及五子棋小程序的简单实现

5)

解压完成后,找到解压位置,点击hbulider.exe文件,开始安装。

javascript 初学教程及五子棋小程序的简单实现

6)打开后选择一个一般用来存放代码的文件夹作为代码目录。

javascript 初学教程及五子棋小程序的简单实现

7)根据自己的实际情况,选择所能看清楚的颜色块,然后点击下方 生成适合你的视觉方案 生成一个舒适的配色。

javascript 初学教程及五子棋小程序的简单实现

8)选择喜欢的视觉主题,点击下面的 确认并关闭 ,完成设置。

javascript 初学教程及五子棋小程序的简单实现

9)完成后进入到欢迎向导,如图,到此安装完成。

javascript 初学教程及五子棋小程序的简单实现

三.用hbulider写一个五子棋小程序

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8" />
    <title>五子棋游戏</title>
  </head>
  <body>
    <canvas id="myCanvas" width="570" height="570" 
      style="border: 2px solid #abcabc"></canvas>
  
  <!--
    作者:offline
    时间:2017-07-03
    描述:使用js代码控制游戏逻辑
  -->
    <script type="text/javascript">
      //获取canvas的标签
      var ChessCanvas = document.getElementById("myCanvas");
      //获取画布
      var gameCanvas = ChessCanvas.getContext("2d");
      //定义棋盘大小
      var map = 25;
      //棋子大小
      var chessSize = 24;
       //获取下棋的坐标
       var x = y = 0;
      //棋子的颜色
      var isRed = true;//==true的该下红棋 否则下黑棋
      var color = "#000000";
      //棋子数组  二维数组
      //保存所下的棋子 0:未下;1:下红棋;2:下黑棋
      var chessData = new Array(23);
      for(var i=0;i<23;i++)
      {
        chessData[i] =new Array(23);
        for(var j=0;j<23;j++)
        {
          chessData[i][j] = 0;
        }
      }
      //所下棋子在棋子数组的位置
      var i,j;
      //绘制棋盘
      for(var i=0;i<23;i++)
      {
        gameCanvas.moveTo(10,10+i*map);
        gameCanvas.lineTo(560,10+i*map);
        gameCanvas.moveTo(10+i*map,10);
        gameCanvas.lineTo(10+i*map,560);
        gameCanvas.stroke();//画
      }
      //创建函数,完成下棋
      function addChess(x,y)
      {
        //下棋 画小圆圈   角度转弧度 π/180×角度    弧度变角度 180/π×弧度
        gameCanvas.beginPath();//开始
        gameCanvas.arc(x,y,12,0,Math.PI*2,true);//画棋子
        gameCanvas.fillStyle = color;
        gameCanvas.fill();
        gameCanvas.closePath();//结束
        if(color=="#000000")
        {
          color = "#ff0000";
          //黑棋
          chessData[i][j] = 2;
          
          
        }else{
          color = "#000000";
          //红棋
          chessData[i][j] = 1;
          
        }
        
      }
      //重复调用 在做坦克大战之类游戏  需要使用。。。。。。。
//      window.setInterval(函数,时间);
    
    

      //游戏是否结束
//      function isGameWin()
      
      //如果是人机对战版,则需要下棋的AI 如果不是人机对战 则下完棋后,提醒对方下棋
//      function gameAI() 
      
      //做鼠标监听  游戏逻辑
      document.onmousedown= function(e)
      {
        window.onclick = function (){
        
        //获取下棋的坐标
        i = Math.round((e.x-10)/25);
        j = Math.round((e.y-10)/25);//边界不能下
        //判断该位置x,y是否可以下棋
        x = i*25+10;
        y = j*25+10;
        
        //判断该位置ij是否有棋子
        if(chessData[i][j]==0)
        {
          //下棋
          addChess(x,y);
        
          
        }else{
          alert("不好意思!你来晚了,已经被对方捷足先登了");
        }
        
        
        }
      }
      
      
    </script>
    
  </body>
</html>

代码不全,会陆续加上。

以上这篇javascript 初学教程及五子棋小程序的简单实现就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
jquery解决图片路径不存在执行替换路径
Feb 06 Javascript
计算新浪Weibo消息长度(还可以输入119字)
Jul 02 Javascript
可插入图片的TEXT文本框
Dec 27 Javascript
复制网页内容,粘贴之后自动加上网址的实现方法(脚本之家特别整理)
Oct 16 Javascript
Vue利用canvas实现移动端手写板的方法
May 03 Javascript
详解Webpack多环境代码打包的方法
Aug 03 Javascript
15个顶级开源JavaScript框架和库
Oct 10 Javascript
JavaScript实现的级联算法示例【省市二级联动功能】
Dec 25 Javascript
JavaScript 实现下雪特效的示例代码
Sep 09 Javascript
nuxt 页面路由配置,主页轮播组件开发操作
Nov 05 Javascript
原生js实现点击按钮复制内容到剪切板
Nov 19 Javascript
JavaScript 声明私有变量的两种方式
Feb 05 Javascript
基于Bootstrap分页的实例讲解(必看篇)
Jul 04 #Javascript
JS全角与半角转化实例(分享)
Jul 04 #Javascript
详解如何提高 webpack 构建 Vue 项目的速度
Jul 03 #Javascript
vue.js源代码core scedule.js学习笔记
Jul 03 #Javascript
lhgcalendar时间插件限制只能选择三个月的实现方法
Jul 03 #Javascript
JavaScript生成图形验证码
Aug 24 #Javascript
JS滚动到指定位置导航栏固定顶部
Jul 03 #Javascript
You might like
探讨PHP调用时间格式的参数详解
2013/06/06 PHP
php获取本机真实IP地址实例代码
2016/03/31 PHP
PHP7新特性之抽象语法树(AST)带来的变化详解
2018/07/17 PHP
jquery CSS选择器笔记
2010/03/29 Javascript
ExtJS 下拉多选框lovcombo
2010/05/19 Javascript
jquery实现点击TreeView文本父节点展开/折叠子节点
2013/01/10 Javascript
控制页面按钮在后台执行期间不重复提交的JS方法
2013/06/24 Javascript
jQuery 绑定事件到动态创建的元素上的方法实例
2013/08/18 Javascript
查看大图功能代码jquery版
2013/11/05 Javascript
JavaScript中发布/订阅模式的简单实例
2014/11/05 Javascript
使用jQuery管理选择结果
2015/01/20 Javascript
实现placeholder效果的方案汇总
2015/06/11 Javascript
javascript 将共享属性迁移到原型中去的实现方法
2016/08/31 Javascript
Javascript之面向对象--接口
2016/12/02 Javascript
JS实现touch 点击滑动轮播实例代码
2017/01/19 Javascript
微信小程序实现锚点定位楼层跳跃的实例
2017/05/18 Javascript
浅谈angular4 ng-content 中隐藏的内容
2017/08/18 Javascript
详解JS模块导入导出
2017/12/20 Javascript
Vue中使用webpack别名的方法实例详解
2018/06/19 Javascript
react+ant design实现Table的增、删、改的示例代码
2018/12/27 Javascript
js比较两个单独的数组或对象是否相等的实例代码
2019/04/28 Javascript
详解如何在JS代码中消灭for循环
2019/12/11 Javascript
PyQt5每天必学之QSplitter实现窗口分隔
2018/04/19 Python
python requests证书问题解决
2019/09/05 Python
Python 模拟动态产生字母验证码图片功能
2019/12/24 Python
C语言笔试集
2012/07/24 面试题
请说出以下代码输出什么
2013/08/30 面试题
外科实习自我鉴定
2013/10/06 职场文书
艺术应用与设计专业个人的自我评价
2013/11/19 职场文书
2015年库房工作总结
2015/04/30 职场文书
酒店员工手册范本
2015/05/14 职场文书
2015年敬老院工作总结
2015/05/18 职场文书
感恩教育主题班会
2015/08/12 职场文书
创业计划书之面包店
2019/09/17 职场文书
mybatis 解决从列名到属性名的自动映射失败问题
2021/06/30 Java/Android
漫画「你在春天醒来」第10卷封面公开
2022/03/21 日漫