好玩游戏之——狼人杀
一款多人参与的、以语言描述推动的、较量口才和分析辨别能力的策略类桌面游戏。
在此之前我们已经做好了一个线上版的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