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 面向对象 重载
May 13 Javascript
设为首页和收藏的Javascript代码(亲测兼容IE,Firefox,chrome等浏览器)
Nov 18 Javascript
js arguments,jcallee caller用法总结
Nov 30 Javascript
JS实现鼠标单击与双击事件共存
Mar 08 Javascript
node.js中的forEach()是同步还是异步呢
Jan 29 Javascript
js仿搜狐视频记录片列表展示效果
May 30 Javascript
JavaScript的事件机制详解
Jan 17 Javascript
javascript 玩转Date对象(实例讲解)
Jul 11 Javascript
基于复选框demo(分享)
Sep 27 Javascript
浅谈v-for 和 v-if 并用时筛选条件方法
Nov 07 Javascript
vue 内联样式style中的background用法说明
Aug 05 Javascript
vue实现禁止浏览器记住密码功能的示例代码
Feb 03 Vue.js
基于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用SAX解析XML的实现代码与问题分析
2011/08/22 PHP
使用Apache的htaccess防止图片被盗链的解决方法
2013/04/27 PHP
6种php上传图片重命名的方法实例
2013/11/04 PHP
PHP中的output_buffering详细介绍
2014/09/27 PHP
Yii2简单实现多语言配置的方法
2016/07/23 PHP
phpStudy配置多站点多域名方法及遇到的403错误解决方法
2017/10/19 PHP
tp5框架使用cookie加密算法实现登录功能示例
2020/02/10 PHP
PHP 实现重载
2021/03/09 PHP
不同Jquery版本引发的问题解决
2013/10/14 Javascript
使用jquery.validate自定义方法实现&quot;手机号码或者固话至少填写一个&quot;的逻辑验证
2014/09/01 Javascript
Javascript学习笔记之数组的构造函数
2014/11/23 Javascript
Javascript中实现String.startsWith和endsWith方法
2015/06/10 Javascript
微信小程序 图片边框解决方法
2017/01/16 Javascript
vue.js实现价格格式化的方法
2017/05/23 Javascript
JavaScript操作文件_动力节点Java学院整理
2017/06/30 Javascript
js学习总结_基于数据类型检测的四种方式(必看)
2017/07/04 Javascript
详解JS数据类型的值拷贝函数(深拷贝)
2017/07/13 Javascript
vue中for循环更改数据的实例代码(数据变化但页面数据未变)
2017/09/15 Javascript
微信小程序开发之IOS和Android兼容的问题
2017/09/26 Javascript
JS改变页面颜色源码分享
2018/02/24 Javascript
js运算符的一些特殊用法
2018/07/29 Javascript
原生js实现form表单序列化的方法
2018/08/02 Javascript
vue设置导航栏、侧边栏为公共页面的例子
2019/11/01 Javascript
Python判断某个用户对某个文件的权限
2016/10/13 Python
python将每个单词按空格分开并保存到文件中
2018/03/19 Python
详解django三种文件下载方式
2018/04/06 Python
python SocketServer源码深入解读
2019/09/17 Python
python常量折叠基础知识点讲解
2021/02/28 Python
意大利网上书店:LaFeltrinelli
2020/06/12 全球购物
ktv中秋节活动方案
2014/01/30 职场文书
婚庆司仪主持词
2014/03/15 职场文书
操行评语大全
2014/04/30 职场文书
四风问题查摆材料
2014/08/25 职场文书
中队活动总结
2014/08/27 职场文书
毕业生个人自荐书
2015/03/05 职场文书
海洋天堂观后感
2015/06/05 职场文书