.net MVC +EF+VUE做回合制游戏(二)
Emmm,游戏中的属性购买页面
话不多说先上代码
<form id="vue" action="/ltgdGame.Web/Main/Index" method="post">
<input id="back" type="submit" value="返回" />
<div id="VIT">
<div class="booklist">当前耐力:{{talent.VIT}}</div>
<div class="booklist" v-for="(level,index) in levels" >
<input type="checkbox" class="bookcheckbox" v-bind:id="'VIT'+level.id" name="VIT" v-bind:value="level.name+'-'+booknums[index].num1" />
<label v-bind:for="'VIT'+level.id" v-bind:style="{color:level.color}">{{level.name}}耐力之书 数量:<input style="width:7%;" v-model="booknums[index].num1" type="number" min="" step=""> 价格:{{level.cost*booknums[index].num1}} +{{level.add*booknums[index].num1}}耐力</label>
</div>
</div>
<div id="money">金币:{{role.GoldCoin}}</div>
<div id="STR">
<div class="booklist">当前力量:{{talent.STR}}</div>
<div class="booklist" v-for="(level,index) in levels">
<input type="checkbox" class="bookcheckbox" v-bind:id="'STR'+level.id" name="STR" v-bind:value="level.name+'-'+booknums[index].num2" />
<label v-bind:for="'STR'+level.id" v-bind:style="{color:level.color}">{{level.name}}力量之书 数量:<input style="width:7%;" v-model="booknums[index].num2" type="number" min="" step=""> 价格:{{level.cost*booknums[index].num2}} +{{level.add*booknums[index].num2}}力量</label>
</div>
</div>
<div id="imgatr"></div>
<div id="LUK">
<div class="booklist">当前幸运:{{talent.LUK}}</div>
<div class="booklist" v-for="(level,index) in levels">
<input type="checkbox" class="bookcheckbox" v-bind:id="'LUK'+level.id" name="LUK" v-bind:value="level.name+'-'+booknums[index].num3" />
<label v-bind:for="'LUK'+level.id" v-bind:style="{color:level.color}">{{level.name}}幸运之书 数量:<input style="width:5%;" v-model="booknums[index].num3" type="number" min="" step=""> 价格:{{level.cost*booknums[index].num3}} +{{level.add*booknums[index].num3}}幸运</label>
</div>
</div>
<div id="WIS">
<div class="booklist">当前魔力:{{talent.WIS}}</div>
<div class="booklist" v-for="(level,index) in levels">
<input type="checkbox" class="bookcheckbox" v-bind:id="'WIS'+level.id" name="WIS" v-bind:value="level.name+'-'+booknums[index].num4" />
<label v-bind:for="'WIS'+level.id" v-bind:style="{color:level.color}">{{level.name}}魔力之书 数量:<input style="width:7%;" v-model="booknums[index].num4" type="number" min="" step=""> 价格:{{level.cost*booknums[index].num4}} +{{level.add*booknums[index].num4}}魔力</label>
</div>
</div>
<div id="confirm" v-on:click="buy">确认购买</div>
<div id="DEX">
<div class="booklist">当前敏捷:{{talent.DEX}}</div>
<div class="booklist" v-for="(level,index) in levels">
<input type="checkbox" class="bookcheckbox" v-bind:id="'DEX'+level.id" name="DEX" v-bind:value="level.name+'-'+booknums[index].num5" />
<label v-bind:for="'DEX'+level.id" v-bind:style="{color:level.color}">{{level.name}}敏捷之书 数量:<input style="width:7%;" v-model="booknums[index].num5" type="number" min="" step=""> 价格:{{level.cost*booknums[index].num5}} +{{level.add*booknums[index].num5}}敏捷</label>
</div>
</div>
<input type="text" name="roleId" v-bind:value="role.RoleId" v-show="false" />
<input type="text" name="talentId" v-bind:value="talent.TalentValueId" v-show="false" />
<input type="text" name="roleName" v-bind:value="role.RoleName" v-show="false" /> <div id="cancel" v-if="tip" v-on:click="cancel"> </div>
<div id="tip" v-if="tip">
<div id="tiptext">{{tiptext}}</div>
<div id="tipbtn" v-on:click="cancel">{{tipbtn}}</div>
</div>
</form>
JS
var vue =new Vue({
el: '#vue',
data: {
role: @Html.Raw(Json.Encode(ViewBag.Role)),
talent: @Html.Raw(Json.Encode(ViewBag.Talent)),
levels: [
{
id:,
name:'普通',
color:'black',
cost: ,
add:,
},
{
id:,
name: '优良',
color:'green',
cost: ,
add: ,
},
{
id:,
name: '精良',
color:'blue',
cost: ,
add: ,
},
{
id:,
name: '史诗',
color:'purple',
cost: ,
add: ,
},
{
id:,
name: '传说',
color:'orange',
cost: ,
add: ,
},
],
booknums: [
{
num1: ,
num2: ,
num3: ,
num4: ,
num5: ,
},
{
num1: ,
num2: ,
num3: ,
num4: ,
num5: ,
}, {
num1: ,
num2: ,
num3: ,
num4: ,
num5: ,
}, {
num1: ,
num2: ,
num3: ,
num4: ,
num5: ,
}, {
num1: ,
num2: ,
num3: ,
num4: ,
num5: ,
},
],
tiptext: '提示',
tipbtn: '关闭',
tip: false,
},
methods: {
buy: function () {
let _self = this;
$.ajax({
url: "/ltgdGame.Web/Talent/BuyTalent",
type: "POST",
dataType: 'json',
data: $("#vue").serialize() ,//这里直接把表单序列化模拟submit提交
success: function (data) {
if (data.result == "true")
{
_self.tip = true;
_self.tiptext = '购买成功';
_self.role.GoldCoin = data.GoldCoin;
if (typeof (data.VIT) != "undefined")
_self.talent.VIT = data.VIT;
if (typeof (data.STR) != "undefined")
_self.talent.STR = data.STR;
if (typeof (data.WIS) != "undefined")
_self.talent.WIS = data.WIS;
if (typeof (data.DEX) != "undefined")
_self.talent.DEX = data.DEX;
if (typeof (data.LUK) != "undefined")
_self.talent.LUK = data.LUK;
resetChart();
}
else if(data.result=="false")
{
_self.tip = true;
_self.tiptext = '金币不足';
}
else
{
_self.tip = true;
_self.tiptext = '请选择购买';
}
}
})
},
cancel: function () {
this.tip = false;
},
}
})
mychart = echarts.init(document.getElementById('imgatr'));
var option = {
title: {
},
tooltip: {},
radar: {
// shape: 'circle',
name: {
textStyle: {
color: '#fff',
backgroundColor: '#999',
borderRadius: ,
padding: [, ],
fontSize:
}
},
splitArea: {
areaStyle: {
color:['white'],
}
},
indicator: [
{ name: '体力VIT', max: },
{ name: '力量STR', max: },
{ name: '魔力WIS', max: },
{ name: '敏捷DEX', max: },
{ name: '幸运LUK', max: },
]
},
series: [{
name: '属性',
type: 'radar',
// areaStyle: {normal: {}},
data: [
{
value: [vue.talent.VIT, vue.talent.STR, vue.talent.WIS, vue.talent.DEX, vue.talent.LUK],
name: '属性值'
},
]
}]
}
mychart.setOption(option);
function resetChart() {
mychart.setOption({
series: [{
data: [{
value: [vue.talent.VIT, vue.talent.STR, vue.talent.WIS, vue.talent.DEX, vue.talent.LUK],
name: '属性值'
},]
}]
})
}
这里用到了一个百度的Echart插件
属性方面的设定我先随便给了值,我感觉等几个变强的要素都做好了再根据怪物属性来调整这些。

