В этой статье описывается небольшая игра в игре к Gopherry, реализованной в Java. Поделитесь этим для вашей ссылки, следующим образом:
Это включает в себя связанные знания о темах Java и графическом интерфейсе. Простая мини -игра Java для борьбы с сусликам. Друзья, которые заинтересованы, могут оптимизировать это. Давайте посмотрим на эффект бега:
Конкретный код:
Mouse.java:
Импорт java.awt.color; import java.awt.font; import java.awt.graphics; импорт java.awt.image; import java.awt.toolkit; импорт java.awt.event.keyevent; import java.util.hashmap; import java.ut.map; import.ut. utis. x, y; частная вкладка; частные данные INT; Случайный rd = new Random (); Private Boolean Live = True; private int mousetime = 10; частный мышиный MC; Private Static Toolkit TK = Toolkit.getDefaultToolkit (); частное статическое изображение [] imgs = null; Частная статическая карта <изображение, строка> imgkv = new Hashmap <Image, String> (); static {imgs = новое изображение [] {tk.getimage (mouse.class.getClassloader (). getResource ("Images/a.png")), tk.getimage (mouse.class.getClassloader (). getResource ("Images/b.png"), tk.getMage (mouse.getRoadReclesReclasclasclasclasclaslesr "Images/c.png")), tk.getimage (mouse.class.getClassloader (). getResource ("Images/d.png")), tk.getimage (mouse.class.getClassloader (). getResource ("ImageS/e.png")), tk.getimage (mouse.classclasclasclereScleScleScles «Images/f.png»)), tk.getimage (mouse.class.getclassloader (). getresource ("Images/g.png")), tk.getimage (mouse.class.getclassloader (). getresource ("Images/h.png"), tk.getmage (mouse.classclasclasclesclesclesclesce. «Images/j.png»)), tk.getimage (mouse.class.getclassloader (). getresource ("Images/j.png")), tk.getimage (mouse.class.getclassloader (). getresource ("Images/k.png")), tk.getimage (mouse.classclasclasclesclesclesclescles «Images/l.png»)), tk.getimage (mouse.class.getClassloader (). getResource ("Images/m.png")), tk.getimage (mouse.class.getclassloader (). getresource ("image/n.png")), tk.getimage (mouse.class.getClassclascleScleScleSureSureSureSureSureSurES "Images/o.png")), tk.getimage (mouse.class.getclassloader (). getresource ("Images/p.png")), tk.getimage (mouse.class.getclassloader (). getresource ("Images/q.png"), tk.getImage (mouse.classclasclasclereScreclogloclysclereScleesreesr «Images/s.png»)), tk.getimage (mouse.class.getclassloader (). getResource ("Images/s.png")), tk.getimage (mouse.class.getclassloader (). getresource ("Image/t.png")), tk.getimage (mouse.classclasclasclereScleScleScleScce. "Images/u.png")), tk.getimage (mouse.class.getclassloader (). getResource ("Images/v.png")), tk.getimage (mouse.class.getClassloader (). getResource ("Images/w.png"), tk.getImage (mouse.clasclasclasclasclasclasclasclasclasclascr «Images/x.png»)), tk.getimage (mouse.class.getClassloader (). getResource ("Images/y.png")), tk.getimage (mouse.class.getClassloader (). getResource ("Images/z.png"), tk.getImage (mouse.getRoadReesReclesResReesr «Images/1.png»)), tk.getimage (mouse.class.getClassloader (). getResource ("Images/1.png")), tk.getimage (mouse.class.getclassloader (). getResource ("ImageS/2.png")), tk.getImage (mouse.class.getClassClasclereScrecles «Images/3.png»)), tk.getImage (mouse.class.getClassloader (). getResource ("Images/4.png")), tk.getimage (mouse.class.getclassloader (). getResource ("Images/5.png")), tk.getImage (mouse.class.getClassclasclereSure (). «Images/6.png»)), tk.getimage (mouse.class.getClassloader (). getResource ("Images/7.png")), tk.getimage (mouse.class.getclassloader (). getresource ("Images/8.png")), tk.getimage (mouse.class.getClassclasclereSure (). "Images/9.png"))}; imgkv.put (imgs [0], "a"); imgkv.put (imgs [1], "b"); imgkv.put (imgs [2], "c"); imgkv.put (imgs [3], "d"); imgkv.put (imgs [4], "e"); imgkv.put (imgs [5], "f"); imgkv.put (imgs [6], "g"); imgkv.put (imgs [7], "h"); imgkv.put (imgs [8], "i"); imgkv.put (imgs [9], "j"); imgkv.put (imgs [10], "k"); imgkv.put (imgs [11], "l"); imgkv.put (imgs [12], "m"); imgkv.put (imgs [12], "m"); imgkv.put (imgs [10], "k"); imgkv.put (imgs [11], "l"); imgkv.put (imgs [12], "m"); imgkv.put (imgs [13], "n"); imgkv.put (imgs [14], "o"); imgkv.put (imgs [15], "p"); imgkv.put (imgs [16], "q"); imgkv.put (imgs [17], "r"); imgkv.put (imgs [18], "s"); imgkv.put (imgs [19], "t"); imgkv.put (imgs [20], "u"); imgkv.put (imgs [21], "v"); imgkv.put (imgs [22], "w"); imgkv.put (imgs [22], "w"); imgkv.put (imgs [20], "u"); imgkv.put (imgs [21], "v"); imgkv.put (imgs [22], "w"); imgkv.put (imgs [22]); imgkv.put (imgs [22 "); imgkv.put (imgs [23]," x "); imgkv.put (imgs [24]," y "); imgkv.put (imgs [25]," z "); imgkv.put (imgs [26]," 0 "); Imgkv.put (Imgs [28], "2"); Imgkv.put (Imgs [30], «4»); } public (int x, int y, int tab, mouseeclient mc) {this.x = x; 0; MC.Eclipsetime ++; {public void run () {while (true) {mousetime--;Mouseeclient.java:
Импорт java.awt.color; импортировать java.awt.frame; import java.awt.graphics; импорт java.awt.image; импорт java.awt.event.keyadapter; импорт java.awt.event.keyevent; импорт java.awt.event.windowdapter; импорт java. java.util.arraylist; import java.util.list; import java.util.random; public class mouseclient extends frame { /** Спецификации всего игрового интерфейса* / public Static final int game_width = 1000; Public Static Final int game_height = 700; Public Static Int MouseCount; Общественный статический подсчет; Public Static Int Gamet -Time; Public Static Int Eclipsetime; Список <Mouse> mouses = new ArrayList <Mouse> (); Случайный rd = new Random (); public int initmouseCount = 2; // Количество сусликов, отображаемых в то же время public int [] tab = new int [10]; // Отметьте, есть ли суслики в яме с изображением вне экрана = null; /** Этот метод отображает главное окно*/ public void LaunchFrame () {this.SetLocation (200, 10); this.setsize (game_width, game_height); this.setTitle ("Museclient"); this.addwindowlistener (new windowdapter () {public void windowclose (windowevent e) {System.Exit (0);}}); this.setvisible (true); this.setbackground (color.green); this.SetReSizable (false); this.addkeylistener (new Keymonitor ()); новая ветка (новый PaintThread ()). start (); новая ветка (новый Gametime ()). start (); } Частный класс Gamet -Time реализует runnable {public void run () {while (true) {gametime ++; try {thread.sleep (1000); } catch (прерванное искусство e) {e.printstacktrace (); }}} / try {thread.sleep (10); } catch (прерванное искусство e) {e.printstacktrace (); }}}} public void update (Graphics G) {if (OffScreenimage == null) {OffScreenimage = this.createImage (Game_Width, Game_height); } Graphics goffscreen = offscreenimage.getGraphics (); Цвет C = goffscreen.getColor (); goffscreen.setcolor (color.green); goffscreen.fillrect (0, 0, game_width, game_height); goffscreen.setcolor (c); Краска (GoffScreen); g.drawimage (вне экрана, 0, 0, NULL); } public void Paint (Graphics G) {color c = g.getColor (); g.setcolor (color.gray); for (int i = 1; i <= 3; i ++) для (int j = 1; j <= 3; j ++) g.filloval (game_width / 4 * i - 60, game_height / 4 * j - 25, 120, 50); g.setcolor (c); G.DrawString ("Количество попаданий:" + count, 20, 40); G.DrawString ("Количество хитов:" + mouseCount, 20, 60); g.drawstring ("количество прогонов:" + eclipsetime + "", 20, 80); g.drawstring ("количество прогонов:" + eclipsetime + "", 20, 80); g.drawstring ("количество прогонов:" + eclipsetime + "", 20, 80); G.DrawString ("Количество пробежек:" + GAMETIME + "S", 20, 80); g.drawstring ("количество прогонов:" + eclipsetime + "", 20, 80); G.DrawString ("Количество пробежек:" + GAMETIME + "S", 20, 80); G.DrawString ("Количество пробежек:" + GAMETIME + "S", 20, 80); G.DrawString ("Количество пробежек:" + GAMETIME + "S", 20, 80); G.DrawString ("Количество пробежек:" + GAMETIME + "S", 20, 80); G.DrawString ("Количество пробежек:" + GAMETIME + "S", 20, 80); G.DrawString ("Количество пробежек:" + GAMETIME + "S", 20, 80); G.DrawString («Количество прогонов:« + GAMETIME + "S", 2 100); if (mouseCount> = 80) initmouseCount = 8; иначе if (mouseCount> = 50) initmouseCount = 6; иначе if (mouseCount> = 20) initmouseCount = 4; int temp; while (mouses.size () <initmouseCount) {temp = rd.nextint (9); while (tab [temp] == 1) {temp ++; if (temp == 9) temp = 0; } tab [temp] = 1; Mouses.Add (New Mouse (Game_Width / 4 * (Temp % 3 + 1) - 70, Game_height / 4 * (Temp / 3 + 1) - 100, Temp, это)); } for (int i = 0; i <mouses.size (); i ++) {mouse m = mouses.get (i); M.Draw (G); }} public static void main (string [] args) {mouseclient km = new mouseclient (); km.launchframe (); } частный класс keymonitor Extends keyAdapter {public void keyreleaded (keyEvent e) {System.out.println (e.getKeyCode ()); count ++; for (int i = 0; i <mouses.size (); i ++) {if (mouses.get (i). }}}}Вложение: нажмите здесь , чтобы загрузить полный пример кода.
Для получения дополнительной информации об алгоритмах Java, читатели, которые заинтересованы в этом сайте, могут просмотреть темы: «Учебное пособие по структуре данных Java и алгоритм», «Сводка операции Java Dom Node», «Сводка Java File и каталог
Я надеюсь, что эта статья будет полезна для всех Java Programming.