1. 程式人生 > >Java課程設計之你畫我猜

Java課程設計之你畫我猜

這幾天要做資料結構的課程設計,寫了幾天終於完成,雖然有很多不足之處,但勉強完成了。過後感覺從大一到現在寫過許多項

目,是該總結一下那些年的課程設計了。

  大一做的課程設計是“你畫我猜”,那時候修修改改,前後用了一個月的時間,資料庫方面是凡神做的,最後的成績還不錯。下面總

一下經驗和相關的算法:

  1.“你畫我猜”的關鍵是畫板的實現和畫面的傳輸。畫板的實現演算法思想是:Java提供了滑鼠事件MouseListener和

MouseMotionListener,利用這兩個監聽器可以實現拖動滑鼠畫出曲線,首先定義一個點的類,即Point類,滑鼠拖動一段可以看成無

的點,因為點動成線,而把這些點放到一個ArrayList中,

寫一個paint方法,把這些點都取出來,每兩個點之間畫線即可,這樣很

多點畫線後就出現了曲線。需要注意的是:每個點要有一個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基本環境配置