亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? fanpai.txt

?? 一個翻牌游戲
?? TXT
字號:
 
 /*************************************
Copyright(C) 2004-2005  vision,math,NJU.
File Name: guess_card.cpp
Author: vision    Version: 1.0    Data: 23-2-2004
Description: 給你9張牌,然后讓你在心中記住那張牌,然后電腦分組讓你猜你記住的牌在第幾組,
             然后猜出你記住的那張牌.
Other: 出自兒童時的一個小魔術
History:修改歷史
**************************************/



#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <time.h>
#include <assert.h>



#define CARDSIZE 52   /*牌的總張數(shù)*/
#define SUITSIZE 13   /*一色牌的張數(shù)*/



/*撲克牌結構*/
typedef struct Card
{
 char val;/*撲克牌面上的大小*/
 int  kind :4; /*撲克牌的花色*/
}Card;



/*************************************************
  Function:       // riffle
  Description:    // 洗牌,然后隨機的得到9張牌,要求九張牌不能有重復.               
  Calls:          // 
  Called By:      // main()
  Table Accessed: //被修改的表(此項僅對于牽扯到數(shù)據(jù)庫操作的程序)
  Table Updated:  // 被修改的表(此項僅對于牽扯到數(shù)據(jù)庫操作的程序)
  Input:          //Card card[]  牌結構, int size  結構數(shù)組的大小
  Output:         // 
  Return:         // void
  Others:         // 此函數(shù)修改card[]的值,希望得到九張隨機牌
  Bug:            //此函數(shù)有bug,有時會產(chǎn)生兩個相同的牌,有待修訂
*************************************************/
void riffle(Card *cards, int size);



/*************************************************
  Function:       // show
  Description:    // 顯示數(shù)組的內(nèi)容               
  Calls:          // 
  Called By:      // main()
  Table Accessed: //被修改的表(此項僅對于牽扯到數(shù)據(jù)庫操作的程序)
  Table Updated:  // 被修改的表(此項僅對于牽扯到數(shù)據(jù)庫操作的程序)
  Input:          //Card *card  牌結構指針, int size  結構數(shù)組的大小
  Output:         // 
  Return:         // void
  Others:         // 
*************************************************/
void show(const Card *cards, int size);



/*************************************************
  Function:       // grouping
  Description:    //把9張牌分別放到3個數(shù)組中,每組3張,a.e分組                
  Calls:          // 
  Called By:      // main()
  Table Accessed: //被修改的表(此項僅對于牽扯到數(shù)據(jù)庫操作的程序)
  Table Updated:  // 被修改的表(此項僅對于牽扯到數(shù)據(jù)庫操作的程序)
  Input:          //Card *card  牌結構指針, int size  結構數(shù)組的大小
  Output:         // 
  Return:         // void
  Others:         // 此函數(shù)修改 *carr1,*carr2,* carr3的值
*************************************************/
void grouping(const Card *cards, Card *carr1, Card *carr2, Card *carr3); 



/*************************************************
  Function:       // result_process
  Description:    //用遞歸計算,所選的牌                
  Calls:          // rshift
  Called By:      // main()
  Table Accessed: //被修改的表(此項僅對于牽扯到數(shù)據(jù)庫操作的程序)
  Table Updated:  // 被修改的表(此項僅對于牽扯到數(shù)據(jù)庫操作的程序)
  Input:          //Card *carr1, Card *carr2, Card *carr3
  Output:         // 
  Return:         // void
  Others:         // 此函數(shù)修改 *carr1,*carr2,* carr3的值
*************************************************/
Card* result_process(Card *carr1, Card *carr2, Card *carr3, int counter);



/*************************************************
  Function:       // rshift
  Description:    //右移操作                
  Calls:          // 
  Called By:      // result_process
  Table Accessed: //被修改的表(此項僅對于牽扯到數(shù)據(jù)庫操作的程序)
  Table Updated:  // 被修改的表(此項僅對于牽扯到數(shù)據(jù)庫操作的程序)
  Input:          //Card *carr1, Card *carr2, Card *carr3 ,int counter
  Output:         // 
  Return:         // Card*
  Others:         // 此函數(shù)修改 *carr1,*carr2,* carr3的值
*************************************************/
void rshift(Card *carr1, Card *carr2, Card *carr3, int counter);



