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 动态加载 css 方法总结
Jul 11 Javascript
jQuery中insertAfter()方法用法实例
Jan 08 Javascript
JS脚本根据手机浏览器类型跳转WAP手机网站(两种方式)
Aug 04 Javascript
Three.js学习之文字形状及自定义形状
Aug 01 Javascript
js中用cssText设置css样式的简单方法
Sep 19 Javascript
JavaScript 监控微信浏览器且自带返回按钮时间
Nov 27 Javascript
浅谈vue方法内的方法使用this的问题
Sep 15 Javascript
JS中验证整数和小数的正则表达式
Oct 08 Javascript
vue实现鼠标移入移出事件代码实例
Mar 27 Javascript
微信小程序开发实现消息推送
Nov 18 Javascript
JavaScript基于面向对象实现的无缝滚动轮播示例
Jan 17 Javascript
原生js实现轮播图特效
May 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 chr() ord()中文截取乱码问题解决方法
2008/09/08 PHP
Yii结合CKEditor实现图片上传功能
2014/06/13 PHP
PHP实现无限极分类图文教程
2014/11/25 PHP
PHP利用APC模块实现文件上传进度条的方法
2015/01/26 PHP
PHP下用Swoole实现Actor并发模型的方法
2019/06/12 PHP
Yii Framework框架开发微信公众平台示例
2020/04/26 PHP
PHP sdk文档处理常用代码示例解析
2020/12/09 PHP
JavaScript获取当前页面上的指定对象示例代码
2014/02/28 Javascript
windows8.1+iis8.5下安装node.js开发环境
2014/12/12 Javascript
JQuery选中checkbox方法代码实例(全选、反选、全不选)
2015/04/27 Javascript
jquery实现平滑的二级下拉菜单效果
2015/08/26 Javascript
如何根据百度地图计算出两地之间的驾驶距离(两种语言js和C#)
2015/10/29 Javascript
jQuery点击输入框显示验证码图片
2016/05/19 Javascript
利用node.js搭建简单web服务器的方法教程
2017/02/20 Javascript
jquery实现提示语淡入效果
2017/05/05 jQuery
详解Angular2组件之间如何通信
2017/06/22 Javascript
MUI实现上拉加载和下拉刷新效果
2017/06/30 Javascript
Vue2.0用户权限控制解决方案
2017/11/29 Javascript
在vue项目中集成graphql(vue-ApolloClient)
2018/09/08 Javascript
Webpack之tree-starking 解析
2018/09/11 Javascript
Node.js API详解之 util模块用法实例分析
2020/05/09 Javascript
基于jQuery拖拽事件的封装
2020/11/29 jQuery
python基础教程之面向对象的一些概念
2014/08/29 Python
简单实现Python爬取网络图片
2018/04/01 Python
基于python进行桶排序与基数排序的总结
2018/05/29 Python
Python中字符串String的基本内置函数与过滤字符模块函数的基本用法
2019/05/27 Python
python 弹窗提示警告框MessageBox的实例
2019/06/18 Python
业务经理的岗位职责
2013/11/16 职场文书
教学器材管理制度
2014/01/26 职场文书
《十六年前的回忆》教学反思
2014/02/14 职场文书
机电一体化毕业生自荐信
2014/06/19 职场文书
2014机关党员干部“正风肃纪”思想汇报
2014/09/15 职场文书
2015年挂职锻炼个人总结
2015/10/22 职场文书
奖学金发言稿(范文)
2019/08/21 职场文书
如何用JS实现网页瀑布流布局
2021/04/24 Javascript
秀!学妹看见都惊呆的Python小招数!【详细语言特性使用技巧】
2021/04/27 Python