先做了一个流程 并没有实现功能
这样先把大概流程 先写出来 后面只需要专心研究 函数的实现
对我个人而言 是比较容易理解的 在写流程的时候也加入了清屏函数
在上一篇代码中,由于写完之后再去添加的清屏函数 逻辑出了一些问题
就省略了一些清屏函数 这次代码行数较少的情况 理解了清屏函数的放置位置
以及 必须要一些空语句 (使程序暂停 ) 搭配起来才能出现效果 昨天就是没有考虑
这一点 导致 清屏函数 把 需要停留的信息清除掉 整个流程的开关 也更加清晰 明了
可能后续填写函数功能的时候还是会出现一些问题
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();