Advertisement
Guest User

Untitled

a guest
Jun 25th, 2017
73
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 5.25 KB | None | 0 0
  1.  
  2. //made by rezil, do not modify!
  3.  
  4. /* position can be: 1, 2, 3, 4, 5
  5.  
  6. pos 1: first card the player is dealt
  7. pos 2: the second card the player is dealt
  8. pos 3: if user hit, draw card here
  9. pos 4: if user hit after pos 3, draw card here
  10. pos 5; if user hit after pos 4, draw card here
  11. */
  12. main()
  13. {
  14.  
  15. thread trig_start();
  16. }
  17.  
  18. trig_start()
  19. {
  20.     t = getent("trigger_2","targetname");
  21.     while(1)
  22.     {
  23.         t waittill("trigger", user);
  24.         user thread initgame();
  25.         wait 5;
  26.     }
  27. }
  28.  
  29.  
  30. initGame()
  31. {
  32.     self.score = 0;
  33.     self.dealer_score = 0;
  34.    
  35.    
  36.     self dealFirstTwoCards();
  37.    
  38. }
  39.  
  40. dealFirstTwoCards()
  41. {
  42.     card1 = randomInt(13)+1;
  43.     card1_dealer = randomInt(13)+1;
  44.     suite1 = randomint(4)+1;
  45.     suite1_dealer = randomint(4)+1;
  46.     card2 = randomInt(13)+1;
  47.     card2_dealer = randomInt(13)+1;
  48.     suite2 = randomint(4)+1;
  49.     suite2_dealer = randomint(4)+1;
  50.    
  51.     self dealCard("self", card1, suite1, 1, 0);
  52.     self.hudent_card1 = self.card[0];
  53.     self.value_card1 = self.card[0].game_value;
  54.    
  55.     wait 0.3;
  56.    
  57.     self dealCard("dealer", card1_dealer, suite1_dealer, 1, 1);
  58.     self.hudent_card1_dealer = self.card[1];
  59.     self.value_card1_dealer = self.card[1].game_value;
  60.    
  61.     wait 0.3;
  62.    
  63.     self dealCard("self", card2, suite2, 2, 2);
  64.     self.hudent_card2 = self.card[2];
  65.     self.value_card2 = self.card[2].game_value;
  66.    
  67.     wait 0.3;
  68.    
  69.     self dealCard("dealer", card2_dealer, suite2_dealer, 2, 3);
  70.     self.hudent_card2_dealer = self.card[3];
  71.     self.value_card2_dealer = self.card[3].game_value;
  72.    
  73.     wait 0.3;
  74.    
  75.     wait 0.5;
  76.    
  77.     iprintlnbold("My cards: "+self.value_card1+ " and " +self.value_card2+ ". Dealer cards: " +self.value_card1_dealer+ " and " +self.value_card2_dealer+ ".");
  78.    
  79.     if(checkBlackjack(self.value_card1, self.value_card2)) iprintlnbold("game over, you win");
  80.     else if(checkBlackjack(self.value_card1_dealer, self.value_card2_dealer)) iprintlnbold("game over, dealer wins");
  81.    
  82.    
  83.    
  84. }
  85. //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
  86. dealCard(person, value, suite, position, cardnum)
  87. {
  88.     if(!isdefined(self.card)) self.card = [];
  89.    
  90.     if(!isdefined(self.card[cardnum])) self.card[cardnum] = newclientHudElem(self);
  91.    
  92.     self.card[cardnum].alignX = "left";
  93.     self.card[cardnum].alignY = "top"; 
  94.     self.card[cardnum].alpha = 1;
  95.     switch(position)
  96.     {
  97.         case 1:
  98.           if(person=="self") self.card[cardnum] setCardXY(190, 240);
  99.           else if(person=="dealer") self.card[cardnum] setCardXY(190, 80);
  100.           break;
  101.         case 2:
  102.           if(person=="self") self.card[cardnum] setCardXY(240, 240);
  103.           else if(person=="dealer") self.card[cardnum] setCardXY(240, 80);
  104.           break;
  105.         case 3:
  106.           if(person=="self") self.card[cardnum] setCardXY(290, 240);
  107.           else if(person=="dealer") self.card[cardnum] setCardXY(290, 80);
  108.           break;
  109.         case 4:
  110.           if(person=="self") self.card[cardnum] setCardXY(340, 240);
  111.           else if(person=="dealer") self.card[cardnum] setCardXY(340, 80);
  112.           break;
  113.         case 5:
  114.           if(person=="self") self.card[cardnum] setCardXY(390, 240);
  115.           else if(person=="dealer") self.card[cardnum] setCardXY(390, 80);
  116.           break;
  117.         default:
  118.           iprintln("^1 0 position set(or is greater than 5), ERROR!^3*");
  119.           break;
  120.     }
  121.    
  122.     if((position==1) && (person=="dealer"))
  123.     {
  124.         if(randomint(2)==0) self.card[cardnum] setshader("bicycle_red", 72, 96);
  125.         else self.card[cardnum] setshader("bicycle_blue", 72, 96);
  126.     }
  127.     else self.card[cardnum] setshader(getShaderFromCard(value, suite), 72, 96);
  128.    
  129.     if(value>10) self.card[cardnum].game_value=10;
  130.     else self.card[cardnum].game_value=value;
  131.  
  132.     return self.card[cardnum].game_value;
  133. }
  134.  
  135. //gets the correct shader name to use, also gives the card value
  136. getShaderFromCard(value, suite)
  137. {
  138.     shader_name = "";
  139.  
  140.     switch(value)
  141.     {
  142.         case 1:
  143.           shader_name = "ace_";
  144.           break;
  145.         case 2:
  146.           shader_name = "two_";
  147.           break;
  148.         case 3:
  149.           shader_name = "three_";
  150.           break;
  151.         case 4:
  152.           shader_name = "four_";
  153.           break;
  154.         case 5:
  155.           shader_name = "five_";
  156.           break;
  157.         case 6:
  158.           shader_name = "six_";
  159.           break;
  160.         case 7:
  161.           shader_name = "seven_";
  162.           break;
  163.         case 8:
  164.           shader_name = "eight_";
  165.           break;
  166.         case 9:
  167.           shader_name = "nine_";
  168.           break;
  169.         case 10:
  170.           shader_name = "ten_";
  171.           break;
  172.         case 11:
  173.           shader_name = "jack_";
  174.           break;
  175.         case 12:
  176.           shader_name = "queen_";
  177.           break;
  178.         case 13:
  179.           shader_name = "king_";
  180.           break;
  181.         default:
  182.           iprintln("^1card value is 0, ERROR!^3*");
  183.           break;
  184.     }
  185.    
  186.     shader_name = shader_name+"of";
  187.    
  188.     switch(suite)
  189.     {
  190.         case 1:
  191.           shader_name = shader_name+"_clubs";
  192.           break;
  193.         case 2:
  194.           shader_name = shader_name+"_spades";
  195.           break;
  196.         case 3:
  197.           shader_name = shader_name+"_hearts";
  198.           break;
  199.         case 4:
  200.           shader_name = shader_name+"_diamonds";
  201.           break;
  202.         default:
  203.           iprintln("^1suite is 0, ERROR!^3*");
  204.           break;
  205.     }
  206.     return shader_name;
  207. }
  208.  
  209. setCardXY(x_val, y_val)
  210. {
  211.     self.x = x_val;
  212.     self.y = y_val;
  213. }
  214.  
  215. checkBlackjack(value1, value2)
  216. {
  217.     if((value1 == 1) || (value2==1))
  218.     {
  219.         value1+=10; //doesn't matter which card gets 10 added, if either of them is an ace
  220.         if(value1+value2==21)
  221.         {
  222.             iprintlnbold("^2$$$^7BLACKJACK!^2$$$");
  223.             return true;
  224.         }
  225.         else return false;
  226.     }
  227.     else return false; //need an ace for a blackjack
  228. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement