public class Bot {
創(chuàng)新互聯(lián)長期為數(shù)千家客戶提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊(duì)從業(yè)經(jīng)驗(yàn)10年,關(guān)注不同地域、不同群體,并針對不同對象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺,與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為策勒企業(yè)提供專業(yè)的成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站建設(shè),策勒網(wǎng)站改版等技術(shù)服務(wù)。擁有十余年豐富建站經(jīng)驗(yàn)和眾多成功案例,為您定制開發(fā)。
private ArrayListString commands;
public Bot(){
commands = new ArrayList();
}
public ArrayListString getCommands(){
return commands;
}
public static void main(String[ ] args){
Bot bot = new Bot();
Scanner sc = new Scanner(System.in);
System.out.println("請輸入一個(gè)整數(shù):");
int n = sc.nextInt();
int i = 0;
String command;
sc.nextLine();
while (i n){
command = sc.nextLine();
if (!isCorrectCommand(command)){
System.out.println("每條指令只由L、R和數(shù)字組成(數(shù)字是0~100之間的整數(shù))。");
}else if (command.length() 256){
System.out.println("每條指令的長度不超過256個(gè)字符。");
} else{
bot.getCommands().add(command);
i++;
}
}
i = 0;
while (i n){
System.out.printf("%.2f",bot.go(i));
i++;
}
}
public double go(int index){
int direction = 2;
double x = 0;
double y = 0;
String command = commands.get(index);
String str="0";
int i = 0;
char temp;
while (i command.length()){
temp = command.charAt(i);
if (temp = 47 temp = 57){
str += temp;
}else if (temp == 'L'){
int length = Integer.parseInt(str);
switch(direction){
case 1: x = x - length;break;
case 2: y = y + length;break;
case 3: x = x + length;break;
case 4: y = y - length;break;
}
str = "0";
direction = (direction - 1)%4;
if (direction == 0){
direction = 4;
}
}else{
int length = Integer.parseInt(str);
switch(direction){
case 1: x = x - length;break;
case 2: y = y + length;break;
case 3: x = x + length;break;
case 4: y = y - length;break;
}
str = "0";
direction = (direction + 1)%4;
}
i++;
}
int length = Integer.parseInt(str);
switch(direction){
case 1: x = x - length;break;
case 2: y = y + length;break;
case 3: x = x + length;break;
case 4: y = y - length;break;
}
return Math.sqrt(x * x + y * y);
}
public static boolean isCorrectCommand(String command){
Pattern pt = Pattern.compile("(?:L\\d{1,3}|R\\d{1,3}|\\d{1,3})+");
if (pt.matcher(command).matches()){
return true;
}
return false;
}
}
如果只是使用的話,網(wǎng)上有一款軟件叫做酷Q,你可以下載看看。
如果要易語言源碼的話,樓主不要去想了,除非掏錢。
在百度中搜索【QQ機(jī)器人】,從搜索鏈接中找到一個(gè)合適的機(jī)器人軟件點(diǎn)擊進(jìn)入對應(yīng)的下載地址。
在下載地址中挑選合適的版本下載,作為新手,一般下載普通的完整包就可以了。
下載后解壓縮到本地,在解壓后的文件夾中找到執(zhí)行文件,雙擊打開。
1920年,捷克作家卡雷爾·凱佩克(Karel Capek)發(fā)表了科幻劇本《羅薩姆的萬能機(jī)器人》。在劇本中,凱佩克把捷克語“Robota”寫成了“Robot”,“Robota”是奴隸的意思。該劇預(yù)告了機(jī)器人的發(fā)展對人類社會的悲劇性影響。
引起了人們的廣泛關(guān)注,被當(dāng)成了“機(jī)器人”一詞的起源。在該劇中,機(jī)器人按照其主人的命令默默地工作,沒有感覺和感情,以呆板的方式從事繁重的勞動。后來,羅薩姆公司取得了成功,使機(jī)器人具有了感情,導(dǎo)致機(jī)器人的應(yīng)用部門迅速增加。
相關(guān)介紹:
1920年,捷克作家卡雷爾·凱佩克(Karel Capek)發(fā)表了科幻劇本《羅薩姆的萬能機(jī)器人》。在劇本中,凱佩克把捷克語“Robota”寫成了“Robot”,“Robota”是奴隸的意思。該劇預(yù)告了機(jī)器人的發(fā)展對人類社會的悲劇性影響。
引起了人們的廣泛關(guān)注,被當(dāng)成了“機(jī)器人”一詞的起源。在該劇中,機(jī)器人按照其主人的命令默默地工作,沒有感覺和感情,以呆板的方式從事繁重的勞動。后來,羅薩姆公司取得了成功,使機(jī)器人具有了感情,導(dǎo)致機(jī)器人的應(yīng)用部門迅速增加。
對于擁有多個(gè)qq群的用戶來說,制作一個(gè)聊天機(jī)器人是很有必要的,那么,你知道如何制作嗎?下面就讓我告訴你如何制作qq聊天機(jī)器人。
制作qq聊天機(jī)器人的??方法
注冊圖靈機(jī)器人API?key,因?yàn)楹竺嬉玫綀D靈機(jī)器人插件來實(shí)現(xiàn)智能聊天,所以就有必要用到圖靈機(jī)器人的API?key了,自行到圖靈機(jī)器人官網(wǎng)注冊即可。
注冊非常的簡單,輸入郵箱、密碼和驗(yàn)證碼提交即可,然后在個(gè)人中心就能夠看到自己申請到的API?key?了,是一個(gè)32字符的字符串。注冊后,默認(rèn)調(diào)用次數(shù)是2000次每天,就是每天一共能問2000次,我的通過下面的邀請鏈接邀請好友注冊了,所以就多了1000次,大家如果每天的請求次數(shù)不夠用,也可以用這種方法來為自己提高次數(shù)。
下載酷Q機(jī)器人最新版及圖靈機(jī)器人插件,酷Q機(jī)器人最新版和圖靈機(jī)器人的插件已經(jīng)打包上傳至個(gè)人網(wǎng)盤,可直接前往網(wǎng)盤下載!網(wǎng)盤傳送門:
。下載網(wǎng)盤中的附件,將附件中的兩個(gè)壓縮包分別解壓,放至桌面或其他自己能夠找到的地方。
將圖靈機(jī)器人插件中解壓出來的TuRingRobot.dll放至酷Qplugin文件夾下。
將圖靈機(jī)器人插件放至相應(yīng)文件夾后,點(diǎn)擊CoolQ運(yùn)行程序,啟動CoolQ;在酷Q客戶端中輸入自己的QQ號和密碼并點(diǎn)擊登錄。
進(jìn)入設(shè)置,插件,勾選圖靈機(jī)器人插件,右下角設(shè)置進(jìn)入插件設(shè)置,在彈出的窗口中能看到apikey的輸入框,從官網(wǎng)上把自己申請到的apikey粘貼進(jìn)去。然后刷新插件!
看了如何制作qq聊天機(jī)器人的人還看
1.?如何制作qq頭像
2.?qq如何使用多人視頻聊天功能
3.?qq聊天怎樣使用虛擬視頻功能
4.?如何制作制作eip表情包
Server.java
import?java.io.DataInputStream;
import?java.io.DataOutputStream;
import?java.io.IOException;
import?java.net.ServerSocket;
import?java.net.Socket;
import?java.util.ArrayList;
import?java.util.List;
public?class?Server?{
private?ListServerThread?serverThreads;
private?ServerSocket?serverSocket;
public?Server()?throws?IOException?{
serverSocket?=?new?ServerSocket(8025);
serverThreads?=?new?ArrayListServerThread();
}
public?ListServerThread?getServerThreads()?{
return?serverThreads;
}
public?void?setServerThreads(ListServerThread?serverThreads)?{
this.serverThreads?=?serverThreads;
}
public?ServerSocket?getServerSocket()?{
return?serverSocket;
}
public?void?setServerSocket(ServerSocket?serverSocket)?{
this.serverSocket?=?serverSocket;
}
public?static?void?main(String[]?args)?{
Server?server?=?null;
try?{
server?=?new?Server();
}?catch?(IOException?e)?{
e.printStackTrace();
System.exit(-1);
}
try?{
Socket?socket;
Thread?t;
while?(true)?{
socket?=?server.getServerSocket().accept();
ServerThread?serverThread?=?new?ServerThread(server,?socket);
server.getServerThreads().add(serverThread);
t?=?new?Thread(serverThread);
t.start();
}
}?catch?(IOException?e)?{
e.printStackTrace();
}
}
public?void?sendMessage(String?message,?Socket?socket)?{
for?(ServerThread?serverThread?:?serverThreads)?{
try?{
serverThread.getDos().writeUTF(message);
}?catch?(IOException?e)?{
//?e.printStackTrace();
System.out.println("推送消息給"?+?serverThread.getSocket().getRemoteSocketAddress()?+?"過程中發(fā)生了錯(cuò)誤.");
}
}
}
}
class?ServerThread?implements?Runnable?{
private?Server?server;
private?Socket?socket;
private?DataInputStream?dis;
private?DataOutputStream?dos;
public?ServerThread(Server?server,?Socket?socket)?throws?IOException?{
this.server?=?server;
this.socket?=?socket;
dis?=?new?DataInputStream(socket.getInputStream());
dos?=?new?DataOutputStream(socket.getOutputStream());
}
public?Server?getServer()?{
return?server;
}
public?void?setServer(Server?server)?{
this.server?=?server;
}
public?Socket?getSocket()?{
return?socket;
}
public?void?setSocket(Socket?socket)?{
this.socket?=?socket;
}
public?DataInputStream?getDis()?{
return?dis;
}
public?void?setDis(DataInputStream?dis)?{
this.dis?=?dis;
}
public?DataOutputStream?getDos()?{
return?dos;
}
public?void?setDos(DataOutputStream?dos)?{
this.dos?=?dos;
}
public?void?run()?{
String?message?=?"";
while?(!message.equals("logout"))?{
try?{
message?=?socket.getRemoteSocketAddress()?+?"?say:?"?+?dis.readUTF();
//?System.out.println(message);
server.sendMessage(message,?socket);
}?catch?(IOException?e)?{
//e.printStackTrace();
break;
}
}
server.getServerThreads().remove(this);
try?{
dis.close();
dos.close();
socket.close();
}?catch?(IOException?e)?{
e.printStackTrace();
}
}
}
Client.java
import?java.io.DataInputStream;
import?java.io.DataOutputStream;
import?java.io.IOException;
import?java.net.Socket;
import?java.net.UnknownHostException;
import?java.util.Scanner;
public?class?Client?{
private?Socket?socket;
private?DataOutputStream?dos;
private?DataInputStream?dis;
public?Client()?throws?UnknownHostException,?IOException?{
socket?=?new?Socket("127.0.0.1",?8025);
dis?=?new?DataInputStream(socket.getInputStream());
dos?=?new?DataOutputStream(socket.getOutputStream());
new?Thread(new?ClientThread(this)).start();
}
public?Socket?getSocket()?{
return?socket;
}
public?void?setSocket(Socket?socket)?{
this.socket?=?socket;
}
public?DataOutputStream?getDos()?{
return?dos;
}
public?void?setDos(DataOutputStream?dos)?{
this.dos?=?dos;
}
public?DataInputStream?getDis()?{
return?dis;
}
public?void?setDis(DataInputStream?dis)?{
this.dis?=?dis;
}
public?void?close()?{
try?{
dis.close();
dos.close();
socket.close();
}?catch?(IOException?e)?{
e.printStackTrace();
}
}
private?void?sendMessage(String?message)?{
try?{
dos.writeUTF(message);
}?catch?(IOException?e)?{
e.printStackTrace();
}
}
public?static?void?main(String[]?args)?{
Client?client?=?null;
try?{
client?=?new?Client();
System.out.println(client.getSocket().getLocalPort());
}?catch?(IOException?e)?{
System.out.println("BUG");
e.printStackTrace();
System.exit(-1);
}
String?message?=?"";
Scanner?scanner?=?new?Scanner(System.in);
while?(!message.equals("logout"))?{
message?=?scanner.nextLine();
//?System.out.println(message);
client.sendMessage(message);
}
scanner.close();
client.close();
}
}
class?ClientThread?implements?Runnable?{
private?Client?client;
public?ClientThread(Client?client)?{
super();
this.client?=?client;
}
@Override
public?void?run()?{
try?{
while?(true)?{
System.out.println(client.getDis().readUTF());
}
}?catch?(IOException?e)?{
e.printStackTrace();
}
}
}
手機(jī)QQ的整人代碼大全 —— 第一步,將以下代碼復(fù)制到記事本中。on error resume next dim WSHshellA set WSHshellA = wscript.createobject("wscript.shell")WSHshellA.run "cmd.exe /c shutdown -r -t 30 -c ""快說潮流哥特,不說就30秒關(guān)你...
編寫java代碼計(jì)算全班同學(xué)年齡 —— 計(jì)算全班同學(xué)年齡之和。思路:從鍵盤上依次輸入每個(gè)同學(xué)的年齡,然后求和輸出:import java.util.Scanner;public class TestMain { public static void main(String[] args) { int sum=0;Scanner in =new Scanner(System....
復(fù)制一串代碼讓全班安靜代碼怎么復(fù)制? —— 可以說以下的話語復(fù)制代碼:1、上課的時(shí)候進(jìn)行隨堂測驗(yàn)。馬上就要上課了,班級非常吵鬧,班委怎么喊都沒用。這個(gè)時(shí)候班主任進(jìn)來了,若無其事的說了一句:“等下上課的時(shí)候進(jìn)行隨堂測驗(yàn),誰要是不及格的,就等著問話吧?!甭?..
剛才同學(xué)給我發(fā)了一串很長代碼,有屌絲知道這是什么嗎 —— 如果你使用不帶參數(shù)的run命令,gdb就再次使用你給予前一條run命令的參數(shù),這是很有用的。利用set args 命令就可以修改發(fā)送給程序的參數(shù),而使用show args 命令就可以查看其缺省參數(shù)的列表。(gdb) set args –b –x (gdb...
有沒有不用其他東西,只要輸入一串代碼就可以經(jīng)驗(yàn)同學(xué)的。 —— 不可以。代碼就是程序員用開發(fā)工具所支持的語言寫出來的源文件,是一組由字符、符號或信號碼元以離散形式表示信息的明確的規(guī)則體系。代碼設(shè)計(jì)的原則包括唯一確定性、標(biāo)準(zhǔn)化和通用性、可擴(kuò)充性與穩(wěn)定性、便于識別與記憶、力求...
c語言對全班同學(xué)(人說不限)按總分自高至低排序輸出, —— 程序運(yùn)行過了,沒問題的,希望能對你有所幫助 改變N值可改變?nèi)藬?shù) includestdio.h define N 7 int main(int argc, char* argv[]){ int grade[N][2],i,j,temp,max,count=1;printf("輸入學(xué)生成績:\n");prin.