前提・実現したいこと
今、processingで東大王の難読漢字オセロを作っているのですが、特定のオセロをクリックしたら色が変わるようにしたいです。出来たらマウス左クリックで赤色に変更、マウス右クリックで青色に変更できるようにしたいです。ゲームのサポート用として、手動でひっくり返せるようにしたいと思っています。
参考コード⇒ [150行で動くリバーシ(オセロ)のプログラム - Qiita]
https://qiita.com/Sunset_Yuhi/items/fcc8a83847ccfb3a7895
該当のソースコード
processing
1int board[][] = new int[10][10]; //盤面の記録用 2int bw; //石の色。先手(黒石)は1、後手(白石)は-1 3int pass,side; //パスの回数、1マスの長さ 4int num0,numB,numW; //石を打てる所の数、黒石の数、白石の数 5 6 7void setup(){ 8 size(1000, 1000); //w=6*side, h=6*side 9 side=height/6; //1マスの長さ 10 11 12 showBoard(); //盤面を描画 13} 14 15void draw(){ 16 17 18} 19 20void mousePressed(){ 21 int i = floor(mouseX/side +1); //各マスの左上の座標を定義 22 int j = floor(mouseY/side +1); //floor()で小数点以下切り捨て 23 24 25} 26 27 28void keyPressed() { 29 if ( key == 'c' ) {//押されたキーがCだったら 30 background(255, 255, 255);//黒く塗りつぶす 31 } 32 showBoard(); 33 34} 35 36 37 38 39 40//盤面、両者の石を描画 41void showBoard(){ 42 //盤面(背景とグリッド) 43 background(0,160,0); 44 stroke(0); 45 for (int i=1;i<=6;i++){ 46 line(i*side,0, i*side,height); //縦線 47 line(0,i*side, 6*side,i*side); //横線 48 49 //1 50 fill(255); 51 ellipse(84, 83, 150, 150); 52 fill(0); 53 PFont font0 = createFont("Meiryo", 40); 54 textFont(font0); 55 text("1", 72, 50); 56 PFont font = createFont("Meiryo", 70); 57 textFont(font); 58 text("調査", 15, 110); 59 60 //2 61 fill(255); 62 ellipse(250, 83, 150, 150); 63 fill(0); 64 PFont font1 = createFont("Meiryo", 40); 65 textFont(font1); 66 text("2", 235, 50); 67 PFont font2 = createFont("Meiryo", 70); 68 textFont(font2); 69 text("確認", 180, 115); 70 71 72 73 //3 74 fill(255); 75 ellipse(417, 83, 150, 150); 76 fill(0); 77 PFont font3 = createFont("Meiryo", 40); 78 textFont(font3); 79 text("3", 400, 50); 80 PFont font4 = createFont("Meiryo", 70); 81 textFont(font4); 82 text("興味", 348, 115); 83 84 //4 85 fill(255); 86 ellipse(581, 83, 150, 150); 87 fill(0); 88 PFont font5 = createFont("Meiryo", 40); 89 textFont(font5); 90 text("4", 568, 50); 91 PFont font6 = createFont("Meiryo", 70); 92 textFont(font6); 93 text("環境", 512, 115); 94 95 96 //5 97 fill(255); 98 ellipse(581, 83, 150, 150); 99 fill(0); 100 PFont font7 = createFont("Meiryo", 40); 101 textFont(font7); 102 text("4", 568, 50); 103 PFont font8 = createFont("Meiryo", 70); 104 textFont(font8); 105 text("環境", 512, 115); 106 107 //6 108 fill(255); 109 ellipse(747, 83, 150, 150); 110 fill(0); 111 PFont font9 = createFont("Meiryo", 40); 112 textFont(font9); 113 text("5", 737, 50); 114 PFont font10 = createFont("Meiryo", 70); 115 textFont(font10); 116 text("実験", 678, 115); 117 //7 118 fill(255); 119 ellipse(747, 83, 150, 150); 120 fill(0); 121 PFont font11 = createFont("Meiryo", 40); 122 textFont(font11); 123 text("5", 737, 50); 124 PFont font12 = createFont("Meiryo", 70); 125 textFont(font12); 126 text("実験", 678, 115); 127 128 //8 129 fill(255); 130 ellipse(915, 83, 150, 150); 131 fill(0); 132 PFont font13 = createFont("Meiryo", 40); 133 textFont(font13); 134 text("6", 903, 50); 135 PFont font14 = createFont("Meiryo", 70); 136 textFont(font14); 137 text("観光", 845, 115); 138 //9 139 140 fill(255); 141 ellipse(84, 249, 150, 150); 142 fill(0); 143 PFont font15 = createFont("Meiryo", 40); 144 textFont(font15); 145 text("7", 72, 215); 146 PFont font16 = createFont("Meiryo", 70); 147 textFont(font16); 148 text("機会", 15, 280); 149 //10 150 151 fill(255); 152 ellipse(250, 249, 150, 150); 153 fill(0); 154 PFont font17 = createFont("Meiryo", 40); 155 textFont(font17); 156 text("8", 238, 215); 157 PFont font18 = createFont("Meiryo", 70); 158 textFont(font18); 159 text("介護", 180, 280); 160 //11 161 162 fill(255); 163 ellipse(415, 249, 150, 150); 164 fill(0); 165 PFont font19 = createFont("Meiryo", 40); 166 textFont(font19); 167 text("9", 405, 215); 168 PFont font20 = createFont("Meiryo", 70); 169 textFont(font20); 170 text("思考", 348, 280); 171 //12 172 173 fill(255); 174 ellipse(582, 249, 150, 150); 175 fill(0); 176 PFont font21 = createFont("Meiryo", 40); 177 textFont(font21); 178 text("10", 558, 215); 179 PFont font22 = createFont("Meiryo", 70); 180 textFont(font22); 181 text("崑崙", 515, 280); 182 //13 183 184 fill(255); 185 ellipse(750, 249, 150, 150); 186 fill(0); 187 PFont font23 = createFont("Meiryo", 40); 188 textFont(font23); 189 text("11", 724, 215); 190 PFont font24 = createFont("Meiryo", 70); 191 textFont(font24); 192 text("家屋", 680, 280); 193 //14 194 195 fill(255); 196 ellipse(915, 249, 150, 150); 197 fill(0); 198 PFont font25 = createFont("Meiryo", 40); 199 textFont(font25); 200 text("12", 887, 215); 201 PFont font26 = createFont("Meiryo", 70); 202 textFont(font26); 203 text("進化", 845, 280); 204 //15(赤) 205 fill(255, 0, 0); 206 ellipse(415, 415, 150, 150); 207 //16(青) 208 fill(0, 0, 255); 209 ellipse(582, 415, 150, 150); 210 //17 211 212 fill(255); 213 ellipse(86, 415, 150, 150); 214 fill(0); 215 PFont font27 = createFont("Meiryo", 40); 216 textFont(font27); 217 text("13", 60, 380); 218 PFont font28 = createFont("Meiryo", 70); 219 textFont(font28); 220 text("構成", 16, 450); 221 //18 222 223 fill(255); 224 ellipse(250, 415, 150, 150); 225 fill(0); 226 PFont font29 = createFont("Meiryo", 40); 227 textFont(font29); 228 text("14", 225, 382); 229 PFont font30 = createFont("Meiryo", 70); 230 textFont(font30); 231 text("石垣", 178, 450); 232 //19 233 234 fill(255); 235 ellipse(748, 415, 150, 150); 236 fill(0); 237 PFont font31 = createFont("Meiryo", 40); 238 textFont(font31); 239 text("15", 721, 378); 240 PFont font32 = createFont("Meiryo", 70); 241 textFont(font32); 242 text("孔雀", 675, 450); 243 //20 244 245 fill(255); 246 ellipse(915, 415, 150, 150); 247 fill(0); 248 PFont font33 = createFont("Meiryo", 40); 249 textFont(font33); 250 text("16", 887, 379); 251 PFont font34 = createFont("Meiryo", 70); 252 textFont(font34); 253 text("深海", 848, 450); 254 //21(青) 255 fill(0, 0, 255); 256 ellipse(415, 580, 150, 150); 257 //22(赤) 258 fill(255, 0, 0); 259 ellipse(582, 580, 150, 150); 260 //23 261 262 fill(255); 263 ellipse(83, 580, 150, 150); 264 fill(0); 265 PFont font35 = createFont("Meiryo", 40); 266 textFont(font35); 267 text("17", 58, 543); 268 PFont font36 = createFont("Meiryo", 70); 269 textFont(font36); 270 text("開講", 13, 611); 271 //24 272 273 fill(255); 274 ellipse(255, 580, 150, 150); 275 fill(0); 276 PFont font37 = createFont("Meiryo", 40); 277 textFont(font37); 278 text("18", 229, 545); 279 PFont font38 = createFont("Meiryo", 70); 280 textFont(font38); 281 text("開講", 188, 611); 282 //25 283 284 fill(255); 285 ellipse(754, 580, 150, 150); 286 fill(0); 287 PFont font39 = createFont("Meiryo", 40); 288 textFont(font39); 289 text("19", 726, 544); 290 PFont font40 = createFont("Meiryo", 70); 291 textFont(font40); 292 text("開講", 684, 611); 293 //26 294 295 fill(255); 296 ellipse(913, 580, 150, 150); 297 fill(0); 298 PFont font41 = createFont("Meiryo", 40); 299 textFont(font41); 300 text("20", 888, 545); 301 PFont font42 = createFont("Meiryo", 70); 302 textFont(font42); 303 text("開講", 843, 611); 304 //27 305 306 fill(255); 307 ellipse(83, 749, 150, 150); 308 fill(0); 309 PFont font43 = createFont("Meiryo", 40); 310 textFont(font43); 311 text("21", 55, 715); 312 PFont font44 = createFont("Meiryo", 70); 313 textFont(font44); 314 text("開講", 14, 785); 315 //28 316 317 fill(255); 318 ellipse(250, 749, 150, 150); 319 fill(0); 320 PFont font45 = createFont("Meiryo", 40); 321 textFont(font45); 322 text("22", 222, 715); 323 PFont font46 = createFont("Meiryo", 70); 324 textFont(font46); 325 text("普段", 181, 785); 326 //29 327 328 fill(255); 329 ellipse(250, 749, 150, 150); 330 fill(0); 331 PFont font47 = createFont("Meiryo", 40); 332 textFont(font47); 333 text("22", 222, 715); 334 PFont font48 = createFont("Meiryo", 70); 335 textFont(font48); 336 text("普段", 181, 785); 337 //30 338 339 fill(255); 340 ellipse(415, 749, 150, 150); 341 fill(0); 342 PFont font49 = createFont("Meiryo", 40); 343 textFont(font49); 344 text("23", 389, 715); 345 PFont font50 = createFont("Meiryo", 70); 346 textFont(font50); 347 text("普段", 345, 785); 348 //31 349 350 fill(255); 351 ellipse(581, 749, 150, 150); 352 fill(0); 353 PFont font51 = createFont("Meiryo", 40); 354 textFont(font51); 355 text("24", 555, 715); 356 PFont font52 = createFont("Meiryo", 70); 357 textFont(font52); 358 text("平和", 510, 785); 359 //32 360 361 fill(255); 362 ellipse(745, 749, 150, 150); 363 fill(0); 364 PFont font53 = createFont("Meiryo", 40); 365 textFont(font53); 366 text("25", 722, 715); 367 PFont font54 = createFont("Meiryo", 70); 368 textFont(font54); 369 text("平和", 673, 785); 370 //33 371 372 fill(255); 373 ellipse(911, 749, 150, 150); 374 fill(0); 375 PFont font55 = createFont("Meiryo", 40); 376 textFont(font55); 377 text("26", 889, 715); 378 PFont font56 = createFont("Meiryo", 70); 379 textFont(font56); 380 text("平和", 838, 785); 381 //34 382 383 fill(255); 384 ellipse(82, 915, 150, 150); 385 fill(0); 386 PFont font57 = createFont("Meiryo", 40); 387 textFont(font57); 388 text("27", 58, 879); 389 PFont font58 = createFont("Meiryo", 70); 390 textFont(font58); 391 text("平和", 10, 950); 392 //35 393 394 fill(255); 395 ellipse(248, 915, 150, 150); 396 fill(0); 397 PFont font59 = createFont("Meiryo", 40); 398 textFont(font59); 399 text("28", 223, 879); 400 PFont font60 = createFont("Meiryo", 70); 401 textFont(font60); 402 text("並行", 181, 948); 403 404 } 405} 406 407 408### 試したこと 409 410mouseClicked()やmousePressed()などで試してみたり、検索を掛けて模索しています。 411### 補足情報(FW/ツールのバージョンなど) 412 413Windows10、processing3.5.4
回答1件
あなたの回答
tips
プレビュー