Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //made by rezil, do not modify!
- /* position can be: 1, 2, 3, 4, 5
- pos 1: first card the player is dealt
- pos 2: the second card the player is dealt
- pos 3: if user hit, draw card here
- pos 4: if user hit after pos 3, draw card here
- pos 5; if user hit after pos 4, draw card here
- */
- main()
- {
- thread trig_start();
- }
- trig_start()
- {
- t = getent("trigger_2","targetname");
- while(1)
- {
- t waittill("trigger", user);
- user thread initgame();
- wait 5;
- }
- }
- initGame()
- {
- self.score = 0;
- self.dealer_score = 0;
- self dealFirstTwoCards();
- }
- dealFirstTwoCards()
- {
- card1 = randomInt(13)+1;
- card1_dealer = randomInt(13)+1;
- suite1 = randomint(4)+1;
- suite1_dealer = randomint(4)+1;
- card2 = randomInt(13)+1;
- card2_dealer = randomInt(13)+1;
- suite2 = randomint(4)+1;
- suite2_dealer = randomint(4)+1;
- self dealCard("self", card1, suite1, 1, 0);
- self.hudent_card1 = self.card[0];
- self.value_card1 = self.card[0].game_value;
- wait 0.3;
- self dealCard("dealer", card1_dealer, suite1_dealer, 1, 1);
- self.hudent_card1_dealer = self.card[1];
- self.value_card1_dealer = self.card[1].game_value;
- wait 0.3;
- self dealCard("self", card2, suite2, 2, 2);
- self.hudent_card2 = self.card[2];
- self.value_card2 = self.card[2].game_value;
- wait 0.3;
- self dealCard("dealer", card2_dealer, suite2_dealer, 2, 3);
- self.hudent_card2_dealer = self.card[3];
- self.value_card2_dealer = self.card[3].game_value;
- wait 0.3;
- wait 0.5;
- iprintlnbold("My cards: "+self.value_card1+ " and " +self.value_card2+ ". Dealer cards: " +self.value_card1_dealer+ " and " +self.value_card2_dealer+ ".");
- if(checkBlackjack(self.value_card1, self.value_card2)) iprintlnbold("game over, you win");
- else if(checkBlackjack(self.value_card1_dealer, self.value_card2_dealer)) iprintlnbold("game over, dealer wins");
- }
- //Draws a HUD image of a playing card with the value <value> to the specified person 'person' in the specified suite 'suite'. cardnum is the card index
- dealCard(person, value, suite, position, cardnum)
- {
- if(!isdefined(self.card)) self.card = [];
- if(!isdefined(self.card[cardnum])) self.card[cardnum] = newclientHudElem(self);
- self.card[cardnum].alignX = "left";
- self.card[cardnum].alignY = "top";
- self.card[cardnum].alpha = 1;
- switch(position)
- {
- case 1:
- if(person=="self") self.card[cardnum] setCardXY(190, 240);
- else if(person=="dealer") self.card[cardnum] setCardXY(190, 80);
- break;
- case 2:
- if(person=="self") self.card[cardnum] setCardXY(240, 240);
- else if(person=="dealer") self.card[cardnum] setCardXY(240, 80);
- break;
- case 3:
- if(person=="self") self.card[cardnum] setCardXY(290, 240);
- else if(person=="dealer") self.card[cardnum] setCardXY(290, 80);
- break;
- case 4:
- if(person=="self") self.card[cardnum] setCardXY(340, 240);
- else if(person=="dealer") self.card[cardnum] setCardXY(340, 80);
- break;
- case 5:
- if(person=="self") self.card[cardnum] setCardXY(390, 240);
- else if(person=="dealer") self.card[cardnum] setCardXY(390, 80);
- break;
- default:
- iprintln("^1 0 position set(or is greater than 5), ERROR!^3*");
- break;
- }
- if((position==1) && (person=="dealer"))
- {
- if(randomint(2)==0) self.card[cardnum] setshader("bicycle_red", 72, 96);
- else self.card[cardnum] setshader("bicycle_blue", 72, 96);
- }
- else self.card[cardnum] setshader(getShaderFromCard(value, suite), 72, 96);
- if(value>10) self.card[cardnum].game_value=10;
- else self.card[cardnum].game_value=value;
- return self.card[cardnum].game_value;
- }
- //gets the correct shader name to use, also gives the card value
- getShaderFromCard(value, suite)
- {
- shader_name = "";
- switch(value)
- {
- case 1:
- shader_name = "ace_";
- break;
- case 2:
- shader_name = "two_";
- break;
- case 3:
- shader_name = "three_";
- break;
- case 4:
- shader_name = "four_";
- break;
- case 5:
- shader_name = "five_";
- break;
- case 6:
- shader_name = "six_";
- break;
- case 7:
- shader_name = "seven_";
- break;
- case 8:
- shader_name = "eight_";
- break;
- case 9:
- shader_name = "nine_";
- break;
- case 10:
- shader_name = "ten_";
- break;
- case 11:
- shader_name = "jack_";
- break;
- case 12:
- shader_name = "queen_";
- break;
- case 13:
- shader_name = "king_";
- break;
- default:
- iprintln("^1card value is 0, ERROR!^3*");
- break;
- }
- shader_name = shader_name+"of";
- switch(suite)
- {
- case 1:
- shader_name = shader_name+"_clubs";
- break;
- case 2:
- shader_name = shader_name+"_spades";
- break;
- case 3:
- shader_name = shader_name+"_hearts";
- break;
- case 4:
- shader_name = shader_name+"_diamonds";
- break;
- default:
- iprintln("^1suite is 0, ERROR!^3*");
- break;
- }
- return shader_name;
- }
- setCardXY(x_val, y_val)
- {
- self.x = x_val;
- self.y = y_val;
- }
- checkBlackjack(value1, value2)
- {
- if((value1 == 1) || (value2==1))
- {
- value1+=10; //doesn't matter which card gets 10 added, if either of them is an ace
- if(value1+value2==21)
- {
- iprintlnbold("^2$$$^7BLACKJACK!^2$$$");
- return true;
- }
- else return false;
- }
- else return false; //need an ace for a blackjack
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement