JS小游戏----决胜21点

先做了一个流程 并没有实现功能 

这样先把大概流程 先写出来 后面只需要专心研究 函数的实现

对我个人而言 是比较容易理解的  在写流程的时候也加入了清屏函数

在上一篇代码中,由于写完之后再去添加的清屏函数 逻辑出了一些问题 

就省略了一些清屏函数 这次代码行数较少的情况  理解了清屏函数的放置位置 

以及 必须要一些空语句 (使程序暂停 ) 搭配起来才能出现效果  昨天就是没有考虑

这一点 导致 清屏函数 把 需要停留的信息清除掉  整个流程的开关 也更加清晰 明了 

可能后续填写函数功能的时候还是会出现一些问题   

  1 let readline = require("readline-sync");
  2 //清屏函数
  3 let clear = () => process.stdout.write(process.platform === 'win32' ? '\x1Bc' : '\x1B[2J\x1B[3J\x1B[H');
  4 //难度全局变量level
  5 var level = 16; //默认为普通难度
  6 
  7 
  8 
  9 function soloMode() {
 10     clear();
 11     console.log("欢迎进入单人模式");
 12     console.log("enter continue!");
 13     readline.question("");
 14 }
 15 function doubleMode() {
 16     clear();
 17     console.log("欢迎进入双人模式");
 18     console.log("enter continue!");
 19     readline.question("");
 20 }
 21 function setLevel() {
 22     let case3 = true;
 23     while (case3) {
 24         clear();        
 25         console.log("1,简单 2,普通 3,困难 4,地狱 5,返回主菜单");
 26         let level = parseInt(readline.question(""));
 27         switch (level) {
 28             case 1:
 29                 clear();
 30                 level = 15;
 31                 console.log(level);
 32                 console.log("设置完成!");
 33                 console.log("enter continue!");
 34                 readline.question("");
 35                 break;
 36             case 2:
 37                 clear();
 38                 level = 16;
 39                 console.log(level);
 40                 console.log("设置完成!");
 41                 console.log("enter continue!");    
 42                 readline.question("");            
 43                 break;
 44             case 3:
 45                 clear();
 46                 level = 17;
 47                 console.log(level);
 48                 console.log("设置完成!");
 49                 console.log("enter continue!");    
 50                 readline.question("");            
 51                 break;
 52             case 4:
 53                 clear();
 54                 level = 18;
 55                 console.log(level);
 56                 console.log("设置完成,感受电脑的恐怖吧");
 57                 console.log("enter continue!");    
 58                 readline.question(""); 
 59                 break;
 60             case 5:
 61                 clear();
 62                 case3 = false;
 63                 break;
 64             default:
 65                 console.log("别乱按了好吗? 听我的 我说了算!");
 66                 console.log("我不要你觉得,我要我觉得!");
 67                 console.log("这个问题不需要商量!");
 68                 console.log("按enter键继续");
 69                 readline.question("");
 70         }
 71     }
 72 }
 73 
 74 
 75 function main() {
 76     let startGame = true;
 77     while (startGame) {
 78         clear();
 79         console.log("1,单人模式 2,双人模式 3,设置电脑级别  4,游戏说明 5,退出游戏");
 80         let mode = parseInt(readline.question(""));
 81         switch (mode) {
 82             case 1:
 83                 clear();
 84                 soloMode();
 85                 break;
 86             case 2:
 87                 clear();
 88                 doubleMode();
 89                 break;
 90             case 3:
 91                 clear();
 92                 setLevel();
 93                 break;
 94             case 4:
 95                 {
 96                     clear();
 97                     console.log("单人模式规则:");
 98                     console.log("单人模式下玩家可以连续抽牌,每回合抽取的点数为1-10点中任意一个点数");
 99                     console.log("所有点数相加不能超过21点,然后总点数和电脑点数进行比较,谁更接近21点谁就算胜利\n");
100                     console.log("双人模式规则:");
101                     console.log("两名玩家轮流抽牌,在不超过21点的前提下进行总点数的比较,谁更接近21点谁就算胜利\n");
102                     console.log("按回车键返回");
103                     readline.question("");
104                 }
105                 break;
106             case 5:
107                 startGame = false;
108                 break;
109             default:
110                 clear();
111                 console.log("输出错误 按enter继续");
112                 readline.question("");
113         }
114     }
115 }
116 main();

猜你喜欢

转载自www.cnblogs.com/ATnTention/p/11408286.html
今日推荐