日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

使用Processing实现井字棋

發(fā)布時間:2023/12/20 编程问答 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 使用Processing实现井字棋 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

一、 Processing簡介

Processing 在 2001 年誕生于麻省理工學(xué)院(MIT)的媒體實驗室,主創(chuàng)者為 Ben Fry 和 Casey Reas,項目發(fā)起的初衷,本是為了滿足他們自身的教學(xué)和學(xué)習(xí)需要。后來,當(dāng)Casey在意大利的伊夫雷亞交互設(shè)計學(xué)院(Interaction Design Institute Ivrea)進(jìn)行教學(xué)的時候,基于Processing,衍生出了Wiring和Arduino項目。隨著時間的推移,又誕生了多個語言的版本,比如基于JavaScript的Processing.js,還有基于Python、Ruby、ActionScript以及Scala等版本。而當(dāng)前的Processing,成立了相應(yīng)的基金會,由基金會負(fù)責(zé)軟件的開發(fā)和維護(hù)工作。

二、井字棋功能實現(xiàn)

井字棋邏輯十分簡單,就是橫、豎、斜三個方向湊齊三個棋子就獲得勝利。

1、繪制棋盤

2、實現(xiàn)鼠標(biāo)點(diǎn)擊繪制棋子

3、根據(jù)flag值,判斷游戲勝負(fù)

4、展示每局游戲情況。

由于邏輯十分簡單,所以直接上代碼。

int maps[][] = new int[][]{{0,0,0},{0,0,0},{0,0,0}};//井字棋 int ClickedNum=0;//有效點(diǎn)擊次數(shù) int flag=0;//狀態(tài) int red=0;//紅方獲勝局?jǐn)?shù) int green=0;//綠方獲勝局?jǐn)?shù) int tie;//平局局?jǐn)?shù) int mark=0; PFont font; void setup() {size(800,800);background(255,255,255);//smooth(8);surface.setResizable(true);//手動調(diào)節(jié)窗口大小pixelDensity(displayDensity());//高分辨率時自動調(diào)節(jié)font = createFont("黑體",12); }void init()//初始化 {if(flag == 1)//flag=1,紅方勝利;flag=2,綠方勝利;flag=3,平局red++;else if(flag == 2) green++;else if(flag == 3)tie++;flag=0;mark++;if(mark%2==1)ClickedNum=1;elseClickedNum=0;for(int i=0;i<3;i++)for(int j=0;j<3;j++)maps[i][j]=0; }void draw() {background(255,255,255);DrawLine();DrawChess();GameResult(); }void DrawLine() {if(mark % 2 == 0){fill(255,0,0);textFont(font,20);textAlign(CENTER);text("紅方先",740,80);noFill();}else{fill(0,255,0);textFont(font,20);textAlign(CENTER);text("綠方先",740,80);noFill();}stroke(0,0,0);strokeWeight(5);line(150,200,600,200);//劃四根井字棋的線條line(150,350,600,350);line(300,50,300,500);line(450,50,450,500);fill(255,0,0);textFont(font,20);textAlign(CENTER);text("紅方:"+red,740,20);noFill();fill(0,255,0);textFont(font,20);textAlign(CENTER);text("綠方:"+green,740,40);noFill();fill(0,0,0);textFont(font,20);textAlign(CENTER);text("平局:"+tie,740,60);noFill();if(flag > 0){stroke(255,255,255);fill(255,0,0);rect(330,560,100,30);noFill();fill(255,255,255);textFont(font,20);textAlign(CENTER);text("繼續(xù)游戲",380,582);noFill();} }void mouseClicked() {if(flag<=0){int x=(mouseX-150)/150;int y=(mouseY-50)/150;if(x<3 && y<3){if(ClickedNum%2 == 0 && maps[x][y] == 0){ClickedNum++;maps[x][y]=1;}else if(ClickedNum%2 == 1 && maps[x][y] == 0){ClickedNum++;maps[x][y]=2;} }}else if(flag>0){if(mouseX>= 330 && mouseX <= 430 && mouseY >= 560 && mouseY <= 590)init();} }void DrawChess() {for(int i=0;i<3;i++){for(int j=0;j<3;j++){if(maps[i][j]==1){//紅畫圈圈 stroke(255,0,0);ellipse(225+150*i,125+150*j,100,100);noFill();}else if(maps[i][j]==2){//畫綠方塊stroke(0,255,0);rect(175+150*i,75+150*j,100,100);noFill();}}} }void GameResult()//判斷游戲結(jié)果 flag=1,紅方勝利,flag=2,綠方勝利,flag=3,平局 {flag=JudgeResult();if(flag==-1 && ((ClickedNum > 9 && (mark%2 == 1)) || (ClickedNum == 9 && mark%2 == 0))){flag=3;fill(0,0,0);textFont(font,20);textAlign(CENTER);text("游戲結(jié)束,平局!",380,550);noFill();}else if(flag == 1){fill(255,0,0);textFont(font,20);textAlign(CENTER);text("游戲結(jié)束,紅方勝利!",380,550);noFill();}else if(flag == 2){fill(0,255,0);textFont(font,20);textAlign(CENTER);text("游戲結(jié)束,綠方勝利!",380,550);noFill();} }int JudgeResult() {for(int i=0;i<3;i++)//橫{if(maps[i][0] == maps[i][1] && maps[i][1] == maps[i][2])return maps[i][0];}for(int j=0;j<3;j++)//列{if(maps[0][j] == maps[1][j] && maps[1][j] == maps[2][j])return maps[0][j];}if(maps[0][0] == maps[1][1] && maps[1][1] == maps[2][2])return maps[0][0];if(maps[0][2] == maps[1][1] && maps[1][1] == maps[2][0])return maps[0][2];return -1; }

