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 表单提交后按钮变灰的实例代码
Aug 16 Javascript
JavaScript中for..in循环陷阱介绍
Nov 12 Javascript
解析Javascript小括号“()”的多义性
Dec 03 Javascript
node.js路径处理方法以及绝对路径详解
Mar 04 Javascript
js滚轮事件兼容性问题需要注意哪些
Nov 15 Javascript
js获取元素的偏移量offset简单方法(必看)
Jul 05 Javascript
React 路由懒加载的几种实现方案
Oct 23 Javascript
jquery操作checkbox的常用方法总结【附测试源码下载】
Jun 10 jQuery
Auto.JS实现抖音刷宝等刷视频app,自动点赞,自动滑屏,自动切换视频功能
May 08 Javascript
javascript解析json格式的数据方法详解
Aug 07 Javascript
vue 调用 RESTful风格接口操作
Aug 11 Javascript
vue swipeCell滑动单元格(仿微信)的实现示例
Sep 14 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
世界上第一台立体声收音机
2021/03/01 无线电
PHP strncasecmp字符串比较的小技巧
2011/01/04 PHP
深入密码加salt原理的分析
2013/06/06 PHP
Joomla语言翻译类Jtext用法分析
2016/05/05 PHP
php微信支付接口开发程序
2016/08/02 PHP
Yii2中SqlDataProvider用法示例
2016/09/22 PHP
Thinkphp连表查询及数据导出方法示例
2016/10/15 PHP
利用PHPExcel实现Excel文件的写入和读取
2017/04/26 PHP
js 图片缩放(按比例)控制代码
2009/05/27 Javascript
JavaScript实现快速排序(自已编写)
2012/12/19 Javascript
JavaScript实现班级随机点名小应用需求的具体分析
2014/05/12 Javascript
Vue中fragment.js使用方法详解
2017/03/09 Javascript
JavaScript简单拖拽效果(1)
2017/05/17 Javascript
利用Javascript获取选择文本所在的句子详解
2017/12/03 Javascript
在vue中使用jointjs的方法
2018/03/24 Javascript
基于layui数据表格以及传数据的方式
2018/08/19 Javascript
Vue-cli@3.0 插件系统简析
2018/09/05 Javascript
VueQuillEditor富文本上传图片(非base64)
2020/06/03 Javascript
JS实现4位随机验证码
2020/10/19 Javascript
[01:06:19]DOTA2-DPC中国联赛定级赛 LBZS vs SAG BO3第二场 1月8日
2021/03/11 DOTA
Python自定义scrapy中间模块避免重复采集的方法
2015/04/07 Python
用Python编写一个每天都在系统下新建一个文件夹的脚本
2015/05/04 Python
Python打包可执行文件的方法详解
2016/09/19 Python
对python多线程中Lock()与RLock()锁详解
2019/01/11 Python
python同时遍历两个list用法说明
2020/05/02 Python
python logging模块的使用详解
2020/10/23 Python
HTML5适合的情人节礼物有纪念日期功能
2021/01/25 HTML / CSS
魅力惠奢品线上平台:MEI.COM
2016/11/29 全球购物
设计4个线程,其中两个线程每次对j增加1,另外两个线程对j每次减少1。写出程序。
2014/12/30 面试题
给校长的建议书100字
2014/05/16 职场文书
维护民族团结演讲稿
2014/08/27 职场文书
精神文明建设先进个人事迹材料
2014/12/24 职场文书
党员个人承诺书
2015/04/27 职场文书
2015年出纳工作总结与计划
2015/05/18 职场文书
活动主持人开场白
2015/05/28 职场文书
php去除数组中为0的元素的实例分析
2021/11/17 PHP