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的设计模式
Nov 22 Javascript
使用jscript实现二进制读写脚本代码
Jun 09 Javascript
javascript 获取模态窗口的滚动位置代码
Aug 06 Javascript
document.write()及其输出内容的样式、位置控制
Aug 12 Javascript
jQuery实现倒计时按钮功能代码分享
Sep 03 Javascript
vue resource post请求时遇到的坑
Oct 19 Javascript
js构造函数创建对象是否加new问题
Jan 22 Javascript
今天,小程序正式支持 SVG
Apr 20 Javascript
Nuxt使用Vuex的方法示例
Sep 06 Javascript
javascript/jquery实现点击触发事件的方法分析
Nov 11 jQuery
详解vue 组件
Jun 11 Javascript
js实现飞机大战小游戏
Aug 26 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 远程文件管理,可以给表格排序,遍历目录,时间排序
2009/08/07 PHP
使用PHP实现二分查找算法代码分享
2011/06/24 PHP
PHP操作Postgresql封装类与应用完整实例
2018/04/24 PHP
javascript Object与Function使用
2010/01/11 Javascript
js运动动画的八个知识点
2015/03/12 Javascript
使用Javascript简单计算器
2018/11/17 Javascript
nodejs 使用http进行post或get请求的实例(携带cookie)
2019/01/03 NodeJs
在Vue项目中用fullcalendar制作日程表的示例代码
2019/08/04 Javascript
JavaScript中0、空字符串、'0'是true还是false的知识点分享
2019/09/16 Javascript
通过微信公众平台获取公众号文章的方法示例
2019/12/25 Javascript
javascript前端和后台进行数据交互方法示例
2020/08/07 Javascript
[43:24]2018DOTA2亚洲邀请赛3月29日 小组赛A组 LGD VS Liquid
2018/03/30 DOTA
Python实现删除当前目录下除当前脚本以外的文件和文件夹实例
2015/07/27 Python
浅谈numpy数组的几种排序方式
2017/12/15 Python
Python+matplotlib实现华丽的文本框演示代码
2018/01/22 Python
tensorflow中next_batch的具体使用
2018/02/02 Python
python 列表降维的实例讲解
2018/06/28 Python
python中的常量和变量代码详解
2018/07/25 Python
python 多线程中子线程和主线程相互通信方法
2018/11/09 Python
Python如何获得百度统计API的数据并发送邮件示例代码
2019/01/27 Python
python for循环remove同一个list过程解析
2019/08/14 Python
opencv 图像腐蚀和图像膨胀的实现
2020/07/07 Python
海淘零差价,宝贝全球购: 宝贝格子
2016/08/24 全球购物
Nike瑞典官方网站:Nike.com (SE)
2018/11/26 全球购物
服装设计专业自荐书范文
2013/12/30 职场文书
查环查孕证明
2014/01/10 职场文书
工程造价专业大学生职业生涯规划书
2014/01/18 职场文书
销售助理岗位职责
2014/02/21 职场文书
GMP办公室主任岗位职责
2014/03/14 职场文书
幼儿园招生广告
2014/03/19 职场文书
房屋出售授权委托书
2014/10/12 职场文书
大学生见习报告总结
2014/11/04 职场文书
可可西里观后感
2015/06/08 职场文书
幼儿园奖惩制度范本
2015/08/05 职场文书
MySQL删除和插入数据很慢的问题解决
2021/06/03 MySQL
浅谈JavaScript浅拷贝和深拷贝
2021/11/07 Javascript