微信掃碼登錄 ×
vue數(shù)字華容道游戲代碼

vue數(shù)字華容道游戲代碼

收藏
vue數(shù)字華容道游戲代碼
vue實(shí)現(xiàn)數(shù)字華容道游戲源代碼。學(xué)生,勿噴。

使用方法:

1、head引入css文件

<style>
html,body,div{
	margin: 0;
	padding: 0;
}
#app{
	width: 400px;
	height: 422px;
	margin: 200px auto;
	background-color: black;
	text-align: center;
	color: white;
}
.puzzle{
	width: 400px;
	list-style: none;
	overflow: hidden;
	margin-left: -40px;
	margin-bottom: 0px;
	margin-top: -23px;
}
li{
	width: 100px;
	height: 100px;
	background: orange;
	float: left;
	line-height: 100px;
	-webkit-text-stroke: 1px #fff;
	color: transparent;
	font-size: 48px;
	border: 1px solid #ccc;
	box-sizing: border-box;
}
.puzzle-empty{
	background: #ccc;
	box-shadow: 0px 0px 2px #000 inset;
}
</style>

2、head引入js文件

<script src="js/vue.js"></script>

3、body引入HTML代碼

<div id="app">
	<ul class="puzzle">
		<li v-bind:class="{'puzzle-item':true,'puzzle-empty':!num}"
		 v-for="(num,index) in numLists" @click="moveTo(index)">
		 {{num}}
		</li>
	</ul>
	<button v-on:click="rander">重新開(kāi)始</button>
</div>

<script>
	let vm = new Vue({
		el:"#app",
		data:{
			numLists:[]
		},
		mounted(){
			this.rander();
		},
		methods:{
			rander(){
			let arr = [];
			for(let i=0;arr.length<15;i++){
				let num = Math.ceil(Math.random()*15)
				if(arr.indexOf(num)==-1){
					arr.push(num)
				}
			}
			this.numLists=arr;
			this.numLists.push("");
			},
			moveTo(i){
				let currentNum = this.numLists[i],
				leftNum = this.numLists[i-1],
				rigthNum = this.numLists[i+1],
				topNum = this.numLists[i-4],
				buttonNum=this.numLists[i+4];
				if(rigthNum===""){
					Vue.set(this.numLists,i+1,currentNum);
					Vue.set(this.numLists,i,"");
				}else if(leftNum===""){
					Vue.set(this.numLists,i-1,currentNum);
					Vue.set(this.numLists,i,"");
				}else if(topNum===""){
					Vue.set(this.numLists,i-4,currentNum);
					Vue.set(this.numLists,i,"");
				}else if(buttonNum===""){
					Vue.set(this.numLists,i+4,currentNum);
					Vue.set(this.numLists,i,"");
				}

				if(this.endGame()){
					alert('success!')
				}

			},
			endGame(){
				let i = 0;l=this.numLists.length;
				for(i;i<l-2;i++){
					if(this.numLists[0]===""||this.numLists[l-1]===""){
						if(this.numLists[i]<this.numLists[i+1]){

						}else{
							return false;
						}
					}else{
						return false;
					}
				}
				return true;
			}
		}
	})
</script>

使用聲明

1. 本站所有素材(未指定商用),僅限學(xué)習(xí)交流。
2. 會(huì)員在本站下載的原創(chuàng)商用和VIP素材后,只擁有使用權(quán),著作權(quán)歸原作者及17素材網(wǎng)所有。
3. 原創(chuàng)商用和VIP素材,未經(jīng)合法授權(quán),請(qǐng)勿用于商業(yè)用途,會(huì)員不得以任何形式發(fā)布、傳播、復(fù)制、轉(zhuǎn)售該素材,否則一律封號(hào)處理。
4. 本平臺(tái)織夢(mèng)模板僅展示和個(gè)人非盈利用途,織夢(mèng)系統(tǒng)商業(yè)用途請(qǐng)預(yù)先授權(quán)。

x
×
×

注冊(cè)

QQ注冊(cè) 立即下載 微信注冊(cè) 立即下載

簽到成功!

已連續(xù)簽到1天,連續(xù)簽到3天可獲得50積分

知道了