简易连连看

本文介绍了一个简单的4键连连看游戏实现方案,使用Java Swing进行界面设计,并实现了基本的游戏逻辑,包括匹配消除功能和菜单选项等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

4个键的连连看。。。。有空把方法抽象下。。。

Code:
  1. importjavax.swing.*;
  2. importjava.awt.*;
  3. importjava.awt.event.*;
  4. publicclasswebServer{
  5. /**
  6. *@paramargs
  7. */
  8. staticJButtonbutton1;
  9. staticJButtonbutton2;
  10. staticJButtonbutton3;
  11. staticJButtonbutton4;
  12. staticBooleanflag1=true;
  13. staticBooleanflag2=true;
  14. staticBooleanflag3=true;
  15. staticBooleanflag4=true;
  16. publicstaticvoidmain(String[]args){
  17. //TODOAuto-generatedmethodstub
  18. JFrameframe=newJFrame("连连看");
  19. JPanelpanel=newJPanel();
  20. frame.add(panel);
  21. frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  22. button1=newJButton("1");
  23. button2=newJButton("2");
  24. button3=newJButton("1");
  25. button4=newJButton("2");
  26. panel.add(button1);
  27. panel.add(button2);
  28. panel.add(button3);
  29. panel.add(button4);
  30. JMenuBarmenubar=newJMenuBar();
  31. panel.add(menubar);
  32. JMenumenu=newJMenu("属性");
  33. menubar.add(menu);
  34. JMenuItemmenuitem1=newJMenuItem("制作者信息");
  35. menu.add(menuitem1);
  36. JMenuItemmenuitem2=newJMenuItem("退出");
  37. menu.add(menuitem2);
  38. frame.setSize(300,100);
  39. frame.setVisible(true);
  40. menuitem1.addActionListener(newActionListener()
  41. {
  42. publicvoidactionPerformed(ActionEvente)
  43. {
  44. JOptionPane.showMessageDialog(null,"制作人:徐方鑫/n邮箱:280599580@qq.com");
  45. }
  46. });
  47. menuitem2.addActionListener(newActionListener()
  48. {
  49. publicvoidactionPerformed(ActionEvente)
  50. {
  51. System.exit(0);
  52. }
  53. });
  54. while(true)
  55. {
  56. button1.addActionListener(newActionListener()
  57. {
  58. publicvoidactionPerformed(ActionEvente)
  59. {
  60. flag1=false;
  61. flag2=true;
  62. flag4=true;
  63. if(flag1==flag3)
  64. {
  65. button1.setVisible(false);
  66. button3.setVisible(false);
  67. }
  68. }
  69. });
  70. button2.addActionListener(newActionListener()
  71. {
  72. publicvoidactionPerformed(ActionEvente)
  73. {
  74. flag2=false;
  75. flag1=true;
  76. flag3=true;
  77. if(flag2==flag4)
  78. {
  79. button2.setVisible(false);
  80. button4.setVisible(false);
  81. }
  82. }
  83. });
  84. button3.addActionListener(newActionListener()
  85. {
  86. publicvoidactionPerformed(ActionEvente)
  87. {
  88. flag3=false;
  89. flag2=true;
  90. flag4=true;
  91. if(flag1==flag3)
  92. {
  93. button1.setVisible(false);
  94. button3.setVisible(false);
  95. }
  96. }
  97. });
  98. button4.addActionListener(newActionListener()
  99. {
  100. publicvoidactionPerformed(ActionEvente)
  101. {
  102. flag4=false;
  103. flag1=true;
  104. flag3=true;
  105. if(flag2==flag4)
  106. {
  107. button2.setVisible(false);
  108. button4.setVisible(false);
  109. }
  110. }
  111. });
  112. }
  113. }
  114. }

7-7 简易连连看 (15分) 本题要求实现一个简易连连看游戏模拟程序给定一个22N的方阵网格游戏盘面每个格子放置一些符号。这些符号定是成对出现的,同一个符号可能不止一对程序玩家给出一对位置(x ​1 ​​ ,y ​1 ​​ )(x ​2 ​​ ,y ​2 ​​ )判断两个位置上的符号是否匹配。如果匹配成功,则将两个符号为“*”输出去后的盘面;否则输出“Uh-oh”。若匹配错误达到3次,则输出“Game Over”结束游戏。或者当全部符号匹配成功,则输出“Congratulations!”,然后结束游戏。 输入格式: 输入在一行中给一个正整数N(<5)。随后2N行,每行2N个大写英文字母(其间以1个空格分隔),表示游戏盘面盘面之后给出一个正整数K,随后K行,每行按照格式“x ​1 ​​ y ​1 ​​ x ​2 ​​ y ​2 ​​ ”给出一个玩家的输入。注意格子的行、列编号是从12N。 输出格式: 根据玩家的每一步输入,输出相应的结果。输出盘面时注意,每行字符间以1个空格分隔,行末不得有多余空格。 输入样例12 I T I T Y T I A T A T Y I K K T 11 1 1 1 3 4 2 4 3 3 1 4 2 2 2 1 2 3 1 2 4 4 4 3 1 2 1 3 4 3 3 1 4 4 1 2 3 2 4 3 2 1 1 2 2 输出样例1: * T * T Y T I A T A T Y I K K T * T * T Y T I A T A T Y I * * T Uh-oh * * * T Y * I A T A T Y I * * T Uh-oh * * * T Y * I A * A T Y I * * * * * * T * * I A * A T * I * * * * * * * * * I A * A * * I * * * * * * * * * * A * A * * * * * * Congratulations! 输入样例22 I T I T Y T I A T A T Y I K K T 5 1 1 4 4 1 1 2 3 1 1 2 3 2 2 4 1 2 2 3 3 输出样例2: Uh-oh * T I T Y T * A T A T Y I K K T Uh-oh Uh-oh Game Over
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值