会变色的乌龟(可通过鼠标键盘控制)

  1 package MyTest;
  2
  3 import java.awt.*;
  4 import java.awt.event.KeyEvent;
  5 import java.awt.event.KeyListener;
  6 import java.awt.event.MouseEvent;
  7 import java.awt.event.MouseListener;
  8
  9 import javax.swing.*;
 10
 11 public class WuGui{
 12     public static void main(String args[]){
 13         ImageIcon image=new ImageIcon("source/1.jpg");
 14         JLabel label=new JLabel(image);
 15
 16         JFrame w=new JFrame();
 17         mypanel mp=new mypanel();
 18         w.setSize(1366,768);
 19
 20         //设置背景图片
 21         JPanel defaultPane=(JPanel)w.getContentPane();
 22         defaultPane.setOpaque(false);
 23         label.setSize(image.getIconWidth(), image.getIconHeight());
 24         w.getLayeredPane().setLayout(null);
 25         w.getLayeredPane().add(label,new Integer(Integer.MIN_VALUE));
 26
 27         mp.setBackground(Color.WHITE);
 28         mp.setOpaque(false);//将容器的颜色设置为透明
 29         w.add(mp);
 30
 31         w.addKeyListener(mp);
 32         mp.addKeyListener(mp);
 33         w.addMouseListener(mp);
 34         mp.addMouseListener(mp);
 35         Thread t=new Thread(mp);
 36         t.start();
 37
 38         w.setVisible(true);
 39
 40     }
 41 }
 42 class mypanel extends JPanel implements Runnable,KeyListener,MouseListener{
 43     int x=150;int y=180;
 44     int []a=new int[255];
 45     int []b=new int[255];
 46     int []c=new int[255];
 47     int i;
 48     public mypanel(){
 49         for(int i=0;i<1;i++){
 50             a[i]=(int)(Math.random()*255);
 51             b[i]=(int)(Math.random()*255);
 52             c[i]=(int)(Math.random()*255);
 53         }
 54     }
 55     public void paint(Graphics g){
 56         super.paint(g);
 57         g.setColor(new Color(91,207,48));
 58         g.fillOval(x-8, y-15, 31, 41);//142,165
 59         g.fillOval(x+95, y-15, 31, 41);//245,165
 60         g.fillOval(x-8, y+120, 31, 41);//142,300
 61         g.fillOval(x+95, y+120, 31, 41);//245,300
 62         g.fillOval(x+46, y-60, 35, 70);//196,120
 63         g.fillOval(x+52, y+140, 11, 50);//202,320
 64
 65
 66         g.setColor(new Color(47,104,54));
 67         g.fillOval(x, y, 120, 150);//big龟壳150,180
 68         g.setColor(new Color((int)(Math.random()*255),(int)(Math.random()*255),(int)(Math.random()*255)));
 69         //g.setColor(new Color(91,207,48));
 70         //g.setColor(new Color(a[i],b[i],c[i]));
 71         g.fillOval(x+7, y+7, 106, 136);//small 157,187
 72
 73         g.setColor(Color.BLACK);
 74         g.fillOval(x+45, y-45, 10, 10);//195,135
 75         g.fillOval(x+70, y-45, 10, 10);//220,135
 76         /*
 77         g.drawLine(194, 228, 226, 228);
 78         g.drawLine(194, 276, 226, 276);
 79         g.drawLine(180, 252, 194, 228);
 80         g.drawLine(194, 276, 180, 252);
 81         g.drawLine(226, 228, 240, 252);
 82         g.drawLine(226, 276, 240, 252);
 83
 84         g.drawLine(194, 228, 172, 210);
 85         g.drawLine(226, 228, 248, 210);
 86         g.drawLine(180, 252, 158, 260);
 87         g.drawLine(240, 252, 262, 260);
 88         g.drawLine(194, 276, 170, 300);
 89         g.drawLine(226, 276, 250, 300);
 90         */
 91         g.drawLine(x+44, y+48, x+76, y+48);
 92         g.drawLine(x+44, y+96, x+76, y+96);
 93         g.drawLine(x+30, y+72, x+44, y+48);
 94         g.drawLine(x+44, y+96, x+30, y+72);
 95         g.drawLine(x+76, y+48, x+90, y+72);
 96         g.drawLine(x+76, y+96, x+90, y+72);
 97
 98         g.drawLine(x+44, y+48, x+22, y+30);
 99         g.drawLine(x+76, y+48, x+98, y+30);
100         g.drawLine(x+30, y+72, x+8, y+80);
101         g.drawLine(x+90, y+72, x+112, y+80);
102         g.drawLine(x+44, y+96, x+20, y+120);
103         g.drawLine(x+76, y+96, x+100, y+120);
104     }
105     public void run(){
106         while(true){
107             try{
108
109
110                 Thread.sleep(240);
111             }catch(Exception e){}
112             repaint();
113         }
114     }
115     public void keyPressed(KeyEvent e) {
116         if(e.getKeyCode()==KeyEvent.VK_LEFT){
117             if(x>0){
118                 x=x-5;}
119         }
120         if(e.getKeyCode()==KeyEvent.VK_UP){
121             if(y>0){
122                 y=y-5;
123             }
124         }
125         if(e.getKeyCode()==KeyEvent.VK_RIGHT){
126             if(x<1200){
127                 x=x+5;
128             }
129         }
130         if(e.getKeyCode()==KeyEvent.VK_DOWN){
131             if(y<650){
132                 y=y+5;
133             }
134         }
135         repaint();
136     }
137     public void keyReleased(KeyEvent e) {
138         // TODO Auto-generated method stub
139
140     }
141     public void keyTyped(KeyEvent e) {
142         // TODO Auto-generated method stub
143
144     }
145     public void mouseClicked(MouseEvent e) {
146         // TODO Auto-generated method stub
147         x=e.getX();
148         y=e.getY();
149         repaint();
150     }
151     public void mouseEntered(MouseEvent arg0) {
152         // TODO Auto-generated method stub
153
154     }
155     public void mouseExited(MouseEvent arg0) {
156         // TODO Auto-generated method stub
157
158     }
159     public void mousePressed(MouseEvent e) {
160         // TODO Auto-generated method stub
161
162     }
163     public void mouseReleased(MouseEvent e) {
164         // TODO Auto-generated method stub
165         int x1=e.getX();int y1=e.getY();
166         if(x1>100){
167             repaint();
168         //System.out.println("救命啊!!!");
169         }
170     }
171 }

