Kunstig Intelligens til Brætspillet Taiji - Danmarks Tekniske Universitet

Kunstig Intelligens til Brætspillet Taiji - Danmarks Tekniske Universitet Kunstig Intelligens til Brætspillet Taiji - Danmarks Tekniske Universitet

09.09.2013 Views

120 Bilag A 633 b [ c −1][ r −1] = 2 ; 634 } 635 } 636 i f ( c > 1) { 637 i f ( fb [ c −2][ r ] == 0) { 638 i n t [ ] r e ; 639 b [ c −1][ r ] = 1 ; 640 b [ c −2][ r ] = 0 ; 641 r e = placePieceMin ( b , d , n , c −1, r , c −2, r , alpha , beta ) ; 642 alpha = r e [ 1 ] ; 643 beta = r e [ 2 ] ; 644 i f ( r e [ 0 ] == 1) { 645 b [ c −1][ r ] = 2 ; 646 b [ c −2][ r ] = 2 ; 647 r e t u r n ( r e [ 3 ] ) ; 648 } 649 b [ c −1][ r ] = 0 ; 650 b [ c −2][ r ] = 1 ; 651 r e = placePieceMin ( b , d , n , c −2, r , c −1, r , alpha , beta ) ; 652 alpha = r e [ 1 ] ; 653 beta = r e [ 2 ] ; 654 i f ( r e [ 0 ] == 1) { 655 b [ c −1][ r ] = 2 ; 656 b [ c −2][ r ] = 2 ; 657 r e t u r n ( r e [ 3 ] ) ; 658 } 659 b [ c −1][ r ] = 2 ; 660 b [ c −2][ r ] = 2 ; 661 } 662 } 663 } 664 } 665 // syd 666 i f ( r < tModel . noRows−1){ 667 i f ( fb [ c ] [ r +1] == 0) { 668 i f ( c < tModel . noCols −1){ 669 i f ( fb [ c +1][ r +1] == 0) { 670 i n t [ ] r e ; 671 b [ c ] [ r +1] = 1 ; 672 b [ c +1][ r +1] = 0 ; 673 r e = placePieceMin ( b , d , n , c , r +1, c +1, r +1, alpha , beta ) ; 674 alpha = r e [ 1 ] ; 675 beta = r e [ 2 ] ; 676 i f ( r e [ 0 ] == 1) { 677 b [ c ] [ r +1] = 2 ; 678 b [ c +1][ r +1] = 2 ; 679 r e t u r n ( r e [ 3 ] ) ; 680 } 681 b [ c ] [ r +1] = 0 ;

