Я создаю игру с использованием MVC 4. Есть функция преступления, и я просто не могу ее решить. Я пробовал много вещей, но так как я новичок в MVC4, я просто не могу понять это.Различные результаты для actionresult
Я создал список радиобуев, и каждый другой вариант должен давать переменный результат. Это код до сих пор:
Контроллер:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using FiveGangs.Models;
namespace FiveGangs.Controllers.Game {
[Authorize]
public class CrimesController : Controller {
//
// GET: /Crimes/
[HttpGet]
public ActionResult Index() {
return View();
}
//
// POST: /Crimes/
[HttpPost]
public ActionResult Index(LocalCrimeModel.Crime crimeType) {
//1 is de beste crime, 10 de slechste
ViewBag.Message = "You commited the crime!";
var db = new FGEntities();
var g = db.UserGangster.FirstOrDefault(p => p.UserProfile.UserName == User.Identity.Name);
g.GansterStatistic.CrimesSuccess++;
g.Experience += 1000;
g.Cash += 100;
db.SaveChanges();
return View();
}
}
}
Модель:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
namespace FiveGangs.Models
{
public class LocalCrimeModel
{
public enum Crime
{
Crime01 = 1,
Crime02 = 2,
Crime03 = 3,
Crime04 = 4,
Crime05 = 5,
Crime06 = 6,
Crime07 = 7,
Crime08 = 8,
Crime09 = 9,
Crime10 = 10,
}
public Crime SelectedCrime { get; set; }
}
}
Вид:
@using FiveGangs.Models
@model FiveGangs.Models.LocalCrimeModel
<!DOCTYPE html>
<html>
<head>
<title>Crimes</title>
</head>
<body>
<div>
<h2>Crimes</h2>
@if (ViewBag.Message != null) {
<p class="warning">@ViewBag.Message</p>
}
@using (Html.BeginForm("Index")) {
@Html.RadioButton("crimetype", LocalCrimeModel.Crime.Crime01, false)@: Rob the local bank<br>
@Html.RadioButton("crimeType", LocalCrimeModel.Crime.Crime02, false)@: Rob the local casino<br>
@Html.RadioButton("crimeType", LocalCrimeModel.Crime.Crime03, false)@: Rob a jewelry store<br>
@Html.RadioButton("crimeType", LocalCrimeModel.Crime.Crime04, false)@: Rob the local café<br>
@Html.RadioButton("crimeType", LocalCrimeModel.Crime.Crime05, false)@: Steal casino chips from the local casino<br>
@Html.RadioButton("crimeType", LocalCrimeModel.Crime.Crime06, false)@: Rob the local theatre<br>
@Html.RadioButton("crimeType", LocalCrimeModel.Crime.Crime07, false)@: Rob the local supermarket<br>
@Html.RadioButton("crimeType", LocalCrimeModel.Crime.Crime08, false)@: Rob a laundry service<br>
@Html.RadioButton("crimeType", LocalCrimeModel.Crime.Crime09, false)@: Empty a parking meter<br>
@Html.RadioButton("crimeType", LocalCrimeModel.Crime.Crime10, false)@: Pickpocket someone<br /><br />
<input class="btn btn-large btn-primary" type="submit" value="Commit crime!" />
}
</div>
</body>
</html>
До сих пор я могу успешно выполнить преступление, и опыт и деньги добавляются в базу данных. Я застрял в изменении «выплат» за каждое преступление. Любая помощь приветствуется, я искал поисковые запросы в течение 2 дней без результата.
Благодаря
Таким образом, вы просто хотите 'g.Experience + = 1000; 'и' g.Cash + = 100; 'должны быть переменными, а не жестко закодированными до 1000 и 100 соответственно? – Belogix
Я хочу, чтобы каждый уровень преступности имел разные выплаты, так как пример crime01 выплачивает exp 100-110, а выплата преступности02 составляет 110-120. –