
具体步骤如下(共需14步):
1、先向观众展示这是一副正常的扑克牌;
2、假装很认真的洗牌,尽量从中间分成差不多的两份;
3、拿一半的牌交给某位观众(不需要是托),请他任意抽一张牌;
4、要求这位观众向其他人展示这张牌,用言语把观众们的注意力集中到那张牌上;
5、同时自己偷看自己这里的半套牌,记住最上面一张牌是什么(比如梅花3);
6、然后请那位观众把展示后的牌放在那半套牌下面,再拿回来给你;
7、把拿回来的半套牌,放到自己这半套牌的上面,假装洗牌;
8、简单切几下牌就行,不移动中间的部分;
9、接着把牌平摊到桌子上面;
10、找到你偷窥时看见的那张梅花3;
11、梅花3的右边,就一定是观众展示的那张牌(黑桃4);
12、为了使魔术更加有迷惑性,可以假装看错一次;
13、让观众误以为你表演失败;
14、再出示正确的那张牌靠近观众们看,魔术就完成了,接受掌声吧。
import javautilRandom;
public class PlayCardTest {
public String card;
private final static String[] cardType = {"方片","梅花","红桃","黑桃"};
private final static String[] cardData = {"2","3","4","5","6","7","8","9","10","J","Q","K","A"};
private final static int cardNum = 52;
private static int remain = 0;
private final static String[] globalData = new String[cardNum];
static{
int i = 0;
for(int k=0;k<4;k++){
for(int j=0;j<13;j++){
globalData[i++] = StringvalueOf(k) + "-" + StringvalueOf(j);
}
}
}
public PlayCardTest(){
Random r = new Random();
int d = rnextInt(cardNum - remain);
thiscard = globalData[d];
String s = globalData[cardNum - remain - 1];
globalData[cardNum - remain - 1] = globalData[d];
globalData[d] = s;
remain++;
String[] data = thiscardsplit("-");
Systemoutprintln("牌面为:"+cardType[IntegerparseInt(data[0])]+cardData[IntegerparseInt(data[1])]);
}
public static void main(String[] args) {
PlayCardTest obj1 = new PlayCardTest();
PlayCardTest obj2 = new PlayCardTest();
String[] data1 = obj1cardsplit("-");
String[] data2 = obj2cardsplit("-");
if(IntegerparseInt(data2[0]) > IntegerparseInt(data1[0]) || IntegerparseInt(data2[1]) > IntegerparseInt(data1[1])){
Systemoutprintln("第二张牌面大");
}else{
Systemoutprintln("第一张牌面大");
}
}
}
从扑克中任意抽出四张(数字表示为1-13),用加、减、乘、除的方法使结果成为24,每张牌只能用一次。 一副牌(52张)中,任意抽取4张可有1820种不同组合,其中有458个牌组算不出24点。
package card;
import javautilHashtable;
public class Card {
/
0:方块 3:黑桃 4:王
/
public static final int DIAMODE=0;
/1:梅花/
public static final int CLUB=1;
/2:红桃/
public static final int HEART=2;
/3:黑桃/
public static final int SPADE=3;
/4:王/
static final int WANG=4;
/0:方块 3:黑桃 4:王/
private static String[] SUIT_NAMES=new String[]{"方块","梅花","红桃","黑桃","王"};
public static final int THREE=0;
public static final int FOUR=1;
public static final int FIVE=2;
public static final int SIX=3;
public static final int SEVEN=4;
public static final int EIGHT=5;
public static final int NINE=6;
public static final int TEN=7;
public static final int JACK=8;
public static final int QUEEN=9;
public static final int KING=10;
public static final int ACE=11;
public static final int DUCK=12;
public static final int BALCK=13;
public static final int COLOR=14;
public static String[] RANK_NAMES=new String[]{"3","4","5","6","7"
,"8","9","10","J","Q","K","A","2","小","大"};
private int suit,rank;
// private static class Entry{
// private String name;
// private int value;
// public Entry(String name,int value) {
// thisname=name;
// thisvalue=value;
// }
// public int getValue() {
// return value;
// }
// public void setValue(int value) {
// thisvalue = value;
// }
// @SuppressWarnings("unused")
// public String getName() {
// return name;
// }
// @SuppressWarnings("unused")
// public void setName(String name) {
// thisname = name;
// }
// }
//public static Entry[] table = new Entry[120];
static Hashtable<String, Integer> table = new Hashtable<String,Integer>();
static{
for (int i = 0; i < SUIT_NAMESlength; i++) {
// Entry entry = new Entry(SUIT_NAMES[i],i);
// table[SUIT_NAMES[i]hashCode()%120]=entry;
tableput(SUIT_NAMES[i], i);
}
for (int i = 0; i < RANK_NAMESlength; i++) {
//Entry entry = new Entry(RANK_NAMES[i],i);
//table[RANK_NAMES[i]hashCode()%120]=entry;
tableput(RANK_NAMES[i], i);
}
}
public int getSuit() {
return suit;
}
public void setSuit(int suit) {
thissuit = suit;
}
public int getRank() {
return rank;
}
public void setRank(int rank) {
thisrank = rank;
}
public Card(int suit,int rank) {
setSuit(suit);
setRank(rank);
}
public Card(String strName){
String suitName;
String rankName;
if(strNameendsWith("王")){
suitName=strNamesubstring(1);
rankName=strNamesubstring(0,1);
}else{
suitName=strNamesubstring(0,2);
rankName=strNamesubstring(2);
}
setSuit(findSuit(suitName));
setRank(findRank(rankName));
}
private int findSuit(String suitName) {
//return table[suitNamehashCode()%120]getValue();
return tableget(suitName);
}
private int findRank(String rankName) {
return tableget(rankName);
}
@Override
public String toString() {
if(suit==CardWANG)
return RANK_NAMES[rank]+SUIT_NAMES[suit];
return SUIT_NAMES[suit]+RANK_NAMES[rank];
}
@Override
public boolean equals(Object obj) {
if(obj==null)
return false;
if(obj==this)
return true;
if(obj instanceof Card){
Card other=(Card)obj;
return otherrank==rank && othersuit==suit;
}
return false;
}
@Override
public int hashCode() {
return rank10+suit;
}
}
//
package card;
import javautilArrayList;
import javautilCollections;
import javautilIterator;
import javautilList;
public class CardDemo {
/
@param args
/
public static void main(String[] args) {
// Card c=new Card(CardHEART,CardTHREE);
// Systemoutprintln(ctoString());
// c=new Card("黑桃A");
// Systemoutprintln(ctoString());
List<Card> cards = new ArrayList<Card>();
for (int i = 0; i <= CardDUCK; i++) {
for (int j = 0; j <= CardSPADE; j++) {
cardsadd(new Card(j, i));
}
}
cardsadd(new Card("小王"));
cardsadd(new Card("大王"));
// Random r = new Random();
// for (int i =1; i < cardssize(); i++) {
// int j=rnextInt(i);
// Card temp=cardsget(i);
// cardsset(i, cardsget(j));
// cardsset(j, temp);
// }
Collectionsshuffle(cards);
Systemoutprintln(cardstoString());
Player[] players = new Player[3];
players[0] = new Player(0, "萧炎");
players[1] = new Player(1, "罗峰");
players[2] = new Player(2, "小胖");
// for (int i = 0; i < cardssize();i++) {
// players[i%playerslength]add(cardsget(i));
// }
// for (int i = 0; i < playerslength; i++) {
// Systemoutprintln(players[i]toString());
// }
Iterator<Card> ite = cardsiterator();
int c=0;
while(itehasNext()){
players[(c++)%playerslength]add(itenext());
iteremove();
}
for (int i = 0; i < playerslength; i++) {
Systemoutprintln(players[i]);
}
}
}
#include <stdioh>
#include <stdlibh>
#include <timeh>
int main()
{
int poke[13][4],joker[2],last_four_card[4]; //定义四类十三张牌、双王
int i,j,card,count,tank[54],player[20],computer[2][20];
bool flag;
srand(time(NULL)); //初始化随机种子
for(i=0;i<54;i++)
tank[i]=-1; //初始化容器
for(i=0;i<54;i++)
{
flag=1;
while(flag)
{
flag=0;
card=rand()%54;
for(j=0;j<=i;j++)
if(card==tank[j]) flag=1;
}
tank[i]=card;
}
count=0;
for(i=0;i<54;i++)
{
if(tank[i]==52) printf("jok ");
else if(tank[i]==53) printf("JOK ");
else if(tank[i]%13==0) printf("%c%c ",tank[i]/13+3,'A');
else if(tank[i]%13==10) printf("%c%c ",tank[i]/13+3,'J');
else if(tank[i]%13==11) printf("%c%c ",tank[i]/13+3,'Q');
else if(tank[i]%13==12) printf("%c%c ",tank[i]/13+3,'K');
else if(tank[i]%13<10) printf("%c%-2d ",tank[i]/13+3,tank[i]%13+1);
count++;
if(count%20==0) printf("\n");
}
count=0;
for(i=0;i<16;i++)
{
player[i]=tank[i];
computer[0][i]=tank[i+16];
computer[1][i]=tank[i+32];
}
for(i=0;i<4;i++)
last_four_card[i]=tank[53-i];
printf("\n\n你的牌是:\n\n");
for(i=0;i<16;i++)
{
if(player[i]==52) printf("jok ");
else if(player[i]==53) printf("JOK ");
else if(player[i]%13==0) printf("%c%c ",player[i]/13+3,'A');
else if(player[i]%13==10) printf("%c%c ",player[i]/13+3,'J');
else if(player[i]%13==11) printf("%c%c ",player[i]/13+3,'Q');
else if(player[i]%13==12) printf("%c%c ",player[i]/13+3,'K');
else if(player[i]%13<10) printf("%c%-2d ",player[i]/13+3,player[i]%13+1);
count++;
if(count%20==0) printf("\n");
}
getchar();
getchar();
return 0;
}
以前无聊写的 给你作参考吧
以上就是关于一副扑克牌,让别人随意抽一张,然后放入牌中间,然后使劲洗牌,我就能找出那张牌,这个魔术怎么变啊全部的内容,包括:一副扑克牌,让别人随意抽一张,然后放入牌中间,然后使劲洗牌,我就能找出那张牌,这个魔术怎么变啊、编写程序,创建扑克牌类Card,要求①重写构造方法,创建对象时从一副牌52张(不含大小王)中随机抽取一张、请问用扑克牌随机抽出四张牌。用加减乘除可以算二十四的有几张牌等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)