三、實現(xiàn)效果

歡迎發(fā)表意見!!!

總結(jié)

以上是生活随笔為你收集整理的使用Processing实现井字棋的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 爱情岛论坛亚洲品质自拍视频 | 国产精品久久久久久久久久免费看 | 色哟哟视频网站 | 毛片网站免费观看 | 农村老熟妇乱子伦视频 | 欧美精品午夜 | 深爱五月激情网 | 免费的黄网站 | 欧美 日韩 国产 成人 在线观看 | 欧美在线观看一区二区三区 | 国产91在线看| 国产农村妇女毛片精品久久 | 午夜少妇影院 | 国产黄色一级片视频 | 欧美一区二区三区久久综合 | 日韩毛片基地 | 欧美伦理影院 | 亚洲欧美天堂 | 国产丰满大乳奶水在线视频 | 久久中文字幕无码 | 日日撸夜夜操 | 青春草av | 欧美精品在线观看视频 | 五月婷婷丁香综合 | 99久久婷婷国产综合精品青牛牛 | 亚洲国产精品无码观看久久 | 亚洲一区视频 | 一区二区精品国产 | 国产情侣酒店自拍 | 精品视频中文字幕 | www.色婷婷.com | 一本大道东京热无码aⅴ | 成人性生交大片免费看中文 | 岛国一区二区 | 九色网站在线观看 | 法国空姐在线观看完整版 | 青春草视频在线免费观看 | 96亚洲精品久久久蜜桃 | 日韩三级黄色片 | 亚洲成年人av| 国产自偷| 亚洲精品91在线 | 久久a毛片 | 亚欧在线 | 色女孩综合 | 精品一区视频 | 99久久婷婷国产综合精品青牛牛 | 天天做天天摸天天爽天天爱 | 999伊人| 亚洲大尺度在线观看 | 青青青在线视频 | 免费无遮挡网站 | 乱中年女人伦 | 亚洲欧美乱综合图片区小说区 | 久久久男人天堂 | 中文字幕免费在线播放 | 伊人午夜 | 国产一级一级 | 波多野结衣在线一区二区 | 国产色拍 | 永久在线 | 成人黄色片免费 | 蜜臀av首页 | 午夜伦理视频 | 欧美色图五月天 | 久久亚洲免费 | 日批视频在线看 | 国产麻豆精品在线 | 手机av资源| 欧美日本道 | 婷婷五月精品中文字幕 | a级在线播放| jizz高潮| av影院在线 | 久精品在线观看 | av久久久 | 日韩城人视频 | 狠狠干夜夜干 | 成人免费观看a | 久久狠狠干 | 欧洲高潮三级做爰 | 欧美黑人巨大xxx极品 | 亚洲中文无码av在线 | 农夫色综合| 人妖一级片 | 日韩福利视频网 | 亚洲最大成人在线 | 欧美人体视频一区二区三区 | 久久dvd| 欧美人妻一区二区 | 96久久精品 | 婷婷中文字幕 | 欧洲黄色录像 | 日日操夜夜操天天操 | 久久大尺度 | 国产精品久久久久久亚洲毛片 | 免费成人av网址 | 日韩中文在线观看 | 日韩精品视频免费 |