Java Sudoku游戏

这几天尝试用Java的swing写图形程序,边学习边摸索写了个简单的数独游戏,在编写的过程中学到了不少关于swing的东西,而且对于图形化程序的编写也有了一点简单的认识:

  • 善其事先利其器,既然写图形化程序就先把一个IDE玩熟练,不在乎是什么IDE,喜欢哪个就用那个,不然急于动手会遇到更多麻烦;
  • 先实现一个图形化程序的原型算法,比如说数独游戏就要先实现如何生成一个数独这个最原始的问题,在解决这个问题时,如何解一个数独的算法也就必须先写出来;
  • 不要急于把算法集成进图形界面,可以尝试先写一个最简单的图形程序,比如先尝试在图形界面上实现显示一个数字,显示一个数独网格,然后再一步一步迭代完善;
  • 对于类的划分要合理,对于类提供的方法要慎重考虑,感觉在真正写代码时就成了缺啥补啥,之前完全没有规划好一个类;
  • 遇到自己实现不了的功能要多读读别人的代码,google搜索再加上Java的文档;

目前已经实现的基本功能:

  • 开始游戏产生一个easy难度的数独问题;
  • 结束退出游戏;
  • 调整游戏难度:easy,normal,hard;
  • 生成当前数独问题的答案;

需要完善的功能:

  • 更加友好的界面实现;
  • 添加计时器;
  • 对于用户错误的输入要有提示;
  • 数独成功解出来之后要有提示;

时间: 2024-11-03 20:46:46

Java Sudoku游戏的相关文章

完美校招只分三个职位 c++ 、java、 游戏策划

完美校招的职位仅仅三个: c++ .java.  游戏策划(总之一句话,基础非常重要,而且一定要精通一门语言) 问题一:给出一个十六进制的数0xFF 0x80  (只有2"位") 将其转换成有符号的一字节的十进制整数 解:因为是转成有符号数  所以 可以先将其转成二进制  如:0xFF->1111 1111 可见符号位为1,为负数, 负数是以补码存储的,所以求其原码 补码减一 取反即为原码  1111 1110  ->1000 0001 -> -1  取反时符号位不变

Effective Java设定游戏 - 就是爱Java

首先,我们先设定游戏,一个网页游戏的基本场景,主角拥有各种能力,但一开始数值都只有系统初始,随着故事的发展,会接触到各种不同的场景,获得提升角色的道具与装备,来参与更高难度的任务. 阅读全文>> Effective Java设定游戏 - 就是爱Java,布布扣,bubuko.com

Java 3D游戏引擎——JME(java Monkey Engine)

转自:http://bbs.gameres.com/forum.php?mod=viewthread&tid=180732 JME(java Monkey Engine),一个非常棒的Java 3D游戏引擎 一直以来,由于性能等原因,Java并不是3D图形应用的主流平台,但随着各种新技术的出现,这种情况有了很大改变.从开始的JIT.Static compilers,到现代的HotSpot技术,使Java程序的运行效率越来越高,目前已经接近于C++程序.此外,通过JNI技术,Java程序可以调用任

《Java小游戏实现》:坦克大战(续一)

<Java小游戏实现>:坦克大战(续一) 上篇博文(http://blog.csdn.net/u010412719/article/details/51712663)只介绍到了能够控制一个坦克在4个方向上移动就结束了,今天就在此基础上继续完成一个一个的小功能. 完成的功能:根据键盘的按键控制一个坦克在8个方向上移动 要完成这个功能,我们要做一下几个事情 1.记录下键盘的按键情况,即要重写键盘按下和抬起的监听事件 采用4个boolean变量来记录,按下为true,抬起为false 具体实现的代码

Java小游戏之打飞机(二)

这篇文章本应昨天写的,可是真打算写的时候,CSDN博客维护,导致拖到了今天: 在上篇文章Java小游戏之打飞机(一)中已经详细介绍了该游戏的基本架构和需求分析,今天就详细写一写具体每个类的实现: 1)PlaneGameFrame类    ----游戏的主界面以及一些具体的飞机动作方法.碰撞检测等 代码: package plane; import java.awt.Color; import java.awt.Font; import java.awt.Graphics; import java

《Java小游戏实现》:坦克大战

<Java小游戏实现>:坦克大战 前面写了一个简单的聊天小程序,今天开始就写一个坦克大战的游戏,算是对Java相关小知识点的一个应用. 这个游戏的完成,我们也是分步完成,逐步累加,一个一个小功能的添加,最后直至完成整个游戏的开发. 第一步:写一个界面 public class TankClient extends JFrame{ public static void main(String[] args) { new TankClient().launchFrame(); } public v

java 猜拳游戏代码

import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.Random; public class FingerGuessing { private String[] op = new String[] { "布", "剪刀", "石头" }; Random r = new Random

java小游戏代码

一. 需求分析 曾几何时,游戏是海洛因的代名词,让人与玩物丧志联系在一起,一度遭到社会反感和家长抵制.但是,随着互联网的发展,和游戏潜在好处被发现,游戏的价值开始逐渐被社会认可,人们开始接受.认识和了解游戏带来的诸多好处. 现在学生的课业负担重,娱乐时间少,人际交往少,烦恼和压力也因此相应增加.其实玩游戏不仅帮助学生调节情绪,还可以锻炼与提高他们的反应能力和手脑的快速配合能力,同时帮助他们了解电脑和网络知识等,可谓是一举多得.据调查显示,经常玩游戏的学生思维活跃.善于表达.情绪乐观,解决问题时会

java雷电游戏源码项目

部分代码GameFrame .java package com.leidian; import java.awt.BorderLayout; import javax.swing.JFrame; public class GameFrame extends JFrame { private static final long serialVersionUID = 1L; private GameCanvas canvas = new GameCanvas(); public GameFrame(