java跳棋
‘壹’ java编写一个简单的跳棋游戏
import java.awt.*;
import javax.swing.JFrame;
public class JumpChess extends JFrame{
public JumpChess(){
setSize(800,800); setVisible(true);
setBackground(Color.pink);
}
public void paint(Graphics g){ g.setColor(Color.gray); int x=290; int y=140; int x1=330;
for(int row=1;row<13;row++){ g.drawLine(x,y,x1,y);
x=x-20;
x1=x1+20;
y=y+30;
System.out.println(); }
int x2=110; int y2=230; int x3=90; int y3=260;
for(int row=1;row<13;row++){ g.drawLine(x2,y2,x3,y3); x2=x2+40; x3=x3+20; y3=y3+30;
System.out.println();
}
int x4=510; int y4=230; int x5=530; int y5=260;
for(int row=1;row<13;row++){ g.drawLine(x4,y4,x5,y5); x4=x4-40; x5=x5-20; y5=y5+30;
System.out.println();
}
int x6=510;
‘贰’ 姹备釜浜虹亩浠嬭寖鏂
濮揿悕锛氲春锅 镐у埆锛氱敺
瀛︽牎锛氩北涓滀俊鎭镵屼笟鎶链瀛﹂櫌 涓扑笟锛氲$畻链虹粍瑁呬笌缁翠慨
鍑虹敓骞存湀锛1986.03.08 鎴峰彛镓鍦ㄥ湴锛氩北涓.娼嶅泼
鏀挎不韬浠斤细棰勫囧厷锻 姣曚笟镞堕棿锛2005.07
搴旇幏瀛︿綅锛氲$畻链虹粍瑁呬笌缁翠慨涓扑笟瀛﹀+瀛︿綅
瀛﹀巻锛氭湰绉
鎴戞槸灞变笢淇℃伅镵屼笟鎶链瀛﹂櫌鐢靛瓙绯2002绾2鐝镄勪竴钖嶆湰绉戠敓锛屽湪澶у︽湡闂磋ょ湡瀛︿範锛岀Н鏋佸弬锷犲悇绉嶈惧栨椿锷ㄣ傚湪瀛︿範鏂归溃鎴戞疮骞撮兘銮峰缑浜嗘牎绾у栧﹂噾锛氩ぇ涓銮峰缑镙$骇涓夌瓑濂栧﹂噾銆佸ぇ浜岃幏寰楁牎绾т簩绛夊栧﹂噾銆佸ぇ涓夎幏寰楁牎绾т竴绛夊栧﹂噾銆傚ぇ浜岃幏寰楀﹂櫌闄㈢骇涓夊ソ瀛︾敓锛屽ぇ涓夎幏寰楀北涓滆亴涓氭妧链瀛﹂櫌镙$骇涓夊ソ瀛︾敓锛2005骞6链堟垚涓轰腑鍏遍勫囧厷锻樸 鍦ㄤ缭璇佸仛濂藉︿範宸ヤ綔镄勫悓镞讹纴鎴戠Н鏋佸弬锷犲悇绉嶈惧栨椿锷锛屽苟鍦ㄥ悇绉嶆瘆璧涗腑銮峰缑浼桦纾鎴愮哗锛氩弬锷犱简绗涓灞娄腑鍒涙澂JAVA杞浠惰捐″ぇ璧涳纴骞惰幏寰楅紦锷卞栵绂鍙傚姞灞变笢澶у︾敓鎸戞垬𨱒鍒涗笟澶ц禌锛屽苟杩涘叆鍐宠禌锛涘弬锷犵涓夊众钬淣EC钬濇澂JAVA杞浠惰捐″ぇ璧涳纴骞惰幏寰椾竴绛夊栵绂鍙傚姞绗涓夊众钬滃噷浣虫澂钬濆北涓灭渷钬滈绨椴佸ぇ瀛︾敓杞浠惰捐″ぇ璧涒濓纴骞惰幏寰椾竴绛夊栥傚湪瀛︽牎链熼棿鎴戝弬锷犱简钖勭嶈よ瘉锛03骞6链堥氲繃鍏ㄥ浗鑻辫锲涚骇钥冭瘯锛04骞6链堥氲繃鍏ㄥ浗鑻辫鍏绾ц冭瘯锛05骞5链堥氲繃璁$畻链鸿祫镙间笌姘村钩钥冭瘯锛岃幏寰椻灭绣缁滃伐绋嫔笀钬濓纸楂樼骇宸ョ▼甯堬级璁よ瘉銆
銮峰栨儏鍐
02锛03瀛﹀勾灞变笢淇℃伅镵屼笟鎶链瀛﹂櫌镙′笁绛夊栧﹂噾锛
03锛04瀛﹀勾灞变笢淇℃伅镵屼笟鎶链瀛﹂櫌镙′簩绛夊栧﹂噾锛
03锛04瀛﹀勾璁$畻链哄﹂櫌涓夊ソ瀛︾敓锛
04锛05瀛﹀勾灞变笢淇℃伅镵屼笟鎶链瀛﹂櫌镙′竴绛夊栧﹂噾锛
04锛05瀛﹀勾镙′笁濂藉︾敓锛
2005-05 绗涓夊众钬滃噷浣虫澂钬濆北涓灭渷钬滈绨椴佸ぇ瀛︾敓杞浠惰捐″ぇ璧涒濅竴绛夊栵绂
2005-04 绗涓夊众钬淣EC钬濇澂JAVA杞浠惰捐″ぇ璧涗竴绛夊栵绂
2002-04 绗涓灞娄腑鍒涙澂JAVA杞浠惰捐″ぇ璧涳纴骞惰幏寰楅紦锷卞栵绂
2005-06鍙傚姞绗涔濆众钬沧写鎴樻澂钬濆北涓滀俊鎭镵屼笟鎶链瀛﹂櫌瀛︾敓璇惧栧︽湳绉戞妧浣滃搧绔炶禌涓钻h幏涓夌瓑濂栥
銮峰缑璁よ瘉
03骞6链堥氲繃鍏ㄥ浗鑻辫锲涚骇钥冭瘯锛
04骞6链堥氲繃鍏ㄥ浗鑻辫鍏绾ц冭瘯锛
05骞5链堥氲繃璁$畻链鸿祫镙间笌姘村钩钥冭瘯 钬滆蒋浠惰捐″笀钬濓纸楂樼骇绋嫔簭锻桡级璁よ瘉銆
瀹炶返缁忛獙
2005-05涓庢墍鍦ㄥ洟阒熶竴璧蜂娇鐢.NETC#璇瑷寮鍙戞父鎴忊滆タ娓歌扳濓纴骞惰幏寰楃涓夊众钬滃噷浣虫澂钬濆北涓灭渷钬滈绨椴佸ぇ瀛︾敓杞浠惰捐″ぇ璧涒濅竴绛夊栵绂
2005-04镫绔嬩娇鐢╦ava璇瑷缂栧啓缃戠粶璺虫嬫父鎴忥纸Applet锛岃勬ā鍦1600琛屽乏鍙筹级锛屽苟銮峰缑绗涓夊众钬淣EC钬濇澂JAVA杞浠惰捐″ぇ璧涗竴绛夊栵绂 鍦ㄦ牎链熼棿鏁版嵁搴撹剧▼璁捐′腑镓锅氱殑镞呰岀ぞ绠$悊绯荤粺( PB Access/SQL Server)銮峰缑浼樼锛 鍦ㄦ搷浣灭郴缁熷疄楠屼腑缁冧範鍦↙INUX鐜澧冧笅阃氲繃瀛︿範鍜屼慨鏀筃achos绯荤粺锛岃繘涓姝ヤ简瑙d简镎崭綔绯荤粺镄勭浉鍏崇煡璇嗭纴骞惰幏寰椾紭绉锛 鍦ㄨ佸笀镄勬寚瀵间笅瀹屾垚璁$畻链虹粍鎴愬师鐞嗗疄楠屼腑镄勭亩鍗旷数璺甯冨浘鍜岀亩鍗旷殑CPU璁捐,銮峰缑浼樼锛 钖岄槦鍙嬩竴璧锋瀯寤篒T宸ヤ綔缃戠珯锛圥HP MYSQL锛夛绂
2005-06涓庡叾浠栦笓涓氩悓瀛﹀悎浣滆捐℃姌鍙犲纺鎽╂墭杞︽灦瀛愶纴骞惰幏寰楃涔濆众钬沧写鎴樻澂钬濆北涓灭渷瀛︾敓璇惧栧︽湳绉戞妧浣滃搧绔炶禌涓夌瓑濂栥
涓扑笟鎶鑳斤细
1锛庣啛鎭塲ava/c 绋嫔簭璁捐★纴镡熸倝VB VC++锛孲QL C缂栫▼锛岀啛鎭塚C镄勪娇鐢ㄣ
2锛庣啛鎭夋暟鎹缁撴瀯鍜岀畻娉曪纴锘虹鐭ヨ瘑镓庡疄锛屽熀链鎶鑳界啛缁冿纴镡熺粌鎺屾彙VC 缂栫▼锛屽挨鍏跺枩娆MFC缂栫▼锛岀啛鎭.net寮鍙戠幆澧冿纴鎺屾彙C锛冭瑷銆 3锛庢暟鎹搴掳细镡熺粌鎺屾彙SQL Server / Access PowerBuilder 寮鍙戞暟鎹搴揿簲鐢ㄧ▼搴忥纸濡傛梾琛岀ぞ绠$悊绯荤粺锛夈 4锛庡筕C++鑳藉熸瘆杈幂啛缁幂殑浣跨敤锛屽归溃钖戝硅薄链夎缉娣卞埢镄勮よ瘑銆 5锛庣啛鎭夐氢俊缃戠粶锘虹鐭ヨ瘑銆佺绣缁滈氢俊鍗忚銆
镵旂郴浣滆 EMIL:[email protected]
‘叁’ 仅用c语言能编出哪些小游戏
可以编写狼追兔子游戏,掷骰子游戏,24点游戏,井字棋游戏,农夫过河游戏,扫雷小游戏,人机猜数游戏,三色球游戏, 推箱子游戏,坦克大战游戏,贪吃蛇游戏等。
‘肆’ 怎么培养孩子的逻辑思维能力
1.最省事的方法:在生活中渗透
a.多和孩子做分类,分类本身就是一种归纳练习。比如叠衣服,鼓励孩子按不同的规则来分,按家人分,爸爸的,妈妈的,我的;按颜色分,白的,红的,蓝的??按功能分,冬天的,夏天的?..整理玩具也用类似的方式,让孩子体会同样的东西可以从不同的角度去寻找规律,还可以和他讨论比较不同分类的优劣;
b.给孩子建议或要求时说清楚因果关系。比如,夏天到户外玩,可以告诉孩子,因为今天很热,所以你容易口渴;因为容易口渴,所以你需要多喝水。又比如,明天一早要赶飞机,可以告诉孩子,因为航班很早,所以我们要早点儿起床;因为要早起,所以今晚要早睡;
c.多和孩子沟通我们做事情要按照一定顺序的原因。比如为什么要先穿袜子再穿鞋,为什么先系好安全带再开车,为什么搭积木时要按照说明书上的步骤顺序??逃逃很小的时候和我们一起去超市时,我会告诉他为什么我们需要先拿日用品、零食、干货,然后是新鲜的蔬菜、水果,最后才是冰冻的肉,海鲜,冰激凌,让他知道我们做事情的顺序每一步都是有依据,有道理的;
d.鼓励孩子多观察寻找事物的相似之处。鼓励孩子多思考类似这样的问题,比如勺子、碗、盘子、锅,它们都有哪些共同的地方?苹果圆圆的可以吃,橘子圆圆的可以吃,还有什么圆圆的也可以吃呢?是不是所有圆圆的都能吃?
2.最靠谱的方法:在游戏中领悟
日常沟通虽然有效,但对爸爸妈妈的要求却很高,毕竟不是每天都能有那么多好点子。所以我最推荐的方式是和孩子玩游戏。游戏对孩子的思维是个非常综合的培养,以一会儿我们将提到的一款桌游Laser Maze镭射迷宫为例,孩子需要通过观察去总结归纳光的直射、反射和折射规律,然后做类比猜想,用这个角度的镜子可以把光束反射到这里,那换一个角度会怎样呢?最后演绎推导要完成目标所需要的步骤。
我家一直都很喜欢玩桌游,觉得没什么比这性价比更高的了,自己不用动脑筋,因为要培养什么、怎么培养桌游设计者已经想到够明白设计得够巧妙了,我们要做的就是跟娃好好玩,也当是每天工作后的放松。上周布置圣诞节装饰时顺便收拾房间,随手拍了张照片(只是其中一部分),终于明白为啥这些年收入微涨存款却还跌了??
每款桌游都有不同的针对性,有培养记忆力的、语言表达的、逻辑思维的、空间几何感的;有适合单人玩的、两人玩的、多人玩的;有竞争型的、合作型的等等,门道不少,我一直琢磨着哪天开始写一个桌游分享系列,题目可以叫“逃逃和桌游不得不说的故事”什么的,但看到这一大堆顿感鸭梨山大。
OK,这里先列一列我们最喜欢,而且亲测有趣有效的逻辑类桌游:
a.以Chess国际象棋为代表的棋类(4岁+)
棋类通常有一套既定的规则,每一步都要按照这个规则来操作,实际上就是个演绎推导的过程,孩子需要想“我走这步,按照规则,下一步对方有几种选择,每一种我将要如何应对”,不但培养了孩子的逻辑思维,还培养了他的深度思考能力。如果正好读者朋友中有程序猿粑粑麻麻,你一定能体会到下棋就是个n叉树深度搜索的过程。
如果孩子还太小,觉得国际象棋太复杂,可以从它的简化版本Solitaire Chess接龙象棋和 All Queens Chess全后象棋开始。
另外,我们小时候玩的五子棋和它的变种Connect 4,跳棋和它的变种Checker也很不错。
b.和真实世界相结合的逻辑类桌游(4-5岁+)
棋类对培养逻辑思维非常好,但有个美中不足之处,它的规则都是人为规定的,所有的演绎推导也是根据这套规则而来。而对于正对这个世界充满好奇、热于探索身边各种物理化学现象的孩子们来说,不妨给他选择更多的和真实世界规律相结合的逻辑游戏,比如ThinkFun的这几款:
Gravity Maze重力迷宫(重力和逻辑的结合);
Laser Maze镭射迷宫(光学和逻辑的结合);
Circuit Maze电路迷宫(电路和逻辑的结合),有关电路还有一款Snap Circuits电路积木逃逃更感兴趣些,能玩出很专业的花样,适合稍大孩子(这个品牌的名字也叫Snap-Circuits,看来是它家的拳头游戏);
Balance Bean平衡豆(杠杆原理和逻辑的结合)
c.编程类(4岁+)
如果你翻看下各个专业桌游品牌的网站,会发现所有的编程游戏也都同时被划分在Logic Game逻辑游戏类里,因为编程和逻辑的关系是很紧密的,编程里所用到的顺序,条件,循环等等,都得严密且有依据,否则就得不到想要的运行效果。推荐的游戏有:
ThinkFun的Robot Turtles机器乌龟和Code Master 编程大师,前者比后者更加低幼些;
儿童编程大冒险- 有故事的编程书和桌游,挺有意思;
如果孩子5岁以上,动手能力也很强,可以开始尝试编程机器人(乐高EV3,能力风暴的氪系列等),编程机器人培养的能力就更多了,逻辑只能算其中的一小部分,逃爸带逃逃和几位小伙伴组了一个编程机器人团队,对这方面很有心得,下次他来详细分享下,这里先不展开。
d.更多新奇好玩,吸引眼球的烧脑逻辑游戏(3岁+)
ThinkFun的Rush hour 塞车时刻,这是逃逃前几年超爱玩的一款游戏,有点儿类似咱们的华容道,也像我以前玩过的电脑游戏“推箱子”,难的关卡还是比较烧脑;
迷路小神仙,有点儿像桌游届的一匹黑马,今年暑假才接触到,玩过的娃几乎都迷上了;
SmartGames的 Dinosaurs Mystic Islands 神秘恐龙岛,每位孩子都有一个超爱恐龙的阶段,正中下怀;
Smart Games的IQ puzzler和IQ Twist,非常小巧,方便携带;
另外推荐两款小女孩特别爱的逻辑桌游,ThinkFun的Sweet Logic 巧克力迷阵和Smart Games 的Snow White 白雪公主,对逃逃来说低幼粉嫩了些,但家里来了小女孩客人时就相当合适。
大家都知道孩子玩什么东西通常是“两头热”,不太可能每款游戏都玩得炉火纯青物尽其用。孩子玩桌游通常是这样的规律,刚拿到手时很兴奋,接下来的几天都会玩得很有兴趣,但过了新鲜期后就会把它打入冷宫,等过一段时间再取出来的时候又兴致勃勃地玩上一阵。这也是为何平时我们久不久会把摆放桌游的柜子重新整理一下,让一些进入冷宫的桌游有重新受宠的机会。
最近给逃逃准备圣诞礼物时又入了Thinkfun的一款Laser Chess镭射象棋,刚收到货包了起来,看样子不错,等圣诞节逃逃拆了如果好玩儿的话再推荐给大家。
3.最解决燃眉之急的方法:刷题
刷题在我家不是首选,因为我向来认为孩子应该多接触些可以调动他各个感观的学习方式,最好能观察能触摸能动手比划,所以能用桌游代替的我一般不上练习册。
但在竞争异常激烈的今天,当逻辑思维考核成为一道重要的门槛,当其他所有的孩子都在刷题时,你肯定也会按捺不住,否则像文章开头那些考题让孩子怎么办,即使逻辑思维很好,但缺乏训练,对题型不熟悉的话至少在答题速度上会比别人慢半拍,就像一个内功深厚但从没练过什么招式的侠客,在短时间的“比武过招”中必然吃亏。(“只和自己比”的鸡汤在这暂时用不上哈,假设某个学校、某个组织100人考试只招10人,就是个对垒交锋你上我下的过程,这种情况在孩子未来的生涯中将会无处不在)
这两年我们所在的地方因为学区比较好,涌来了一大波亚裔,我想如果逃逃当年没考上GT班,现在才考的话,不好好准备一番也是没太大胜算的。所以呢,游戏要玩,那是练内功,但题也要刷,更像是学招式。而家长能做的就是,找最好的最适合孩子的题,让孩子刷得开心高效。以下是我的推荐:
a.德国的逻辑狗,其实它是介于游戏和刷题之间的,既是备考幼升小之良品也不失动脑动手的乐趣,所以我把它排在第一位,逻辑狗应该绝大多数家长都超熟悉,至今我还没听说有用过说不好的。
b.《百花思维》、《何秋光儿童数学思维训练》,这两套是在上海的学霸闺蜜分享给我的,魔都竞争异常激烈,她家两娃不得不从小就刷刷刷,感觉效果不错,娃也没啥怨言。
c.德国的《玩转思维游戏》和印度的《儿童全脑思维训练》,这两套书是前几个月拿到的,感觉也很不错,有趣,也有一定难度。
刷题类除了经久不衰的逻辑狗之外,其他的我感觉得“与时俱进”,因为它们和逻辑类考试联系最紧密,得看看其他娃在练什么,还得和最新流行的考题、考法相结合来选择,所谓知己知彼嘛。
逻辑思维对孩子的影响是深远的,理工科需要,文史哲也需要,工作中需要,生活上也绝对不能缺。
电影《教父》里有句台词,“花半秒钟就看透事物本质的人,和花一辈子都看不清事物本质的人,注定是截然不同的命运。”这个“本质”指的就是逻辑,它将影响孩子未来的路能走多宽走多远。
(本文来自:网络宝宝知道我是小扒扒)
――――――――
世界很复杂,网络更懂你
关注宝宝知道,了解备孕、怀孕、育儿更多精彩内容:专家直播、日刊知识、胎教电台、儿童故事、动画片,还有宝妈们最爱的社区圈子!宝宝知道与千万妈妈在一起,科学孕育,为爱成长!
‘伍’ Java 跳棋的程序 急~~
先导入三个按钮图片
正常显示的图片"Begin1.jpg"
鼠标移动到按钮上时显示的图片"Begin2.jpg"
按下鼠标时显示的图片"Begin1.jpg"
final ImageLoader imageBegin1 = new ImageLoader(sShell.getDisplay(), "Begin1.jpg");
final ImageLoader imageBegin2 = new ImageLoader(sShell.getDisplay(), "Begin2.jpg");
final ImageLoader imageBegin3 = new ImageLoader(sShell.getDisplay(),"Begin1.jpg");
创建按钮
lblBegin = new Label(parent, SWT.NO_BACKGROUND);
lblBegin.setImage(imageBegin1.getImage());
lblBegin.setBounds(70, 40, 75, 38);
为按钮各事件写入代码
lblBegin.addMouseTrackListener(new MouseTrackAdapter() {
public void mouseEnter(MouseEvent e) { //鼠标移动到按钮上方
lblBegin.setImage(imageBegin2.getImage());
}
public void mouseExit(MouseEvent e) { //鼠标从按钮上方移开
lblBegin.setImage(imageBegin1.getImage());
}
});
lblBegin.addMouseListener(new MouseAdapter() {
public void mouseDown(MouseEvent e) {
if (e.button == 1) {//按下鼠标左键
lblBegin.setImage(imageBegin3.getImage()); //在这里写入单击事件代码
}
}
public void mouseUp(MouseEvent e) {
if (e.button == 1) {//释放鼠标左键
lblBegin.setImage(imageBegin2.getImage());
}
}
});
如图所示,当X坐标为1时,Y的坐标只能为5,当X坐标为2时,Y的坐标可以5或6。于是我们建立一个数组:
final static private int[][] pos = {
{5,5}, //X坐标为1,Y的上限是5,下限是5
{5,6}, //X坐标为2,Y的上限是5,下限是6
{5,7}, //X坐标为3,Y的上限是5,下限是7
{5,8}, //X坐标为4,Y的上限是5,下限是8
{1,13}, //X坐标为5,Y的上限是1,下限是13
{2,13}, //6
{3,13}, //7
{4,13}, //8
{5,13}, //9
{5,14}, //10
{5,15}, //11
{5,16}, //12
{5,17}, //13
{10,13}, //14
{11,13}, //15
{12,13}, //16
{13,13}, //17
};
在Position类中IsLegalPosition函数可以确定一个坐标是否合法
public static boolean IsLegalPosition(int x, int y) {
if ((x < 1) || (x > 17)) {
return false;
}
if ((y < pos[x - 1][0]) || (y > pos[x - 1][1])) {
return false;
}
return true;
}
3. 棋盘类(ChessBoard)中棋子和坐标的索引关系
棋盘中所有Chess集合
private Chess[] chesses = null;//所有棋子对象都保存这个数组当中
下面函数可以根据索引号返回棋子对象
public Chess getChess(int index) {
return chesses[index];
}
棋子和坐标的对应关系
private Position[] chessesPosition = null;//所有棋子坐标都保存在这个数组当中
下面函数可以根据棋子对象或棋子索引号返回坐标
public Position getPosition(Chess chess) {
return chessesPosition[chess.getindex()];
}
public Position getPosition(int index) {
return chessesPosition[index];
}
坐标和棋子的对应关系
private Chess[][] chessesIndex = new Chess[17][17];//数组保存了17*17个棋子对象指针
下面函数可以根据棋子坐标返回该位置上的棋子,如果没有棋子返回Null
public Chess getChess(Position position) {
if (position == null){
return null;
}
return chessesIndex[position.getx() - 1][position.gety() - 1];
}