Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <string.h>
- #include <stdio.h>
- #include <dos.h>
- #include "windows.h"
- using namespace std;
- int compVal1;
- char compCard1;
- char compCard2;
- int compVal2;
- int hit = 0;
- int hit2 = 0;
- int compVal;
- int plyrVal;
- char* ans;
- int main()
- {
- system("color 0d");
- cout << "dealing:";
- string suit[4];
- suit[0] = "clubs";
- suit[1] = "spades";
- suit[2] = "hearts";
- suit[3] = "diamonds";
- char face[13];
- face[0] = '2';
- face[1] = '3';
- face[2] = '5';
- face[4] = '6';
- face[5] = '7';
- face[6] = '8';
- face[7] = '9';
- face[8] = '1';
- face[9] = 'J';
- face[10] = 'Q';
- face [11] = 'K';
- face[12] = 'A';
- cout << "computer" << endl;
- int R1 = rand() %13;
- compCard1 = face[R1];
- if((R1 >= 0) && (R1 < 8))
- {
- compVal1 = R1 + 2;
- }
- if(R1 == 8) compVal1 = 10;
- if((R1 > 8) && (R1 < 12)) compVal1 = 10;
- else if(R1 == 12) compVal1 = 0;
- cout << "self test pass" << endl;
- first1:
- int R2 = rand() %13;
- compCard2 = face[R2];
- if(compCard1 == compCard2) goto first1;
- if((R2 >= 0) && (R2 < 8))
- {
- compVal2 = R2 + 2;
- }
- if(R2 == 8) compVal2 = 10;
- if((R2 > 8) && (R2 < 12)) compVal2 = 10;
- else if(R2 == 12) compVal2 = 0;
- if(((compVal1 || compVal2) == 10) && ((R1 || R2) == 12))
- {
- cout << "Computer has blackjack." << endl;
- system("pause");
- exit(1);
- }
- if((R1 == 12) && (compVal2 < 10)) compVal1 = 11;
- if((R2 == 12) && (compVal1 < 10)) compVal2 = 11;
- if((R1 == 12) && (R2 == 12))
- {
- compVal1 = 11;
- compVal2 = 1;
- }
- int compTotal = compVal1+compVal2;
- int compfold;
- cout << "self test pass" << endl;
- next1:
- if(compTotal >= 15)
- {
- compfold = compTotal;
- goto next4;
- }
- while(compTotal < 15){
- if(hit >= 5)
- {
- cout << "Danger! Loop overload!" << endl;
- exit(-1);
- }
- int R0 = rand() %13;
- char compCard[hit];
- compCard[hit] = face[R0];
- if((R0 < 8) && (R0 >= 0)) compVal = R0 + 2;
- if((R0 > 8) && (R0 < 12)) compVal = 10;
- if(R0 == 8) compVal = 10;
- if((compTotal<=10) && (R0 == 12)) compVal = 11;
- else if((compTotal>10) && (R0 == 12)) compVal = 1;
- compTotal = compTotal + compVal;
- if(compTotal >= 15) compfold = compTotal;
- if(compTotal <15){
- hit++;
- goto next1;
- }
- else if(compTotal > 21)
- {
- cout << "computer busted! Game Over!" << endl;
- exit(0);
- }
- }
- next4:
- system("cls");
- cout << "player" << endl;
- int plyrVal1;
- int R3 = rand() %13;
- char plyrCard1 = face[R3];
- int R4 = rand() %4;
- if(plyrCard1 != '1')cout << "Card 1:" << plyrCard1 << suit[R4] << endl;
- else if(plyrCard1 == '1') cout << "10" << suit[R4] << endl;
- if((0 <= R3) && (R3 < 8))
- {
- plyrVal1 = R3 + 2;
- }
- if(R3 == 8)
- {
- plyrVal1 = 10;
- }
- if((R3 > 8) && (R3 < 12))
- {
- plyrVal1 = 10;
- }
- else if(R3 == 12) plyrVal1 = 0;
- int plyrVal2;
- first2:
- int R5 = rand() %13;
- char plyrCard2 = face[R5];
- int R6 = rand() %4;
- if(plyrCard1 == plyrCard2) goto first2;
- if(plyrCard2 != '1')cout << "Card 1:" << plyrCard2 << suit[R6] << endl;
- else if(plyrCard2 == '1') cout << "10" << suit[R6] << endl;
- if((0 <= R5) && (R5 < 8))
- {
- plyrVal2 = R5 + 2;
- }
- if(R5 == 8)
- {
- plyrVal2 = 10;
- }
- if((R5 > 8) && (R5 < 12))
- {
- plyrVal2 = 10;
- }
- else if(R5 == 12) plyrVal2 = 0;
- if(((plyrCard1 || plyrCard2) == ('J' || 'Q' || 'K')) and (R5 == 12))
- {
- cout << "Player has blackjack." << endl;
- system("pause");
- exit(0);
- }
- if((R3 == 12) && (plyrVal2 < 10)) plyrVal1 = 11;
- if((R5 == 12) && (plyrVal1 < 10)) plyrVal2 = 11;
- if((R3 == 12) && (R5 == 12))
- {
- plyrVal1 = 11;
- plyrVal2 = 1;
- }
- int plyrTotal = (plyrVal1+plyrVal2);
- int plyrfold;
- hit2 = 1;
- next2:
- if(plyrTotal >= 15) plyrfold = plyrTotal;
- if(plyrTotal < 15){
- cout << "Do you want to hit?" << endl;
- cin >> ans;
- if(strcmp(ans,"yes")){
- next3:
- int R7 = rand() % 13;
- char plyrCard[hit2];
- plyrCard[hit2] = face[R7];
- if(plyrCard[hit2] == plyrCard1 || plyrCard2) goto next3;
- int R8 = rand() %4;
- cout << plyrCard[hit2] << suit[R8] << endl;
- if(plyrCard[hit2] == 'J' || 'Q' || 'K') plyrVal = 10;
- if(plyrTotal<=10 && plyrCard[hit2] == 'A') plyrVal = 11;
- if(plyrTotal>10 && plyrCard[hit2] == 'A') plyrVal = 1;
- plyrTotal = plyrTotal + plyrVal;
- int R17 = rand() %4;
- cout << plyrCard[hit2] << suit[R17] << endl;
- cout << plyrTotal << endl;
- if(plyrTotal <= 15) plyrfold = plyrTotal;
- hit2++;
- goto next2;
- }
- }
- else plyrfold = plyrTotal;
- cout << "player's fold:" << plyrfold << endl;
- cout << "computer's hand" << endl;
- int R9 = rand() %4;
- int R10 = rand() %4;
- if((compCard1 || compCard2) == '1')
- {
- string display = "10";
- cout << display << suit[R9] << endl;
- }
- if(compCard1 != '1') cout << compCard1 << suit[R9] << endl;
- if(compCard2 != '1') cout << compCard2 << suit[R10] << endl;
- cout << "computer's fold:" << compfold << endl;
- if(compTotal > plyrTotal) cout << "computer wins" << endl;
- if(compTotal < plyrTotal) cout << "player wins" << endl;
- if(compTotal == plyrTotal) cout << "draw" << endl;
- system("pause");
- exit(0);
- }
Advertisement
Add Comment
Please, Sign In to add comment