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 相关文章推荐
某页码显示的helper 少量调整,另附js版
Sep 12 Javascript
提高javascript效率 一次判断,而不要次次判断
Mar 30 Javascript
如何在一个页面显示多个百度地图
Apr 07 Javascript
JS中setInterval、setTimeout不能传递带参数的函数的解决方案
Apr 28 Javascript
jquery 实现两级导航菜单附效果图
Mar 07 Javascript
JavaScript分秒倒计时器实现方法
Feb 02 Javascript
JAVASCRIPT代码编写俄罗斯方块网页版
Nov 26 Javascript
深入理解AngularJS中的ng-bind-html指令和$sce服务
Sep 08 Javascript
分享一个原生的JavaScript拖动方法
Sep 25 Javascript
利用Ionic2 + angular4实现一个地区选择组件
Jul 27 Javascript
ReactJs实现树形结构的数据显示的组件的示例
Aug 18 Javascript
vue实现点击出现操作弹出框的示例
Nov 05 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添加MySQL数据记录代码
2008/06/07 PHP
hessian 在PHP中的使用介绍
2010/12/13 PHP
PHP定时执行计划任务的多种方法小结
2011/12/19 PHP
php pki加密技术(openssl)详解
2013/07/01 PHP
thinkphp表单上传文件并将文件路径保存到数据库中
2016/07/28 PHP
使用PHP连接数据库_实现用户数据的增删改查的整体操作示例
2017/09/01 PHP
PHP时间日期增减操作示例【date strtotime实现加一天、加一月等操作】
2018/12/21 PHP
服务端 VBScript 与 JScript 几个相同特性的写法 By shawl.qiu
2007/03/06 Javascript
Javascript 遍历对象中的子对象
2009/07/03 Javascript
通过身份证号得到出生日期和性别的js代码
2009/11/23 Javascript
js截取函数(indexOf,join等)
2010/09/01 Javascript
Jquery ThickBox插件使用心得(不建议使用)
2010/09/08 Javascript
JQuery页面图片切换和新闻列表滚动效果的具体实现
2013/09/26 Javascript
node.js中的buffer.length方法使用说明
2014/12/14 Javascript
javascript实现根据时间段显示问候语的方法
2015/06/18 Javascript
Jsonp 关键字详解及json和jsonp的区别,ajax和jsonp的区别
2015/12/30 Javascript
jquery checkbox无法用attr()二次勾选问题的解决方法
2016/07/22 Javascript
vue.js的安装方法
2017/05/12 Javascript
JavaScript遍历DOM元素的常见方式示例
2019/02/16 Javascript
了解javascript中的Dom操作
2019/05/27 Javascript
JavaScript函数IIFE使用详解
2019/10/21 Javascript
javascrpt密码强度校验函数详解
2020/03/18 Javascript
Python中使用Tkinter模块创建GUI程序实例
2015/01/14 Python
Python多线程编程(四):使用Lock互斥锁
2015/04/05 Python
python3+mysql查询数据并通过邮件群发excel附件
2018/02/24 Python
python爬虫之xpath的基本使用详解
2018/04/18 Python
python调用摄像头的示例代码
2020/09/28 Python
Python使用tkinter制作在线翻译软件
2021/02/22 Python
写一个函数返回1+2+3+…+n的值(假定结果不会超过长整型变量的范围)
2014/09/05 面试题
求职意向书范文
2014/04/01 职场文书
2014年毕业演讲稿范文
2014/05/13 职场文书
大队委员竞选演讲稿
2015/11/20 职场文书
2019年销售部季度工作计划3篇
2019/10/09 职场文书
Python Flask请求扩展与中间件相关知识总结
2021/06/11 Python
Python Pandas常用函数方法总结
2021/06/15 Python
SQL使用复合索引实现数据库查询的优化
2022/05/25 SQL Server