好玩游戏之——狼人杀

一款多人参与的、以语言描述推动的、较量口才和分析辨别能力的策略类桌面游戏。

在此之前我们已经做好了一个线上版的plan,但是在咨询了老师后,我们觉得线上版的app以我们现在的项目时间和技术水平可能有些难度,所以我们就暂时改为线下模式,如果在最后时间允许的话,我们会开发一下线上版的相关内容:http://www.cnblogs.com/whitepigeon/p/8778300.html

focus

线下带牌时有不便,一个好用的app可以使我们更方便快捷的享受游戏、判别输赢。

这款游戏可以让我们锻炼逻辑、口才、对我们的逻辑思想和表达能力都有一定的促进作用。

about

1.通过账号密码登陆游戏,可以设置自己的昵称和头像。

2.根据房间的规则自动生成相对应的身份牌,随机发给所有玩家。

3.有计时设置,规定每位选手的发言时间、每个操作的持续时间,做到公平。

4.当任意一方达成胜利条件时,系统可以直接显示游戏结束并宣布获胜方以及每一位玩家的身份

great at

方便便捷

仅需一个应用就能完成整个狼人杀比赛,避免了平时需要多台设备才能游戏的麻烦。

时间规定

平时的线下游戏随意发言,可能时间问题导致大家相信或怀疑时间较多的人,规定发言时间和操作时间可以更好的保证游戏的公平性。

身份随机

电脑发牌随机迅速,不会出现贿赂上帝的情况。

差错减少

使用电脑能防止对身份判断不明和记录失误的情况,使玩家有更好的游戏体验。

语言类游戏

锻炼口才能力,让你的发言和思维更富逻辑性,玩游戏也能提升自己,并且拉近了和朋友们的关系。

页面架构

主页面

 

主页面右侧就是可以开始游戏的地方,快速开始按键可以迅速的加入游戏队伍,进入游戏。

左侧是导航栏:

我的账户是一个修改昵称、密码头像的小页面

创建房间是一个可以选择游戏模式的地方,支持多种游戏模式。

点击反馈可以将目前不好用的地方反馈给我们哦~

具体设计

游戏界面

游戏开始每名玩家点击头像查看自己的身份信息,中间图片位置显示天黑、天亮、玩家杀人情况、游戏进程。每个玩家有固定的发言时间、根据规则而产生的发言顺序。每个操作也有固定的时间。点击头像可以确定每轮游戏的死者。系统可以自动判断胜负情况,每轮游戏结束后会显示每位玩家的真实身份。

创建房间

在创建房间之前,会有一个模式选择框,(后期)让我们选择游戏模式和人数,选择成功后就进入游戏界面。开始游戏

我的账户

在我的账户下面可以修改昵称、密码和头像,同步到数据库。

technology

 功能1

利用EFcore数据库实现用户的登陆信息保存,以及用户的历史记录等信息的保存等功能。将用户的账号密码等信息添加到数据库中建立关系保存。
https://docs.microsoft.com/en-us/ef/core/get-started/uwp/getting-started

安装

创建模型

using Microsoft.EntityFrameworkCore;
using System.Collections.Generic;

namespace EFGetStarted.UWP
{
    public class BloggingContext : DbContext
    {
        public DbSet<Blog> Blogs { get; set; }
        public DbSet<Post> Posts { get; set; }

        protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
        {
            optionsBuilder.UseSqlite("Data Source=blogging.db");
        }
    }

    public class Blog
    {
        public int BlogId { get; set; }
        public string Url { get; set; }

        public List<Post> Posts { get; set; }
    }

    public class Post
    {
        public int PostId { get; set; }
        public string Title { get; set; }
        public string Content { get; set; }

        public int BlogId { get; set; }
        public Blog Blog { get; set; }
    }
}

 功能2

1, 使用对话框提示用户的选择信息,包括开始游戏等信息的提示,并且尝试在对话框中添加comboBOX控件实现用户的选择信息操作。

https://www.cnblogs.com/TianFang/p/4857205.html

private async void onButtonClick(object sender, RoutedEventArgs e)
    {
        var dialog = new ContentDialog()
        {
            Title = "消息提示",
            Content = "当前设置尚未保存,你确认要退出该页面吗?",
            PrimaryButtonText = "确定",
            SecondaryButtonText = "取消",
            FullSizeDesired = false,
        };

        dialog.PrimaryButtonClick += (_s, _e) => { };
        await dialog.ShowAsync();
    }

 

 功能3

利用不同的page实现用户的右侧界面切换功能,保持左侧用户的选择信息。

https://blog.csdn.net/weixin_39106746/article/details/78342281

interview

https://pan.baidu.com/s/1wUSu5xZ35G9FC_CI2ERMtA

 GitHub

https://github.com/Tong12138/Wereworf