黑桃大师是什么:黑桃大师是全球首创的基于大数据的扑克个性化AI。学习效果是传统培训的10倍以上
黑桃大师的优势:通过综合测试评估玩家的扑克水平,个性化推送练习牌局,实时调整难度,即时评价反馈,高手示范正确打法,从而10倍提升扑克水平。
用户画像:看不到该产品数据,大致判断为:想入门与提升 *** 的用户
解决什么问题:
1、小白用户围棋入门
问题类型:非用户痛点。用户入门 *** 的产品较多,网络上免费免费入门教程较多。本平台入门课程无明显优势。
2、各个等级的已经入门的用户,想快速提升自己的扑克水平
问题类型:痛点。高效且系统的提升德扑水平,是用户的核心诉求,用户对长期输牌抗拒且恐惧,黑桃大师产品的AI训练体系满足了此核心痛点。
按照“大明、笨笨、小闲”用户画像法,同时根据入门用户及提升用户,分析三类用户的诉求:
从上表分析本平台的优缺点:
优点:很好的满足了大明用户的需求
缺点:
1)未很好满足笨笨用户。建议查看小程序后台数据,通过笨笨用户的相应行为特征,进行精确数据分析和用户访谈,确定本结论是否成立。
我的解决方案:
a.提供明确的用户故事:挖掘一些典型的用户故事,详细介绍这些典型用户利用本平台的学习方法。让具体的用户故事引导打动此类用户
b.做一些免费的介绍学习方法的视频或者文章,告诉用户学习如何正确且高效的使用本平台进行学习
c.让此类用户在使用平台初明确并选择目标。平台可通过用户测试掌握该用户水平情况,根据该用户的目标,为其推荐提供明确的成长路径、学习方法和学习资料
2)未能很好满足“小闲”用户。在本平台打发时间的用户,应是有一定的德扑基础。此类用户当前没有明显付费欲望,但未来可以转化为付费用户,当下此类用户可以活跃社群,打造平台社交氛围。
当下满足与“小闲”用户的主要是“发现”版块里面的策略图文,当前版块面临的问题是:
a.文章类型少
b.文章数量少且更新慢
通过以上分析得知,现平台对“小闲”用户不够友好。这与当前平台的属性有关,当前平台更加定位于“工具”属性,通过为用户提供“AI训练”工具来销售课程。如果平台要获得更大的流量和更高的转化率,可以考虑增加“社交属性”的功能,服务于此类用户。我的解决方案是:
a.从纯工具逐步增加社区版块,若受开发限制,团队可以建立社群,先行验证。
b.增加免费内容的供给,丰富类型,如增加视频、书籍阅读等。对内容进行分类,标签,可以做粗颗粒的推送。
c.不定期推出一些活动,通过活动活跃此类用户,也可在过程中寻求付费转化
下面我将以用户的角度,实现目标,绘制其关键使用路径。在此关键路径中,挖掘用户需求点,打造峰值体验,找到体验低谷。
用户A:大明用户,目标明确,要入门德扑。首次进入本平台
路径:
路径分析结论:此路径用户体验较差。
1)第2步教程:新人用户第一次进入本平台想入门,根据使用习惯会直接点击教程。当前平台教程版块无0基础入门的教程。用户浏览一圈后无所得。
2)第三步训练:新人用户在“教程”版块没有所得,会点击到“训练版块”。第一个展示的是“新人专享”,用户为新人,点击进入后不是入门的内容。
3)第四步入门:点击到“训练”版块第二项内容“快速入门”,用户找到目标内容。
我的改进方案是:
将新人入门内容放到“教程”版块,并在醒目位置标明“新人入门”
同时入门内容是否需要收费,需要得到现有的数据支撑。不过对于平台来说,入门的教程不是核心竞争力,用户可选择余地较大,设置成免费增加用户的留存和对平台的信任感,或许能提升后期提升产品的付费转化率。
用户B: 大明用户,有一定德扑水平,想提升
路径:
通过分析得知,该路径对用户体验较好,那么如何在此路径中打造峰值体验呢。我的一个小方案是:
增加用户学习的成就机制和激励机制。例如学会某项技能颁发证书等。
用户C:笨笨用户
路径:
笨笨用户目标与需求没有那么明确,进入产品后,各项功能试用一番,最后离开。我的解决方案是:
帮助用户明确目标及需求,进入平台则让其选择目标,平台为其推荐专属的学习方案。此项功能可参考KEEP。
本篇文章较为浅显的分析了本产品,因没有相关数据,所以不涉及到数据分析,UI及UE分析过于细节,此处不做分析。
以上就是我对黑桃大师小程序的分析。我是天王寺一哥,一个产品界的小学生,目前在北京做产品经理。期待与大家多沟通,多交流。
#include<conio.h>#include<time.h>
#include<stdio.h>
#include<stdlib.h>
int jisuan(int)
int comptotal
char s1[]="A234567890JQK"
//char s2[4][5]={"红桃","黑桃","草花","方块"}
char s2[4]={3,4,5,6}
int poke[52]
int ch
int win=0
int computer[5],user[5]
int usertotal
int users
int k
int main()
{ void xipai(int poke[])
void ai()
int i,j
////////////////////////////////////////////////////////上面是变量和声明
printf("\n这是简单的廿一点游戏:\n")
for(i=0i<52i++)
{
if(i%13==0)putchar('\n')
poke[i]=i
printf("%c%c%c ",s2[i/13],s1[i%13]=='0'?'1':' ',s1[i%13])
}
putchar('\n')
/////////////////////////////////////////////////////////主代码
k=0
xipai(poke)
while(ch!=27)
{ comptotal=0
usertotal=0
if(k>=42)
{
printf("\n剩余牌数不足十张,重新洗牌")
xipai(poke)
k=0
}
printf("\n\n\n\n\n\n\n\n新局开始:\n")
printf("现在共有牌%2d张\n",52-k)
if(win==0)
{
computer[0]=k++
user[0]=k++
printf("\n电脑做庄,要牌:")
ai()
}
else
{
printf("\n玩家做庄,要牌:\n\t回车要牌\n\t空格过牌")
user[0]=k++
computer[0]=k++
}
printf("\n玩家开始要牌:\n")
usertotal=jisuan(poke[user[0]])
printf("%c%c%c 共%2d点\t",s2[poke[user[0]]/13],s1[poke[user[0]]%13]=='0'?'1':' ',s1[poke[user[0]]%13],usertotal)
users=0
ch=1
while(ch!=32&&users<4)
{
ch=getch()
switch(ch)
{
case 27:
goto end
break
case 32:
break
case 13:
user[++users]=k
usertotal+=jisuan(poke[user[users]])
printf("\b\b\b\b\b\b\b\b\b%c%c%c共%2d点\t",s2[poke[k]/13],s1[poke[k]%13]=='0'?'1':' ',s1[poke[k]%13],usertotal)
k++
if(usertotal>=21)ch=32
break
default:
break
}
}
if(win==1)
{
printf("\n电脑开始要牌:\n")
ai()
}
printf("\n\n\n玩家的点数是%2d",usertotal)
printf("\n电脑的点数是%2d",comptotal)
printf("\n\n本局结算:")
if(comptotal>21&&usertotal<=21)
{
printf("\n\n电脑爆牌了")
win=1
printf("\n恭喜,你赢了")
}
if(usertotal>21&&comptotal<=21)
{
printf("\n\n你爆牌了")
printf("\n下次小心点")
win=0
}
if(usertotal>21&&comptotal>21)
{
printf("\n\n你们两个,怎么都这么不小心啊,都撑死了还要吗")
}
if(usertotal<=21&&comptotal<=21)
{
if(usertotal>comptotal)
{
win=1
printf("\n\n不错,你赢了")
}
else if(usertotal<comptotal)
{
win=0
printf("\n\n撑死胆大的,饿死胆小的,没胆子,输了吧")
}
else
printf("\n\n平了,算你走运")
}
getch()
}
end:
return 0
}
void xipai(int poke[])
{
int y,tmp,i,j
for(j=0j<7j++)
for(i=0i<52i++)
{
srand(time(0))
y=rand()%10
tmp=poke[i]
poke[i]=poke[(y*i*i)%52]
poke[(y*i*i)%52]=tmp
}
}
///////////////////////////////////////////////子函数
void ai()
{
int i
comptotal=jisuan(poke[computer[0]])
printf("\n%c%c%c 共%2d点\t",s2[poke[computer[0]]/13],s1[poke[computer[0]]%13]=='0'?'1':' ',s1[poke[computer[0]]%13],comptotal)
for(i=0i<4i++)
{
if(comptotal<17)
{
computer[i+1]=k++
comptotal+=jisuan(poke[computer[i+1]])
printf("\b\b\b\b\b\b\b\b\b%c%c%c共%2d点\t",s2[poke[computer[i+1]]/13],s1[poke[computer[i+1]]%13]=='0'?'1':' ',s1[poke[computer[i+1]]%13],comptotal)
}
}
}
int jisuan(int i)
{int dian
switch(i%13)
{
case 0:
case 10:
case 11:
case 12:
dian=1
break
default:
dian=i%13+1
}
return dian
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)