void main()
{
 Card cards[9]; /*存放九張牌*/
 Card carr1[3]; /*第一組牌,cards array 1*/
 Card carr2[3]; /*第二組牌,cards array 2*/
 Card carr3[3]; /*第三組牌,cards array 3*/
 int select = 0; /*玩家的選擇*/
 Card *selected_card;/*存放玩家所記住(選)的牌*/



 int counter = 0;




 riffle(cards, 9); /*洗牌,得到九張牌*/



 puts("請記住一張牌千萬別告訴我!最多經(jīng)過下面三次我與你的對話,我就會知道你所記的那張牌!");
 puts("如果想繼續(xù)玩,請準確的回答我問你的問題,根據(jù)提示回答!");
 puts("請放心,我不會問你你選了哪張牌的!");



 grouping(cards, carr1, carr2, carr3); /*把9張牌分別放到3個數(shù)組中,每組3張,a.e分組*/



 show(carr1, 3);
 show(carr2, 3);
 show(carr3, 3);



 puts("請告訴我你記住的那張牌所在行數(shù)");
 select = getchar();



 switch(select)/*分支猜你玩家記住的牌*/
 {
 case '1':
  selected_card = result_process(carr1, carr2, carr3, counter);
  break;
 case '2':
  selected_card = result_process(carr2, carr3, carr1, counter);
  break;
 case '3':
  selected_card = result_process(carr3, carr1, carr2, counter);
  break;
 default:
     puts("你亂說!你選的牌不存在!");
  fflush(stdin);
  getchar();
  exit(0);
 }
 if( selected_card ==NULL)
 {
  fflush(stdin);
  getchar();



  exit(0);
 }



 puts("你猜的牌為:");
 show(selected_card, 1);
 puts("我猜的對吧!哈哈,不信,您仔細瞧瞧!~~~~");



 fflush(stdin);
 getchar();
}



/*riffle的原代碼*/
void riffle(Card *cards, int size)
{
 char deck[CARDSIZE];/*臨時數(shù)組,用于存儲牌*/
 unsigned int seed;/*最為產(chǎn)生隨機數(shù)的種的*/
 int deckp = 0; /*在牌的產(chǎn)生中起著指示作用*/ 




 seed = (unsigned int)time(NULL);
 srand(seed);
    
 /*洗牌*/
 while (deckp < CARDSIZE)
 {
  char num = rand() % CARDSIZE;
  if ((memchr(deck, num, deckp)) == 0)
  {
   assert(!memchr(deck,num,deckp));
   deck[deckp] = num;
   deckp++;
  }
 }
    
 /*找9張牌給card*/
 for (deckp = 0; deckp < size; deckp++)
 {
  div_t card = div(deck[deckp], SUITSIZE);



  cards[deckp].val = "A23456789TJQK"[card.rem]; /*把余數(shù)給card.val*/
  cards[deckp].kind = "3456"[card.quot]; /*把商給card.kind*/
 }
}



/*show的原代碼,將會自動換行*/
void show(const Card *cards, int size)
{
 for(int i = 0; i < size; i++)
 {
  printf("%c%c  ",cards[i].kind,cards[i].val);
  if( (i !=0) && (((i+1 ) % 3) == 0))
   puts("");
 }
 puts(""); /*自動換行*/
}



/*grouping 的原代碼*/
void grouping(const Card *cards, Card *carr1, Card *carr2, Card *carr3)
{
 int i = 0;/*循環(huán)參數(shù)*/
    
 /*分給carr1三個數(shù)*/
 while (i < 3)
 {
  carr1[i].val = cards[i].val;
  carr1[i].kind = cards[i].kind;
  i++;
 }



 /*分給carr2接下來的三個數(shù)*/
 while (i < 6)
 {
  carr2[i-3].val = cards[i].val;
  carr2[i-3].kind = cards[i].kind;
  i++;
 }



    /*分給carr3接下來的三個數(shù)*/
 while (i < 9)
 {
     carr3[i-6].val = cards[i].val;
     carr3[i-6].kind = cards[i].kind;
     i++;
 }
}



/*rshift的實現(xiàn)*/
void rshift(Card *carr1, Card *carr2, Card *carr3, int counter)
{
 Card temp2;/*用于存放carr2[counter]*/
 Card temp3;/*用于存放carr3[counter]*/



 /*temp = carr2*/
 temp2.val = carr2[counter].val;
 temp2.kind = carr2[counter].kind;
    
 /*carr2 = carr1*/
 carr2[counter].val = carr1[counter].val;
 carr2[counter].kind = carr1[counter].kind;
    
 /*temp3 = carr3*/
 temp3.val = carr3[counter].val;
 temp3.kind = carr3[counter].kind;



 /*carr3 = carr2*/
 carr3[counter].val = temp2.val;
 carr3[counter].kind = temp2.kind;



 /*carr1 = carr3*/
 carr1[counter].val = temp3.val;
 carr1[counter].kind = temp3.kind;
}



Card* result_process(Card *carr1, Card *carr2, Card *carr3, int counter)
{
 rshift(carr1, carr2, carr3, counter); /* 把數(shù)組的第一個元素依次右移*/
 if(counter == 2)
 {
  return(&carr2[2]);
 }



 show(carr1, 3);
 show(carr2, 3);
 show(carr3, 3);



    puts("請給出你記住的牌所在行數(shù):");
    fflush(stdin);
    int input = 1;
 input = getchar(); /*獲取你選的組*/



 switch(input)
 {
 case '1':
  return(result_process(carr1, carr2, carr3, ++counter));
  break;
 case '2':
  return(&carr2[counter]);
  break;
 default:
  puts("你在撒謊!不和你玩了!");
  return NULL;
 }
}


 

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国内精品久久久久影院薰衣草| 午夜精品久久久久久久| 午夜一区二区三区视频| 国产高清在线精品| 91精品综合久久久久久| 日韩伦理av电影| 紧缚奴在线一区二区三区| 欧美中文字幕久久| 综合网在线视频| 国产精品白丝jk黑袜喷水| 6080yy午夜一二三区久久| 尤物视频一区二区| 成人午夜av在线| 精品成人一区二区三区四区| 图片区小说区区亚洲影院| 一本久久a久久精品亚洲| 国产精品久久看| 狠狠狠色丁香婷婷综合激情| 国产精品丝袜91| 国产一区在线观看视频| 91精品国产麻豆| 图片区小说区区亚洲影院| 欧美图区在线视频| 一区二区三区四区乱视频| 一本到三区不卡视频| 亚洲色图在线看| 91美女蜜桃在线| 亚洲色图清纯唯美| 色偷偷88欧美精品久久久| 亚洲免费三区一区二区| 色屁屁一区二区| 亚洲一区二区三区视频在线播放| caoporen国产精品视频| **欧美大码日韩| 欧美午夜一区二区三区免费大片| 亚洲一区日韩精品中文字幕| 欧美色窝79yyyycom| 亚洲va国产va欧美va观看| 这里只有精品电影| 黄一区二区三区| 国产日韩v精品一区二区| 国产成人综合视频| 综合网在线视频| 欧美日韩成人一区二区| 免费在线看一区| 久久精品一区二区| 一本久久综合亚洲鲁鲁五月天| 亚洲一区二区四区蜜桃| 日韩一级免费观看| 国产成人在线观看| 日韩毛片一二三区| 91精品国产综合久久精品图片| 麻豆国产91在线播放| 国产女人18水真多18精品一级做| 99久久久无码国产精品| 亚洲综合在线观看视频| 欧美一级片免费看| 丰满白嫩尤物一区二区| 亚洲一级二级在线| 久久婷婷国产综合国色天香| 国产99久久久久| 亚洲一区在线观看免费观看电影高清| 欧美精品粉嫩高潮一区二区| 黄色小说综合网站| 亚洲免费三区一区二区| 日韩一级免费观看| 色综合天天天天做夜夜夜夜做| 午夜激情久久久| 国产精品卡一卡二| 欧美一区二区观看视频| 成人av在线电影| 蜜臀va亚洲va欧美va天堂| 中文字幕中文字幕在线一区| 91精品婷婷国产综合久久性色 | 日本亚洲欧美天堂免费| 亚洲综合丁香婷婷六月香| 日韩欧美激情在线| 91免费国产视频网站| 久久99九九99精品| 亚洲综合久久av| 国产精品久久久久久久蜜臀 | 紧缚奴在线一区二区三区| 亚洲青青青在线视频| 26uuu国产一区二区三区| 在线观看国产日韩| 国产91高潮流白浆在线麻豆| 爽好多水快深点欧美视频| 欧美国产精品一区二区三区| 欧美一区二区国产| 欧美视频在线一区二区三区| 丁香五精品蜜臀久久久久99网站 | 日韩精品最新网址| 在线免费av一区| 不卡视频一二三| 国产精品资源网站| 日本三级韩国三级欧美三级| 一区二区三区在线视频免费| 国产午夜久久久久| www一区二区| 日韩精品一区二区三区四区视频 | 日本一区二区三区视频视频| 日韩精品一区二区三区老鸭窝| 在线观看日韩av先锋影音电影院| 成人丝袜高跟foot| 国产99精品国产| 国产一区二区三区黄视频| 美美哒免费高清在线观看视频一区二区 | 国产乱子轮精品视频| 性做久久久久久免费观看 | 久久精品欧美一区二区三区不卡| 中文字幕一区视频| 国产欧美日韩麻豆91| 久久久久高清精品| 2021中文字幕一区亚洲| 精品乱人伦小说| 久久蜜桃av一区精品变态类天堂| 日韩精品专区在线影院重磅| 欧美一级精品在线| 欧美电影免费观看高清完整版在| 欧美福利视频一区| 日韩视频一区二区| 日韩欧美国产小视频| 精品国产乱码久久久久久蜜臀 | 一区二区三区高清在线| 亚洲黄色性网站| 亚洲最新视频在线观看| 亚洲一区二区三区爽爽爽爽爽| 亚洲成人在线网站| 久久99精品久久久久久| 国产一区二区精品久久99| 成人精品gif动图一区| 91免费观看在线| 欧美巨大另类极品videosbest | 欧美挠脚心视频网站| 日韩欧美一区二区视频| 精品国产91乱码一区二区三区| 久久―日本道色综合久久| 国产精品久久久久久亚洲伦| 成人高清免费观看| av爱爱亚洲一区| 欧美日韩日日骚| 精品国产伦一区二区三区免费| 久久久久久久av麻豆果冻| 国产精品卡一卡二卡三| 亚洲mv在线观看| 国内精品嫩模私拍在线| 99热这里都是精品| 日韩一级片在线观看| 国产精品麻豆久久久| 亚州成人在线电影| 高清不卡一二三区| 欧美精品高清视频| 中文字幕欧美一| 久久99精品久久只有精品| 不卡的电视剧免费网站有什么| 欧美三级韩国三级日本三斤| 久久麻豆一区二区| 一区二区三区在线免费观看| 久久丁香综合五月国产三级网站| 91在线精品一区二区| 欧美成人vr18sexvr| 一区二区三区在线视频免费观看| 精品一区二区三区免费播放 | 成人一区二区三区在线观看| 欧美精品久久天天躁| 国产欧美1区2区3区| 日本一区中文字幕| 在线观看日韩电影| 国产精品国模大尺度视频| 久久国产乱子精品免费女| 色综合中文字幕国产| 日韩欧美国产不卡| 亚洲va韩国va欧美va| 波波电影院一区二区三区| 日韩免费一区二区| 亚洲第一精品在线| 菠萝蜜视频在线观看一区| 日韩精品一区二区三区swag| 午夜精品一区二区三区三上悠亚| 99精品桃花视频在线观看| 欧美精品一区二区三区蜜桃视频| 日韩久久一区二区| 成人免费高清在线| 中文文精品字幕一区二区| 国模一区二区三区白浆| 日韩一级高清毛片| 亚洲成人综合视频| 91网站在线观看视频| 国产精品入口麻豆九色| 国产精品自拍毛片| 精品粉嫩aⅴ一区二区三区四区| 日韩精品电影在线观看| 欧美在线观看视频一区二区| 亚洲欧美区自拍先锋| 94色蜜桃网一区二区三区| 国产精品欧美极品| 成人午夜大片免费观看| 中文字幕的久久| 92国产精品观看| 亚洲综合一二三区|