@@ -11,7 +11,7 @@ window.onload = function(){
1111 const btn_undo = document . querySelector ( "#button_undo" ) ;
1212 const ctx = cv . getContext ( "2d" ) ;
1313 const img = { } ;
14- const stock = [ ] ;
14+ const stock_o = [ ] ;
1515 const log = [ ] ;
1616 let frames = 0 ;
1717 const mark = [ "s" , "c" , "d" , "h" ] ;
@@ -20,9 +20,16 @@ window.onload = function(){
2020 for ( let i = 1 ; i <= 13 ; i ++ ) {
2121 img [ mark [ m ] + String ( i ) ] = new Image ( ) ;
2222 img [ mark [ m ] + String ( i ) ] . src = "image/" + mark [ m ] + String ( i ) + ".png" ;
23- stock . push ( mark [ m ] + String ( i ) ) ;
23+ stock_o . push ( mark [ m ] + String ( i ) ) ;
2424 }
2525 }
26+ const stock = [ ] ;
27+ for ( let i = 0 ; stock_o . length > 0 ; i ++ ) {
28+ let r = getRandom ( 0 , stock_o . length - 1 ) ;
29+ console . log ( stock_o [ r ] ) ;
30+ stock . push ( stock_o [ r ] ) ;
31+ stock_o . splice ( r , 1 ) ;
32+ }
2633 // console.log("img"+img);
2734 let select = - 1 ;
2835 let select_c = "#00f" ;
@@ -36,6 +43,10 @@ window.onload = function(){
3643 this . data . push ( stock [ n ] ) ;
3744 stock . splice ( n , 1 ) ; //n番目から1つ削除
3845 } ,
46+ addFromStock :function ( ) {
47+ this . data . push ( stock [ 0 ] ) ;
48+ stock . splice ( 0 , 1 ) ; //n番目から1つ削除
49+ } ,
3950 del :function ( n ) {
4051 this . data . splice ( n , 1 ) ; //n番目から1つ削除
4152 } ,
@@ -46,6 +57,10 @@ window.onload = function(){
4657 // console.log(card.data);
4758 // const cardimg = img["s"+String(this.num)];
4859 for ( let i = 0 ; i < this . data . length ; i ++ ) {
60+ if ( img [ this . data [ i ] ] == undefined ) {
61+ console . error ( "img is not found!" + this . data [ i ] ) ;
62+ return ;
63+ }
4964 ctx . drawImage ( img [ this . data [ i ] ] , ( i % card_px ) * card_w + card_w / 2 , Math . floor ( i / card_px ) * card_h + card_h / 2 , card_w , card_h ) ;
5065 }
5166 if ( select != - 1 ) {
@@ -97,7 +112,9 @@ window.onload = function(){
97112 }
98113 }
99114 if ( 0 < stock . length ) {
100- card . add ( getRandom ( 0 , stock . length - 1 ) ) ;
115+ // card.add(getRandom(0,stock.length-1));
116+ card . addFromStock ( ) ;
117+ log . push ( - 1 ) ;
101118 } else {
102119 alert ( "すべて出し切りました!" ) ;
103120 }
@@ -107,7 +124,9 @@ window.onload = function(){
107124 console . log ( "keypress:" + event . key + ":" ) ;
108125 if ( event . key == " " ) {
109126 if ( 0 < stock . length ) {
110- card . add ( getRandom ( 0 , stock . length - 1 ) ) ;
127+ // card.add(getRandom(0,stock.length-1));
128+ card . addFromStock ( ) ;
129+ log . push ( - 1 ) ;
111130 } else {
112131 alert ( "すべて出し切りました!" ) ;
113132 }
@@ -133,10 +152,16 @@ window.onload = function(){
133152 console . log ( "log is []" ) ;
134153 } else {
135154 let log_r = log [ log . length - 1 ] ;
136- console . log ( "log_r:" + log_r ) ;
137- card . insert ( log_r [ 0 ] , log_r [ 1 ] ) ;
138- card . insert ( log_r [ 2 ] , log_r [ 3 ] ) ;
139- console . log ( "insert" ) ;
155+ if ( log_r == - 1 ) {
156+ stock . splice ( 0 , 0 , card . data [ card . data . length - 1 ] ) ;
157+ card . data . splice ( card . data . length - 1 , 1 ) ;
158+ console . log ( card . data ) ;
159+ } else {
160+ console . log ( "log_r:" + log_r ) ;
161+ card . insert ( log_r [ 0 ] , log_r [ 1 ] ) ;
162+ card . insert ( log_r [ 2 ] , log_r [ 3 ] ) ;
163+ console . log ( "insert" ) ;
164+ }
140165 log . splice ( log . length - 1 , 1 ) ;
141166 }
142167 } ) ;
0 commit comments