【发布时间】:2020-09-22 03:25:19
【问题描述】:
我是 JS 初学者。我想做一个视觉小说类型的游戏。当你在法庭上时,有点像游戏王牌律师。在这个游戏中,你会遇到人,而不是打架,而是和他们交谈。在相遇中,顶部是图像。此图像将根据您的反应而改变。它下面有一个文本框,显示当前文本。以及下面的 2 个(或可能更多)选项框。你有一个有 100 分的耐心表(就像一个健康表)。根据您选择的选项,您将失去或获得耐心。你跑了你就输了。目标是使用正确的响应并在不失去所有耐心的情况下完成对话。根据您所做的选择,会有不同的对话框。所以我正在准备一个对话树。
关于如何编码的任何想法?我很难弄清楚在哪里存储所有文本和选项。以及如何访问文本和选项。
这里是文本和选项的示例。起初我尝试将文本放入对象中。 sales1 是介绍文本。如果您选择 opt1,sales2 文本将显示在屏幕上。如果您选择 opt2,则 sales3 文本将显示在屏幕上。
常量销售额1 = { action: "推销员 Chad 想说话!", opt1: "告诉他你不感兴趣", opt2:“听他说完” };
常量销售额2 = { 行动:“他对此有一个反驳!”先生,像您这样的优雅男人需要这辆车!“”, opt1: ""我们甚至不在经销商处!"", opt2: ""一辆新车"" };
常量销售额3 = { action: ""Ssssoooooooo,你有什么样的电视服务?"", opt1:“告诉他你的房东付钱了”, opt2:“告诉他你不怎么看电视” };
@font-face {
font-family: "Game Over Cre";
src: url(fonts/gameovercre1.ttf);
font-style: normal;
font-weight: 300;
}
* {
margin: 0;
padding: 0;
box-sizing: border-box;
font-family: "Game Over Cre", sans-serif;
font-size: 40px;
}
body {
background: black;
color: white;
}
#image-box {
border: 4px solid white;
height: 500px;
width: 60%;
margin: 10px auto;
align-items: center;
display: flex;
justify-content: center;
}
#opponent {
height: 400px;
}
#text-box {
border: 4px solid white;
height: 150px;
width: 60%;
margin: 10px auto;
padding: 20px;
}
#options {
display: flex;
width: 60%;
/* background: gray; */
margin: auto;
flex-wrap: wrap;
justify-content: space-between;
}
#option-1, #option-2, #option-3, #option-4 {
height: 100px;
width: 49.5%;
border: 4px solid white;
margin-bottom: 10px;
font-size: 35px;
padding: 10px;
}
#option-1:hover, #option-2:hover, #option-3:hover, #option-4:hover {
background: white;
color: black;
}
<body>
<section class="main-hub">
<div id="image-box">
<img id="opponent" src="img/salesman-chad.png">
</div>
<div id="text-box">
<h1 id="action-text">Salesman Chad wants to talk!</h1>
</div>
<div id="options">
<div id="option-1">Tell him you're not interested</div>
<div id="option-2">Hear him out</div>
<!-- <div id="option-3"></div>
<div id="option-4"></div> -->
</div>
</section>
<script src="main.js"></script>
</body>
【问题讨论】:
-
听起来你在编写决策树(有点像 Black Mirror - Bandersnatch,在 JavaScript 中)。
-
问:[我可以在哪里] 存储所有文本和选项。以及如何访问文本和选项? A:为什么不把你的数据保存在一个Json文件中,直接把Json读入一个JS对象呢?这是一个很好的例子:stackoverflow.com/a/24378510/421195 这个链接也可能有帮助:gamedesigning.org/learn/javascript
-
嘿,tneilson08:如果我的回答有帮助,请告诉我!看起来很有用,恕我直言。我猜有人不喜欢它,以至于浏览了我所有的答案并对每个答案都投了反对票。人啊!无论如何,希望我的回答有所帮助。
-
太棒了!我确实更喜欢您的原始答案,因为使用数组时,当有 50 多个对话部分时,知道我所在的数字会让人感到困惑!
标签: javascript