Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //# haxe -main BlackJack.hx -swf blackjack.swf
- import flash.text.TextField;
- import flash.events.*;
- class BlackJack extends TextField{
- var cartes_tirees:List<String>;
- var pts :TextField;
- public var scroll:Int;
- public function new() {
- super();
- pts = new TextField();
- cartes_tirees = new List<String>();
- text = "Cliquez sur moi pour tirer une carte";
- width = 300;
- flash.Lib.current.addChild(this);
- scroll = 30;
- pts.x = 200;
- flash.Lib.current.addChild(pts);
- }
- public function write(txt:String) {
- var tf = new TextField();
- tf.text = txt;
- tf.y = scroll;
- tf.width = 1000;
- flash.Lib.current.addChild(tf);
- scroll += 10;
- }
- public function rand_carte() {
- var carte:String;
- var val = Std.random(13)+1;
- switch (val) {
- case 11 : carte = "Valet";
- case 12 : carte = "Dame";
- case 13 : carte = "Roi";
- default : carte = ""+val;
- }
- var couls:Array<String> = ["Trefle", "Carreau", "Coeur", "Pique"];
- var out = carte + " de " + couls[Std.int(Std.random(couls.length))];
- if(Lambda.indexOf(cartes_tirees, out) == -1) {
- cartes_tirees.push(out);
- return out;
- }
- return rand_carte();
- }
- public function rand_jeu() {
- var persons = ["Yannick", "Aymeric", "Guillaume", "Ben#1", "Ben#2", "Matthieu", "Aurélie"];
- var p = persons[Std.random(7)];
- var jeu = new List<String>();
- do {
- jeu.push(rand_carte());
- } while(eval_game(jeu) <= 15);
- write(p + Std.string(jeu) + " ("+eval_game(jeu)+ " pts)");
- return eval_game(jeu);
- }
- public static function carte_val(str) {
- var val = Std.parseInt(str);
- if(val != null) return val;
- return 11;
- }
- public function setPts(_pts:Int) {
- pts.text = "Pts : "+_pts;
- }
- public static function eval_game(cartes:List<String>) {
- var asc = 0, val = 0, v:Int;
- for(carte in cartes) {
- v = carte_val(carte);
- if(v == 1) {
- asc++;
- }
- val += v;
- }
- if(val > 21) return val;
- if(asc > 0) {
- if(val +10 <= 21) {
- val += 10;
- }
- }
- return val;
- }
- public static function main() {
- var bj = new BlackJack();
- var jeu = new List<String>();
- var pts = 0;
- var scores = new List<Int>();
- for(i in 0...3) {
- scores.push(bj.rand_jeu());
- }
- bj.scroll += 10;
- bj.addEventListener(MouseEvent.CLICK, function(e) {
- var carte = bj.rand_carte();
- jeu.push(carte);
- pts = eval_game(jeu);
- bj.write(carte);
- bj.setPts(pts);
- if(pts > 21) {
- bj.write("Perdu!");
- } else {
- for(i in scores) {
- if(pts < i && i <= 21) {
- return;
- }
- }
- bj.write("Gagné!");
- }
- });
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement