21点游戏

C语言发牌游戏 21点

你说的曾经没有我的故事 提交于 2019-12-20 00:16:50
# include <stdio.h> # include <stdlib.h> # include <time.h> # include <string.h> # include <ctype.h> # define NUMBER 13 # define SIZE 1000 # define length 100 //玩家模型 struct Player { char name [ length ] ; int points ; int refuse ; } ; int Shuffle_cards ( int S_cards [ ] ) ; int play_game ( ) ; int Reset_game ( struct Player * players [ ] , int bots ) ; struct Player * Create_bot ( char name [ ] ) ; int IS_card ( int Is_card [ ] , int a ) ; //重置游戏,角色不释放 int Reset_game ( struct Player * players [ ] , int bots ) { int i ; for ( i = 0 ; i < bots ; i ++ ) { players [ i ] -> points = 0 ; players [ i

21点游戏

走远了吗. 提交于 2019-11-28 13:55:47
// 21点游戏 分为人机对战和人人对战 // 玩家每次抽一张牌 牌的点数为1-10点随机数 谁更接近21点谁就获胜 let readline = require("readline-sync"); // 清屏函数 let clear = () => process.stdout.write(process.platform === 'win32' ? '\x1Bc' : '\x1B[2J\x1B[3J\x1B[H'); // 抽牌函数 接收一个参数 玩家对象 let takeCard = function (player) { let point = Math.floor(Math.random() * 10 + 1); // 随机获取一个点数 console.log(`你抽取到的点数为:${point}`); player.titlePoint += point; // 改变玩家对象的总点数 } // 结果比较函数 接收2个参数 两个玩家对象 let judge = function (player1, player2) { if (player1.titlePoint > player2.titlePoint) { return 1; } else if (player1.titlePoint < player2.titlePoint) { return 2; } else

用python实现的21点游戏

寵の児 提交于 2019-11-28 06:00:16
游戏规则 该游戏的规则与实际的玩法应该有点差异,因为我没有去细查21点的确切玩法,只是根据印象中进行了一系列的定义,具体如下: 1.玩家为人类玩家与电脑玩家,共2个玩家。电脑为庄家。 2.先给人类玩家与电脑玩家分别发两张牌作为底牌。 3.判断双方底牌是否为blackjack,如果一方为blackjack则直接判胜利,并在总分中记上一分。如果双方均为blackjack,则判双方平局,均不得分 4.如果没有出现blackjack的情况,人类玩家根据牌面决定是否要牌,若要牌则得到牌堆的一张牌,并再次判断。如果人类牌面的点数超过21点,则直接判负。 5.如果人类玩家停止要牌,且未因为超过21点而判负,则电脑要牌(电脑的要牌基于一个算法,后期如果更新,这个算法要基于对胜率的估算),电脑停止要牌后,判断与人类的输赢情况。赢者加一分。 6.人类玩家决定是否继续下一轮,如果继续,则从剩余牌堆中继续发牌开始上述过程。如果不继续,则计算总分,判断谁胜出。 7.如果牌堆的牌已经不够玩一轮的话,自动判断游戏结束。人类可以选择是否重新再玩。 程序功能 要实现上面游戏的规则,程序的功能进行划分如下,不同的功能用不同的函数来实现,以达到代码的复用。 1.牌堆:在发牌的过程中,牌堆中会去除已经发出的牌 2.发牌:要牌的时候,需要从牌堆随机抽取一张牌 3.计分:能对手中的牌的分数进行计算,其中需要考虑靠A的特殊性