A.2 AITaijiGrowth.java 121 682 b [ c +1][ r +1] = 1 ; 683 r e = placePieceMin ( b , d , n , c +1, r +1, c , r +1, alpha , beta ) ; 684 alpha = r e [ 1 ] ; 685 beta = r e [ 2 ] ; 686 i f ( r e [ 0 ] == 1) { 687 b [ c ] [ r +1] = 2 ; 688 b [ c +1][ r +1] = 2 ; 689 r e t u r n ( r e [ 3 ] ) ; 690 } 691 b [ c ] [ r +1] = 2 ; 692 b [ c +1][ r +1] = 2 ; 693 } 694 } 695 i f ( c > 0) { 696 i f ( fb [ c −1][ r +1] == 0) { 697 i n t [ ] r e ; 698 b [ c ] [ r +1] = 1 ; 699 b [ c −1][ r +1] = 0 ; 700 r e = placePieceMin ( b , d , n , c , r +1, c −1, r +1, alpha , beta ) ; 701 alpha = r e [ 1 ] ; 702 beta = r e [ 2 ] ; 703 i f ( r e [ 0 ] == 1) { 704 b [ c ] [ r +1] = 2 ; 705 b [ c −1][ r +1] = 2 ; 706 r e t u r n ( r e [ 3 ] ) ; 707 } 708 b [ c ] [ r +1] = 0 ; 709 b [ c −1][ r +1] = 1 ; 710 r e = placePieceMin ( b , d , n , c −1, r +1, c , r +1, alpha , beta ) ; 711 alpha = r e [ 1 ] ; 712 beta = r e [ 2 ] ; 713 i f ( r e [ 0 ] == 1) { 714 b [ c ] [ r +1] = 2 ; 715 b [ c −1][ r +1] = 2 ; 716 r e t u r n ( r e [ 3 ] ) ; 717 } 718 b [ c ] [ r +1] = 2 ; 719 b [ c −1][ r +1] = 2 ; 720 } 721 } 722 i f ( r < tModel . noRows−2){ 723 i f ( fb [ c ] [ r +2] == 0) { 724 i n t [ ] r e ; 725 b [ c ] [ r +1] = 1 ; 726 b [ c ] [ r +2] = 0 ; 727 r e = placePieceMin ( b , d , n , c , r +1, c , r +2, alpha , beta ) ; 728 alpha = r e [ 1 ] ;

A.2 AI<strong>Taiji</strong>Growth.java 121<br />

682 b [ c +1][ r +1] = 1 ;<br />

683 r e = placePieceMin ( b , d , n ,<br />

c +1, r +1, c , r +1,<br />

alpha , beta ) ;<br />

684 alpha = r e [ 1 ] ;<br />

685 beta = r e [ 2 ] ;<br />

686 i f ( r e [ 0 ] == 1) {<br />

687 b [ c ] [ r +1] = 2 ;<br />

688 b [ c +1][ r +1] = 2 ;<br />

689 r e t u r n ( r e [ 3 ] ) ;<br />

690 }<br />

691 b [ c ] [ r +1] = 2 ;<br />

692 b [ c +1][ r +1] = 2 ;<br />

693 }<br />

694 }<br />

695 i f ( c > 0) {<br />

696 i f ( fb [ c −1][ r +1] == 0) {<br />

697 i n t [ ] r e ;<br />

698 b [ c ] [ r +1] = 1 ;<br />

699 b [ c −1][ r +1] = 0 ;<br />

700 r e = placePieceMin ( b , d , n ,<br />

c , r +1, c −1, r +1,<br />

alpha , beta ) ;<br />

701 alpha = r e [ 1 ] ;<br />

702 beta = r e [ 2 ] ;<br />

703 i f ( r e [ 0 ] == 1) {<br />

704 b [ c ] [ r +1] = 2 ;<br />

705 b [ c −1][ r +1] = 2 ;<br />

706 r e t u r n ( r e [ 3 ] ) ;<br />

707 }<br />

708 b [ c ] [ r +1] = 0 ;<br />

709 b [ c −1][ r +1] = 1 ;<br />

710 r e = placePieceMin ( b , d , n ,<br />

c −1, r +1, c , r +1,<br />

alpha , beta ) ;<br />

711 alpha = r e [ 1 ] ;<br />

712 beta = r e [ 2 ] ;<br />

713 i f ( r e [ 0 ] == 1) {<br />

714 b [ c ] [ r +1] = 2 ;<br />

715 b [ c −1][ r +1] = 2 ;<br />

716 r e t u r n ( r e [ 3 ] ) ;<br />

717 }<br />

718 b [ c ] [ r +1] = 2 ;<br />

719 b [ c −1][ r +1] = 2 ;<br />

720 }<br />

721 }<br />

722 i f ( r < tModel . noRows−2){<br />

723 i f ( fb [ c ] [ r +2] == 0) {<br />

724 i n t [ ] r e ;<br />

725 b [ c ] [ r +1] = 1 ;<br />

726 b [ c ] [ r +2] = 0 ;<br />

727 r e = placePieceMin ( b , d , n ,<br />

c , r +1, c , r +2, alpha ,<br />

beta ) ;<br />

728 alpha = r e [ 1 ] ;

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!