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 相关文章推荐
javascript indexOf函数使用说明
Jul 03 Javascript
jQuery timers计时器简单应用说明
Oct 28 Javascript
如何让页面加载完成后执行js
Jun 26 Javascript
CheckBoxList多选样式jquery、C#获取选择项
Sep 06 Javascript
js的正则test,match,exec详细解析
Jan 29 Javascript
JavaScript实现QQ聊天消息展示和评论提交功能
May 22 Javascript
JavaScript 值类型和引用类型的初次研究(推荐)
Jul 19 Javascript
js通过Date对象实现倒计时动画效果
Oct 27 Javascript
Vue进度条progressbar组件功能
Apr 17 Javascript
vue中axios请求的封装实例代码
Mar 23 Javascript
ES6入门教程之let、const的使用方法
Apr 13 Javascript
利用 Chrome Dev Tools 进行页面性能分析的步骤说明(前端性能优化)
Feb 24 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
PHP5.5和之前的版本empty函数的不同之处
2014/06/13 PHP
PHP实现视频文件上传完整实例
2014/08/28 PHP
PHP实现获取文件后缀名的几种常用方法
2015/08/08 PHP
php json_encode与json_decode详解及实例
2016/12/13 PHP
获取客户端电脑日期时间js代码(jquery)
2012/09/12 Javascript
javascript:;与javascript:void(0)使用介绍
2013/06/05 Javascript
JS 按钮点击触发(兼容IE、火狐)
2013/08/07 Javascript
基于jquery的禁用右键、文本选择功能、复制按键的实现代码
2013/08/27 Javascript
从数组中随机取x条不重复数据的JS代码
2013/12/24 Javascript
javascript中JSON对象与JSON字符串相互转换实例
2015/07/11 Javascript
JS原型、原型链深入理解
2016/02/27 Javascript
JavaScript禁止复制与粘贴的实现代码
2016/05/16 Javascript
AngularJS 模块化详解及实例代码
2016/09/14 Javascript
js判断出两个字符串最大子串的函数实现方法
2016/11/01 Javascript
AngularJS学习第一篇 AngularJS基础知识
2017/02/13 Javascript
原JS实现banner图的常用功能
2017/06/12 Javascript
JS倒计时实例_天时分秒
2017/08/22 Javascript
Vue 中axios配置实例详解
2018/07/27 Javascript
使用vuex解决刷新页面state数据消失的问题记录
2019/05/08 Javascript
小程序登录之支付宝授权的实现示例
2019/12/13 Javascript
js点击事件的执行过程实例分析【冒泡与捕获】
2020/04/11 Javascript
基于jsbarcode 生成条形码并将生成的条码保存至本地+源码
2020/04/27 Javascript
jquery实现图片放大镜效果
2020/12/23 jQuery
python 查找文件夹下所有文件 实现代码
2009/07/01 Python
jupyter notebook 中输出pyecharts图实例
2020/04/23 Python
简单了解python中的f.b.u.r函数
2019/11/02 Python
Django框架下静态模板的继承操作示例
2019/11/08 Python
通过实例简单了解Python sys.argv[]使用方法
2020/08/04 Python
英国工作场所设备购买网站:Slingsby
2019/05/03 全球购物
岗位职责定义及内容
2013/11/08 职场文书
党校学习思想汇报
2014/01/06 职场文书
大学生实习鉴定评语
2014/04/25 职场文书
2015自愿离婚协议书范本
2015/01/28 职场文书
2015年小学生自我评价范文
2015/03/03 职场文书
Python爬虫基础之简单说一下scrapy的框架结构
2021/06/26 Python
十大必看国产动漫排名,魁拔上线,第二曾在日本播出
2022/03/18 国漫