花了將近兩個星期終於完成了。由於對網路程式的部份比較不熟悉,一度覺得應該寫不出來了,好在,終於完成了,雖然還有很多地方不是寫的很完美。
程式下載區
為了讓遊戲畫面生動一點,所以就把我最喜歡的小丸子給加了進來。遊戲一進入時,就可以為自己選一個角色。最後那一張帥哥當然不是我,是我可愛的學弟,測試員獨享的權利。選完角色後,可以從遊戲選單選擇要當Server還是Client。
當兩方都連線時,即可看見對方所選的角色,如下圖。按兩下可以翻開棋子,移動或吃棋子只要先點一下自己再點目的地即可。最下面會顯示所吃掉對方的棋子。
每次寫程式都有個大毛病,就是邊寫邊想邊改。明明知道這是很沒效率的,應該要一開始先拿紙筆好好規畫後,再動筆。所以,每次看到自己寫的程式碼,真的是難看死了。
上次的踩地雷和這次的暗棋都是自己胡亂寫的,接下來就要開始好好研讀之前買的兩本遊戲設計的書,看可不可以寫出漂亮的程式囉~~~
2008年3月16日 星期日
小丸子之暗棋連線 (Java版)
訂閱:
張貼留言 (Atom)
4 意見:
大大你好...
我最近也是在寫有關暗棋的一些java程式..
我有點問題可以請教你嗎?...
說請教實在是不敢當,因為我的暗棋連線寫的很粗糙。
有問題可以一起討論討論阿~~
我是想請問阿...
就是我現在遇到兩個問題...
第一我的要怎麼樣去分辨我棋子的顏色.還有大小之分...
以下是我所寫的程式...
public boolean mouseDown(Event evt, int x, int y)
{
int i,j,k,l,z,c;
message = "Mouse_Click_Position: ("+x+","+y+")";
i=(x-98)/62;
j=(y-81)/62;
if(i>=0 && i<8 && j>=0 && j<4) {
op=op+1;
}
else {
op=0;
}
if(op==1) { //選取第一下
si=i;
sj=j;
}
if(op==2) { //選取第二下所做的判斷
if(A[si][sj]==0) {
if(i==si && j==sj) {
mode=1;
}
else {
mode=0;
}
}
else {
k=Math.abs(i-si);
l=Math.abs(j-sj);
k=k+l;
if(k==1 && A[si][sj]==1) {
mode=2;
}
else {
mode=0;
}
}
}
if(op==2) {
switch(mode)
{
case 1: //翻棋子
A[i][j]=1;
repaint();
op=0;
break;
case 2: //吃or移動
if(A[i][j]==1){
if(B[si][sj]==-1){
op=0;
break;
}
else{
A[i][j]=1;
B[i][j]=B[si][sj];
B[si][sj]=-1;
repaint();
op=0;
break;
}
}
else{
op=0;
break;
}
case 0:
op=0;
break;
}
}
return true;
}
這是我mousedown的地方...
比大小的話,我的寫法是每個棋子都是一個物件,屬性就會有顏色,很容易就可以得知。
至於大小的話,就要自己先建立好規則阿。
張貼留言