`
wang_zhi_peng2007
  • 浏览: 253961 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

JavaScript小游戏

阅读更多
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
    <title>wujinjian</title>
    <script type="text/javascript">
        //11 个单元格,每个单元格的大小就 等于 地图的大小(mapWH)/mapSize
        var mapSize=11; 
        //地图的大小
        var mapWH=440;  
        //记录对方的ID
        var computerID; 
        //这个方向是否可走
        var isPath=true; 
        //记录四方位上距离对方的距离
        var up=0;
        var left=0;
        var right=0;
        var down=0;
        //障碍物的最多个数(可重叠)
        var za=3;
        
        window.onerror=function()
        {
            alert("异常!点击确定重新开始");
            window.location.href=window.location.href;
        };
        
        function createMap()
        {
            var x=Math.round(Math.random()*(mapSize-1));  //行
            var y=Math.round(Math.random()*(mapSize-1));  //列
            
            if(x==0)
                x=x+1;
            else if(x==(mapSize-1))
                x=x-1;
            if(y==0)
                y=y+1;
            else if(y==(mapSize-1))
                y=y-1;
                
            //var x=7;
            //var y=2;
            
            computerID=x+"_"+y;
            
            var tabobj=document.createElement("table");
            tabobj.style.width=mapWH+"px";
            tabobj.style.height=mapWH+"px";
            
            tabobj.border="1";
            
            var tbodyobj=document.createElement("tbody");
            
            for(var i=0;i<mapSize;i++)
            {
                var trobj=document.createElement("tr");
                
                for(var j=0;j<mapSize;j++)
                {
                    var tdobj=document.createElement("td");
                    tdobj.style.border="rgb(128,128,255) solid 1px";
                    tdobj.id=i+"_"+j
                    tdobj.onclick=tdClick;
                    
                    if(i+"_"+j==computerID)
                    {
                        tdobj.style.backgroundColor="red";
                    }
                    
                    var txt=document.createTextNode(" ");
                    tdobj.appendChild(txt);
                    
                    trobj.appendChild(tdobj);
                }
                
                tbodyobj.appendChild(trobj);
            }
            
            tabobj.appendChild(tbodyobj);
            
            document.getElementById("map_div").appendChild(tabobj);
            
            //默认随机障碍物
            for(var i=0;i<za;i++)
            {
                var _id=Math.round(Math.random()*(mapSize-1)) +"_"+ Math.round(Math.random()*(mapSize-1));
                if(document.getElementById(_id).style.backgroundColor=="")
                    document.getElementById(_id).style.backgroundColor="gray";
            }
            
            for(var i=0;i<mapSize;i++)
            {
                document.getElementById(i+"_"+(mapSize-1)).style.border="rgb(223,223,223) solid 1px";
                document.getElementById((mapSize-1)+"_"+i).style.border="rgb(223,223,223) solid 1px";
                document.getElementById(i+"_0").style.border="rgb(223,223,223) solid 1px";
                document.getElementById("0_"+i).style.border="rgb(223,223,223) solid 1px";
            }
        }
        
        function tdClick()
        {
            if(this.style.backgroundColor=="")
            {
                this.style.backgroundColor="gray";
                
                up=0;
                left=0;
                right=0;
                down=0;
                
                computerXZ();
            }  
        }
        
        function computerXZ()
        {
            var xy=computerID.split("_");
            var x=xy[0]-0;
            var y=xy[1]-0;
            
            //中心位置
            var mid=(mapSize-1)/2;
            
            //左上角
            if(x<=mid && y<=mid) 
            { 
                //向上
                if(x<=y)
                {
                    //向上不通,向左走 //false 表示是判断,true 表示行走
                    if(!computerUp(x,y,false)) 
                    {
                        //向左不通,向右走
                        if(!computerLeft(x,y,false))
                        {
                            //向右不通,向下走
                            if(!computerRight(x,y,false))
                            {
                                //向下不通,向下走(往最长的方向走)
                                if(!computerDown(x,y,false))
                                {
                                    
                                    direction(up,left,right,down,x,y)
                                }
                            }
                        }  
                    }       
                }
                else  //向左
                {
                   if(!computerLeft(x,y,false))
                    {
                        if(!computerUp(x,y,false))
                        {
                            if(!computerDown(x,y,false))
                            {
                                if(!computerRight(x,y,false))
                                {
                                    direction(up,left,right,down,x,y)
                                }
                            }
                        }  
                    }    
                }
            }
           //右上角
            else if(x<=mid && y>=mid)
            {
                if(x<=(mapSize-1-y)) //向上
                {
                    if(!computerUp(x,y,false)) 
                    {
                        if(!computerRight(x,y,false))
                        {
                            if(!computerLeft(x,y,false))
                            {
                                if(!computerDown(x,y,false))
                                {
                                    direction(up,left,right,down,x,y)
                                }
                            }
                        }  
                    }       
                }
                else  //向右
                {
                   if(!computerRight(x,y,false))
                    {
                        if(!computerUp(x,y,false))
                        {
                            if(!computerDown(x,y,false))
                            {
                                if(!computerLeft(x,y,false))
                                {
                                    direction(up,left,right,down,x,y)
                                }
                            }
                        }  
                    }    
                }
            }
            //右下角
            else if(x>=mid && y>=mid)
            {
                if(x>=y) //向下
                {
                    if(!computerDown(x,y,false)) 
                    {
                        if(!computerRight(x,y,false))
                        {
                            if(!computerLeft(x,y,false))
                            {
                                if(!computerUp(x,y,false))
                                {
                                    direction(up,left,right,down,x,y)
                                }
                            }
                        }  
                    }       
                }
                else  //向右
                {
                   if(!computerRight(x,y,false))
                    {
                        if(!computerDown(x,y,false))
                        {
                            if(!computerUp(x,y,false))
                            {
                                if(!computerLeft(x,y,false))
                                {
                                    direction(up,left,right,down,x,y)
                                }
                            }
                        }  
                    }    
                }
            }
            //左下角
            else if(x>=mid && y<=mid)
            {
                if((mapSize-1-x)<=y) //向下
                {
                    if(!computerDown(x,y,false)) 
                    {
                        if(!computerLeft(x,y,false))
                        {
                            if(!computerRight(x,y,false))
                            {
                                if(!computerUp(x,y,false))
                                {
                                    direction(up,left,right,down,x,y)
                                }
                            }
                        }  
                    }       
                }
                else  //向左
                {
                   if(!computerLeft(x,y,false))
                    {
                        if(!computerDown(x,y,false))
                        {
                            if(!computerUp(x,y,false))
                            {
                                if(!computerRight(x,y,false))
                                {
                                    direction(up,left,right,down,x,y) 
                                }
                            }
                        }  
                    }    
                }
            }

        }

 

转载中,学习一下!

分享到:
评论

相关推荐

    javaScript小游戏

    JavaScript小游戏是一种利用JavaScript编程语言开发的互动娱乐应用。JavaScript,简称JS,是Web开发中不可或缺的一部分,主要用于网页和网络应用的动态化。由于其轻量级、解释型和跨平台的特性,使得JavaScript成为...

    JavaScript 小游戏代码汇总

    JavaScript 小游戏代码汇总 JavaScript 是一种广泛使用的脚本语言,常用于开发 web 应用程序尤其是游戏开发。以下是 JavaScript 小游戏代码汇总的知识点: 1. HTML 基础:代码开头使用的 `&lt;!DOCTYPE html&gt;` 声明...

    五个javascript小游戏

    通过分析这些JavaScript小游戏,你可以深入了解如何运用上述知识点构建互动的网页应用。每个游戏都可能包含独特的设计和实现,提供了一个实践和学习JavaScript的好机会。无论你是初学者还是经验丰富的开发者,都能...

    Javascript小游戏(原创)

    JavaScript小游戏是一种基于Web的互动娱乐应用,完全使用JavaScript编程语言实现。JavaScript,作为网页开发中的主要脚本语言,被广泛用于实现动态交互效果和增强用户体验。在这个“原创”的JavaScript游戏中,...

    Javascript小游戏2048

    JavaScript小游戏2048是一款基于Web的数字合并游戏,它深受玩家喜爱,因为其简单易懂的规则和挑战性的玩法。在这个游戏中,玩家通过上下左右移动数字方块,当两个相同的数字相遇时会合并成它们的和,目标是合成一个...

    javascript小游戏

    JavaScript小游戏是一种基于Web...通过学习和实践JavaScript小游戏的开发,开发者不仅可以提升JavaScript技能,还能深入了解Web前端技术,并且能够设计出富有吸引力和教育意义的儿童游戏,满足不同年龄段用户的需求。

    javascript编写的小游戏

    下面我们将深入探讨JavaScript小游戏的原理、实现方式以及学习资源。 1. JavaScript基础知识: JavaScript 是一种轻量级的解释型编程语言,主要用于增加网页的交互性。它支持事件驱动、函数式和基于原型的编程风格...

    JavaScript小游戏 类似围棋游戏

    JavaScript小游戏 类似围棋游戏 JavaScript小游戏 类似围棋游戏

    javascript小游戏综合

    游戏登陆模块的实现 javascript小游戏综合 娱乐游戏 猜拳游戏 俄罗斯方块 连连看游戏 弹球球游戏 智力游戏 爱情测试 拼盘游戏 推箱子游戏 弹球球游戏 测试游戏 比眼力 比动作 贪吃蛇游戏 比灵敏 其他...

    JavaScript小游戏代码.pdf

    JavaScript小游戏代码分析 标题:"JavaScript小游戏代码.pdf"所对应的知识点有: 1. HTML基本结构:该代码片段展示了一个基本的HTML结构,包括 `&lt;html&gt;`、`&lt;head&gt;`、`&lt;title&gt;`、`&lt;script&gt;` 等标签。 2. JavaScript...

    JavaScript 小游戏

    随着Web技术的发展,许多开发者还会采用如Phaser、Three.js等游戏开发框架来增强JavaScript游戏的功能性和视觉效果,使得JavaScript小游戏不仅限于简单的休闲玩法,甚至能打造出更加复杂且具有丰富图形表现力的在线...

    javascript小游戏代码

    ASCII键盘 &lt;!...&lt;!...; charset=gb2312"&gt; content="java, javascript, js, scripts, free, dHTML, HTML,javascripts, JavaScript,asp,php, JSP, javascripting...type=text/javascript&gt; 技术支持:万旭网&lt;/A&gt; &lt;/BODY&gt;&lt;/HTML&gt;

    Javascript小游戏:彩球连线

    《JavaScript小游戏:彩球连线》是一款深受玩家喜爱的在线休闲娱乐项目,主要通过鼠标操作,将屏幕上的同色小球连接起来,达到消除并得分的目标。这款游戏完全采用JavaScript编程语言进行开发,具备良好的浏览器兼容...

    前端 JavaScript 小游戏 见缝插针

    【前端 JavaScript 小游戏 见缝插针】 前端开发中,JavaScript 是一种不可或缺的语言,它在构建交互式网页和游戏方面发挥着重要作用。"见缝插针"是一款基于JavaScript实现的小游戏,它不仅展示了JavaScript的基本...

    JavaScript 小游戏2048

    【标题】"JavaScript 小游戏2048" 是一个基于HTML5、CSS3和JavaScript技术实现的经典数字拼图游戏。2048游戏由意大利开发者Gabriele Cirulli在2014年推出,迅速在全球范围内流行起来,其核心玩法是通过滑动屏幕上的...

    javascript小游戏源代码个人整理

    javascript小游戏源代码个人整理,大部分是基于 jquery的。 扫雷,俄罗斯方块,贪吃蛇,数独,老虎机,吉他英雄

    JavaScript 小游戏代码.docx

    JavaScript 小游戏代码.docx

Global site tag (gtag.js) - Google Analytics