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 相关文章推荐
Js判断参数(String,Array,Object)是否为undefined或者值为空
Nov 04 Javascript
js形成页面的一种遮罩效果实例代码
Jan 04 Javascript
原生js事件的添加和删除的封装
Jul 01 Javascript
JavaScript阻止浏览器返回按钮的方法
Mar 18 Javascript
wap手机端解决返回上一页的js实例
Dec 08 Javascript
ES6学习之变量的两种命名方法示例
Jul 18 Javascript
微信小程序视图template模板引用的实例详解
Sep 20 Javascript
node中使用es6/7/8(支持性与性能)
Mar 28 Javascript
mpvue小程序循环动画开启暂停的实现方法
May 15 Javascript
微信小程序实现张图片合成为一张并下载
Jul 16 Javascript
vue全屏事件开发详解
Jun 17 Javascript
element-ui封装一个Table模板组件的示例
Jan 04 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 mail()函数使用及配置方法
2014/01/14 PHP
php实现汉字验证码和算式验证码的方法
2015/03/07 PHP
PHP的Yii框架中YiiBase入口类的扩展写法示例
2016/03/17 PHP
ThinkPHP静态缓存简单配置和使用方法详解
2016/03/23 PHP
解决Laravel blade模板转义html标签的问题
2019/09/03 PHP
如何在PHP中使用AES加密算法加密数据
2020/06/24 PHP
完美解决JS中汉字显示乱码问题(已解决)
2006/12/27 Javascript
js 获取服务器控件值的代码
2010/03/05 Javascript
最短的IE判断代码
2011/03/13 Javascript
Javascript模块化编程详解
2014/12/01 Javascript
javascript多物体运动实现方法分析
2016/01/08 Javascript
jQuery实现的放大镜效果示例
2016/09/13 Javascript
JS利用cookies设置每隔24小时弹出框
2017/04/20 Javascript
vue2.0 如何把子组件的数据传给父组件(推荐)
2018/01/15 Javascript
react router4+redux实现路由权限控制的方法
2018/05/03 Javascript
详解微信小程序input标签正则初体验
2018/08/18 Javascript
在vue中解决提示警告 for循环报错的方法
2018/09/28 Javascript
解决layui页面按钮点击无反应,也不报错的问题
2019/09/29 Javascript
[47:03]完美世界DOTA2联赛PWL S3 access vs LBZS 第一场 12.20
2020/12/23 DOTA
Python实现Linux命令xxd -i功能
2016/03/06 Python
Python通过命令开启http.server服务器的方法
2017/11/04 Python
Python实现输入二叉树的先序和中序遍历,再输出后序遍历操作示例
2018/07/27 Python
python爬虫 爬取58同城上所有城市的租房信息详解
2019/07/30 Python
python剪切视频与合并视频的实现
2020/03/03 Python
使用Python对Dicom文件进行读取与写入的实现
2020/04/20 Python
Django中的AutoField字段使用
2020/05/18 Python
完美解决IE8下不兼容rgba()的问题
2017/03/31 HTML / CSS
美特斯邦威官方商城:邦购网
2016/10/13 全球购物
Nebula美国官网:便携式投影仪
2019/03/15 全球购物
德国足球商店:OUTFITTER
2019/05/06 全球购物
档案室主任岗位职责
2014/02/12 职场文书
上班时间打瞌睡检讨书
2014/09/26 职场文书
关于有小孩的离婚协议书
2014/10/26 职场文书
门店店长岗位职责
2015/04/14 职场文书
2015年行政执法工作总结
2015/05/23 职场文书
Matplotlib绘制条形图的方法你知道吗
2022/03/21 Python