可多选,可选择数量,购买后直接数值改变不刷新页面。
下一个打算做装备页面。。。过几天更新
.net MVC +EF+VUE做回合制游戏(二)的更多相关文章
- .net MVC +EF+VUE做回合制游戏(一)
刚毕业的新人,工作的时候试过用.net 框架,但是我发现写的前端代码都非常多,要写很多很多的原生,然后最近在看vue.js觉得还不错,可以减少前端很多dom操作. 至于做的东西我是想做一个游戏,一个回 ...
- 【Visual C++】游戏编程学习笔记之九:回合制游戏demo(剑侠客VS巡游天神)
本系列文章由@二货梦想家张程 所写,转载请注明出处. 作者:ZeeCoder 微博链接:http://weibo.com/zc463717263 我的邮箱:michealfloyd@126.com ...
- 网易回合制游戏录像批量下载(失效 不是因为代码 是因为网易官方关闭了录像网站 :P)
最近在访问网易大话西游2的录像专区时,发现页面还是很早之前的板式,网易的编辑并没有打算重新美化的打算,不由得内心一寒,结合之前好几个回合制游戏的倒闭,让很多人回顾都没办法回顾, 而且,很多人现在也没有 ...
- Asp.net MVC + EF + Spring.Net 项目实践(二)
这一篇主要介绍数据库和entity framework集成 1. 先创建数据库,很简单的几张表,但也涉及了一些主外键关系.联合主键等,关系图如下(DB脚本在最后) 2. 打开VS,现在建立Model实 ...
- Python制作回合制手游外挂简单教程(上)
引入: 每次玩回合制游戏的时候,反反复复的日常任务让人不胜其烦 玩问道的时候,我们希望能够自动刷道,玩梦幻希望能自动做师门.捉鬼等等 说明: 该外挂只能模拟鼠标键盘操作,并不能修改游戏数据 我这里使用 ...
- 表演的艺术,妖尾回合制战斗系统客户端设计[Unity]
妖尾历经几年开发,终于在今年6月底顺利上线,笔者从2017年初参与开发,主要负责妖尾战斗系统开发.战斗作为游戏的核心玩法系统,涉及很多技术点,希望能借几篇文字,系统性总结MMORPG战斗系统的开发经验 ...
- MVC+EF+esayui初试(一 布局加菜单显示)
最近都在做linq+ext.net的开发.这两天想学习下MVC和ef,刚好,在看ext.js的时候也喜欢上了esayui,所以就想用mvc+ef+esayui做一个汽车网后台管理来加强下.在这里也把我 ...
- Unity3D 回合制 网上源码 目前还在研究构思
我们已将回合制的战斗模式讲解得很清楚了.那么,如果在Unity3D游戏中实现一个回合制游戏呢?我们从最简单的一对一模式来设计回合制游戏的原型.我们可以游戏的状态划分为下面三种状态: 1. ...
- Asp.net MVC + EF + Spring.Net 项目实践(目录)
用4篇博客来搭一个MVC的框架,可能对初学者会有一些帮助,大家共勉吧.我觉得对于中小型项目,这个框架可能还是有一定的用处的,希望能够帮助到一些人. Asp.net MVC + EF + Spring. ...
随机推荐
- SQL Server事务 事务日志
事务 (SQL Server) 一.事务概念 事务是一种机制.是一种操作序列,它包含了一组数据库操作命令,这组命令要么全部执行,要么全部不执行.因此事务是一个不可分割的工作逻辑单元.在数据库系统 ...
- python yield用法 (tornado, coroutine)
yield关键字用来定义生成器(Generator),其具体功能是可以当return使用,从函数里返回一个值,不同之处是用yield返回之后,可以让函数从上回yield返回的地点继续执行.也就是说,y ...
- Go语言中的面向对象
前言 如果说最纯粹的面向对象语言,我觉得是Java无疑.而且Java语言的面向对象也是很直观,很容易理解的.class是基础,其他都是要写在class里的. 最近学习了Go语言,有了一些对比和思考.虽 ...
- 大白话5分钟带你走进人工智能-第十四节过拟合解决手段L1和L2正则
第十四节过拟合解决手段L1和L2正则 第十三节中, ...
- unison+inotify的Web目录同步方案
1.在Linux下做WEB目录文件同步 一般有如下几种方式: ----------------------------------------------- 1) nfs实现web数据共享 ...
- SpringBoot进阶教程(二十九)整合Redis 发布订阅
SUBSCRIBE, UNSUBSCRIBE 和 PUBLISH 实现了 发布/订阅消息范例,发送者 (publishers) 不用编程就可以向特定的接受者发送消息 (subscribers). Ra ...
- 号称“新至强,可拓展,赢当下”的Xeon可拓展处理器有多逆天?
目前企业数据中心正在发生重大变化,许多企业正在经历基于在线服务和数据的广泛转型.他们将这些数据用于功能强大的人工智能和分析应用程序,这些应用程序可以将其转化为改变业务的洞察力,然后推出可以使这些洞察力 ...
- SpringIOC原理简述
IOC:控制反转(Inversion of Control,英文缩写为 IOC) 简单来讲就是把代码的控制权从调用方(用户)转变成被调用方(服务端) 以前的代码控制权在调用方,所以要每当程序要更新修改 ...
- Windows上搭建远程访问服务
Windows上搭建远程访问服务 转自:https://blog.51cto.com/13871378/2153308?source=dra 概述:允许客户机通过拨号连接或虚拟专用网连接到公司局域网, ...
- 单元测试过多,导致The configured user limit (128) on the number of inotify instances has been reached.
最近在一个asp.net core web项目中使用TDD的方式开发,结果单元测试超过128个之后,在CI中报错了:"The configured user limit (128) on t ...