Java課程設計之你畫我猜
這幾天要做資料結構的課程設計,寫了幾天終於完成,雖然有很多不足之處,但勉強完成了。過後感覺從大一到現在寫過許多項
目,是該總結一下那些年的課程設計了。
大一做的課程設計是“你畫我猜”,那時候修修改改,前後用了一個月的時間,資料庫方面是凡神做的,最後的成績還不錯。下面總
結一下經驗和相關的算法:
1.“你畫我猜”的關鍵是畫板的實現和畫面的傳輸。畫板的實現演算法思想是:Java提供了滑鼠事件MouseListener和
MouseMotionListener,利用這兩個監聽器可以實現拖動滑鼠畫出曲線,首先定義一個點的類,即Point類,滑鼠拖動一段可以看成無
數的點,因為點動成線,而把這些點放到一個ArrayList中,
多點畫線後就出現了曲線。需要注意的是:每個點要有一個boolean型的變數,記錄這個點是滑鼠的擡起還是按下,如果沒有這個變
量,那麼就會出現你畫的兩筆之間是相連的,因此要用這個boolean變數判斷一下,決定相鄰的兩個點之間是否畫線。畫板的橡皮、
粗細這些操作的實現比較簡單,不再陳述。畫面傳輸的問題比較棘手,剛開始的時候我想著是實時地傳圖,但最後失敗了,最後選
擇了傳點過去,也就是每畫一筆時,再將點放到ArrayList中時都實時地傳過去,這樣就可以實現圖畫的實時變化。 具體的實現是:
Point po1 = new Point(e.getPoint().x,e.getPoint().y,true,co,n,1); //new一個點的物件
list.add(po1); //將點新增到ArrayList中
PointNewMsg msg = new PointNewMsg(id,po1,clear,cancel); //new一個點的資訊物件
tc.nc.send(msg); //將這個點發過去
repaint(); //重畫面版
對於資訊的傳送和傳輸,建議看一下尚學堂馬士兵的 尚學堂科技_馬士兵_線上聊天系統雛形視訊教程、尚學堂科技_馬士兵_坦克大
戰視訊教程,都非常好,而且在寫別的專案時會用到其中的很多東西。
2.資料庫方面。因為“你畫我猜”需要題目的存取,因此需要資料庫,當然也可以把題目放在一個檔案中,當這樣顯得系統性不強。數
據庫方面的問題比較簡單,需要注意URL的寫法,如:
String url = "jdbc:mysql://localhost/accout?user=root&password=123&useUnicode=true&characterEncoding=gbk";
這裡的user和password要寫你的使用者名稱和密碼。
下面是截圖:
這是第一次做一個完整的系統,雖說還有許多不足之處,但自己的能力自己有了一定認識,其實每個人都是一樣的,只要想做就一
定能做出來。當然也體會到:羅馬果然不是一日建成的。
補充:
最近許多同學問我要原始碼,今天看了一下大一時做的專案,果然慘不忍睹。看了下專案,主介面是NHWC.java,伺服器類是NHWCserver.java,
其他的看名字應該知道是什麼,結合上面的講解相信對你的專案有些幫助,匯入後會因為資料庫問題報錯,但最主要的還是提供編碼參考,不建議直接
使用。現附上原始碼下載地址:
百度雲盤: https://pan.baidu.com/s/1dEPit6x
CSDN:http://download.csdn.net/download/u014267402/9690944
相關推薦
Java課程設計之你畫我猜
這幾天要做資料結構的課程設計,寫了幾天終於完成,雖然有很多不足之處,但勉強完成了。過後感覺從大一到現在寫過許多項 目,是該總結一下那些年的課程設計了。 大一做的課程設計是“你畫我猜”,那時候修修改改,前後用了一個月的時間,資料庫方面是凡神做的,最後的成績還不錯。下面總
Java小程式之你畫我猜
package com.huaxin.client; import java.awt.BasicStroke; import java.awt.BorderLayout; import java.awt.Color; import java.awt.Dimension; import java.awt.Gr
你畫我猜核心功能實現 Android客戶端+Java服務端
本篇文章是我以前寫的一篇文章的改版,上一篇文章已刪除,因為以前的部落格有的朋友說執行不起來,我現在想起來所以重新修改了以下程式碼,因為我這測試機就兩個,只能測試一個繪製者和一個觀看者。下面上程式碼,首先是我們的Android客戶端------------------
你畫我猜題目庫
之前在電腦上玩過線上的你畫我猜,感覺很有意思。正好我們部門迭代會之後都會玩個小遊戲,於是我組織了一個線下的你畫大家猜,效果還不錯。 由於線下不同線上的特點我對規則重新制定了一下,規則可以是靈活多變的,大家都認同玩的開心就好。 再下面就是遊戲的題目庫了,這些題目都是我收集的,看到這些
canvas+websocket+vue做一個你畫我猜小遊戲
做這個主要是學習使用一下canvas和websocket,專案地址。 你畫我猜大家應該都玩過,一個人畫,其他人猜。現在剛剛實現了最基本的功能,以後還會慢慢修改的。 完成進度 登入,登入後username儲存到了sessionStorage中。 座位,登入後
【JAVA 課程設計 之 萬年曆】
距離2017年還有30多個小時~轉眼間2016只剩一個尾巴了,大學生活也過了快一半了,自己卻依舊那麼笨手笨腳,不會的知識永遠那麼多,該看的書永遠沒機會去看,2017願一切如昨天抽的籤: 遠方不一定有詩,但有更好的自己~明天你好,請多關照~ 2017希望我的家人
React+Nodejs+Socket+Webpack版你畫我猜
React版我畫你猜 之前有看到過一個Vue版本的 我畫你猜 然後用 React 也做了一個。技術棧:React + Nodejs + Socket.io + Webpack + Less 先上
騰訊雲搭建多終端《你畫我猜》Socket伺服器
結合一個小demo,分享如何用騰訊雲的Socket伺服器代理各種socket請求,實現低延遲,和不同端之間的互動 作者:金朝麟 文章出處:騰雲閣文章 ---------------------------------------------------- 專案概述
使用websocket實現“你畫我猜”
1,環境配置(nodejs) 檔案結構: package.json: { "name": "websocket", "version": "1.0.0", "description": "", "main": "index.js", "scrip
谷歌AI版“你畫我猜”背後是什麼樣的原理?
我們先看看這個小程式是什麼,開啟微信小程式搜尋頁面,搜尋“猜畫小歌”,開啟這個小程式,點選開始作
你畫我猜---websocket
前段時間接觸了websocket,具體的就不介紹了,他就是與後臺建立長連線,完成資訊的傳送與接受,有興趣看我之前的blog或者google一下!之前完成了單聊與多聊的功能,分別實用tomcat7和to
用 Java 做個“你畫手機猜”的小遊戲
> 本文適合有 Java 基礎的人群 ![](https://img2020.cnblogs.com/blog/759200/202009/759200-20200923184426141-1352914100.gif) 作者:**DJL-Lanking** HelloGitHub 推出的[《講
java課程設計團隊(搜索引擎)
plc 簡介 mpi hasclass findall image doc style agen JAVA課程設計 基於學院網站的搜索引擎 對學院網站進行抓取、建索(需要中文分詞)、排序(可選)、搜索、摘要顯示。可以是GUI界面,也可以是Web界面。 一、團隊介紹 學
201621123063《JAVA課程設計報告》
元素 markdown 程序 pan 針對 任務 通過 remove 情況 一、需求分析 完成一個單機版的購物車 (1)先建立一個文本文件,定義出自己想要的商品。以商品編號;商品名稱;商品品牌;價格作為文件的內容,中間要求用分號或者分割 (2)編寫程序,定義一個商品類,文件
Java課程設計
產品 復制粘貼 window als 得到 -m bubuko 題目 研究 Java課程設計 一、題目介紹 計算器模擬程序(2人)得分系數:D 功能要求:仿照Windows計算器,編寫一具有GUI的計算器,能實現整數的加、減、乘、除四則運算,並且需要支持鍵盤快捷鍵,基本可取
java課程設計(學生信息管理系統)
gen 圖片 false 出生日期 resizable cnblogs orm size gin 1.需求分析 功能要求: 1)需要管理的學生信息有:學號、姓名、性別、出生日期、政治面貌、家庭住址、電話、宿舍號。 2)實現查詢、增、刪、改等功能。 數據存儲:數據庫或文件。
Notes 20180507 : Java程序設計之環境搭建與HelloWord
用戶 html 自己的 notes 添加 版本 devel demo 單選 3 HelloWorld 不管從事什麽工作那麽一個工作環境總是必不可少的,那怕你只是要寫篇文章,一張平坦的書桌和流利的書寫筆總是能幫助我們完成工作的,Java開發更是如此。在開始今天的He
Java課程設計---安裝Mysql及管理工具
需要 編碼 tps ref target 管理工具 技術分享 span blank 1、安裝mysql 沒有安裝包的可以在這個地址下載:https://dev.mysql.com/downloads/mysql/5.5.html 雙擊提供的安裝包
Java課程設計---Eclipse基本環境配置
bubuko splay height margin width src nbsp eclips 技術 1、設置eclipse編碼 2、設置提示 Java課程設計---Eclipse基本環境配置