时间: 2024-11-16 21:58:41

会变色的乌龟(可通过鼠标键盘控制)的相关文章

【Unity3D】使用鼠标键盘控制Camera视角(即时战略类游戏视角):缩进,拉远,旋转

今天写一个demo,要用到鼠标键盘控制三维视角,因此写了个脚本用于控制. 该脚本可以用于即时战略类游戏的视角,提供了缩进,拉伸,旋转.同时按住鼠标右键不放,移动鼠标可以实现第一人称视角的效果. 1 using UnityEngine; 2 using System.Collections; 3 4 public class CameraController : MonoBehaviour { 5 6 7 public float near = 20.0f; 8 public float far

C#模拟鼠标键盘控制其他窗口(一)

编写程序模拟鼠标和键盘操作可以方便的实现你需要的功能,而不需要对方程序为你开放接口.比如,操作飞信定时发送短信等.我之前开发过飞信耗子,用的是对飞信协议进行抓包,然后分析协议,进而模拟协议的执行,开发出了客户端,与移动服务器进行通信,但是这有一些缺点.如果移动的服务器对接口进行变更,我所编写的客户端也要进行相应的升级.如果服务器的协议进行了更改,甚至个人编写的这种第三方客户端需要重写.而我个人也没有这个时间和精力,或者说没有足够的利益支撑我继续去重构飞信耗子.因此,这款还算优秀的软件,现在就束之

synergy一个鼠标键盘控制多台电脑

有些时候我们同时操作多台电脑,但是我们只用一个鼠标和一个键盘,如果通过转换器啊或者是多个鼠标键盘就非常不方便了 下面我介绍一下通过安装synergy这个软件来给开发人员提供方便 这个软件安装比较简单,我就不多说了,但是要保证你每一台电脑都安装有这个软件. 安装完是这样的. 我这里安装的是中文版. 首先我们需要保证鼠标键盘在服务器端,其他电脑就是作为客户端.(客户端的电脑没有接鼠标键盘的) 我这里两台电脑来讲解,因为本人资金有限只有两台电脑了. 先保证两台电脑都运行这个软件,我们在服务器端的电脑配

多电脑同局域网,同一套鼠标键盘,跨屏操作利器。

妈妈再也不担心我拿错键盘鼠标了. Input Director是款Windows下的一套鼠标键盘控制多台电脑工具,使用户可以通过连接在一台计算机上的一套键盘鼠标,轻松控制多台电脑.对于经常在不同电脑之间经常切换的用户来说,非常实用.我也不用为了测试一个软件,在本本和测试机之间来回切换.不过为了使用方便,最好是能将各个系统的显示器排成一排.  除了支持多个系统的切换和操作,Input Director同样支持“共享”剪贴板,在一个计算机上复制数据,可以切换到其他计算机上粘贴使用.不过Windows

【198】Synergy - 鼠标键盘共享软件

参考:Synergy X64 v1.7.4 官方最新版 参考:Synergy安装方法 功能介绍: 可以将配置局域网的电脑实现同一个鼠标键盘控制两台电脑,效果类似一台电脑使用双屏的效果,键盘会根据鼠标的位置去判断哪一台电脑,真是碉堡了!安装的话就一路 NEXT 就可以,最后将语言改为简体中文即可,接下来就是配置! 1. 配置 Server 端的程序: 如下图所示点击按钮,选中“Server”. 点击“设置服务端···”按钮,在弹出的界面中,通过右上角的电脑图标拉入到格网中,不需要的拉入到左上角的垃

Input Director 一套键盘鼠标同时控制多台电脑

Input Director 一套键盘鼠标同时控制多台电脑 下载安装 通过搜索或直接到页面底部网盘下载,完成下载后,双击exe文件即可进入安装界面,勾选"I accept"同意协议单击"Next",选择安装路劲,单击"Install"开始安装: 显示如下界面单击"Close"关闭界面即可完成安装(控制端和被控端电脑都进行安装,安装步骤相同): 配置控制端(本机可以控制谁) 首先将鼠标键盘接到控制端电脑(配置完成后默认移动鼠标,

python模拟鼠标键盘操作 GhostMouse tinytask 调用外部脚本或程序 autopy右键另存为

1.参考 autopy (实践见最后一章节) 用Python制作游戏外挂(上) AutoPy Introduction and Tutorial autopy.mouse.smooth_move(1, 1) 可以实现平滑移动 autopy - API Reference pip install PyUserInput SavinaRoja/PyUserInput [python3.5][PyUserInput]模拟鼠标和键盘模拟 Python-模拟鼠标键盘动作 autoit selenium借助

Python - selenium_WebDriver 鼠标键盘事件

from selenium import webdriver #引入ActionChains类 提供了鼠标的操作方法 from selenium.webdriver.common.action_chains import ActionChains from selenium.webdriver.common.keys import Keys from ReadTxt_demo import readTxt import time #鼠标键盘事件 ''' ActionChains 常用方法 per

Windows鼠标键盘消息处理

1 #include <windows.h> 2 #include <tchar.h> //swprintf_s函数所需的头文件 3 4 #pragma comment(lib, "winmm.lib") //playSound 5 #pragma comment(lib, "Msimg32.lib") //TransparentBlt 6 7 #define WINDOW_WIDTH 800 8 #define WINDOW_HEIGHT