|
|
发表于 11-12-2007 03:12 PM
|
显示全部楼层
原帖由 tensaix2j 于 23-11-2007 04:48 PM 发表 
我就做副导师好了。。 :)
array 跟 pointer ,有着密切的关系,
但并不代表他们是一样。。
例子
1. unsigned char a[100];
2. unsigned char *a= (char *)malloc(100);
在这里,他们 ...
这里, array 又有个好玩的东西。。
char *s = "abcdefg" ;
这时,你应该知道, s[0] 就是 'a' , s[1] 就是 'b'.... 以此类推。。
同样的, 你 拿 *s , 就是 dereferencing 的意思, 就会拿到 'a' 这个character, 因为 s 现在 指着 它
你也可以用 pointer arithmetic 来 offset, 在 dereference 那就是 *(s+1), 这就拿到 ‘b’ 这个character
那么。。。 *(s+1) 其实也可以写成 *(1+s) 那么。。 array 的角度来看 就变成 1 。。。。
那么 s[0] == 0 , s[1]==1 .... 以此类推。
有趣吧。。 |
|
|
|
|
|
|
|
|
|
|
发表于 1-3-2008 09:52 AM
|
显示全部楼层
|
|
|
|
|
|
|
|
|
|
发表于 1-3-2008 11:20 PM
|
显示全部楼层
The application failed to initialize properly (0xc0000135). Click on OK to terminate the application.
或許我需要 update / reinstall 我的 .net framework....
或許做 java 或者 swf game 會比較容易發放.
[ 本帖最后由 flashang 于 5-3-2008 11:40 AM 编辑 ] |
|
|
|
|
|
|
|
|
|
|
发表于 2-3-2008 11:49 AM
|
显示全部楼层
=.="".......
但我只会C和C#的一点点而已。。
Java & flash 不是很会。。。
没关系。。我会继续努力的 |
|
|
|
|
|
|
|
|
|
|
发表于 5-3-2008 11:41 AM
|
显示全部楼层
原帖由 xFreaKx 于 1-3-2008 09:52 AM 发表 
小弟刚用C#写了个Tic Tac Toe..但觉得写得又长又啰嗦。。
想放上来献献丑...
沒有把 source code 放上來, 讓大家討論討論 ? |
|
|
|
|
|
|
|
|
|
|
发表于 6-3-2008 08:36 AM
|
显示全部楼层
我不知道要upload什么File嘛....这个是Form.cs...
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
namespace Tic_Tac_Toe
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void exitToolStripMenuItem_Click(object sender, EventArgs e)
{
this.Close();
}
private void newGameToolStripMenuItem_Click(object sender, EventArgs e)
{
score1 = 0;
score2 = 0;
label3.Text = Convert.ToString(score1);
label4.Text = Convert.ToString(score2);
radioButton1.Checked = true;
radioButton2.Checked = false;
button1.Text = " ";
button2.Text = " ";
button3.Text = " ";
button4.Text = " ";
button5.Text = " ";
button6.Text = " ";
button7.Text = " ";
button8.Text = " ";
button9.Text = " ";
button1.Enabled = true;
button2.Enabled = true;
button3.Enabled = true;
button4.Enabled = true;
button5.Enabled = true;
button6.Enabled = true;
button7.Enabled = true;
button8.Enabled = true;
button9.Enabled = true;
}
private void Form1_Load(object sender, EventArgs e)
{
}
public int PlayerTurns = 1;
public int score1 = 0;
public int score2 = 0;
public void NextPlayer()
{
PlayerTurns++;
if (PlayerTurns > 2)
PlayerTurns = 1;
switch (PlayerTurns)
{
case 1:
radioButton1.Checked = true;
radioButton2.Checked = false;
break;
case 2:
radioButton1.Checked = false;
radioButton2.Checked = true;
break;
}
}
public void WinStatus()
{
if (button1.Text == button2.Text&&button2.Text == button3.Text&&button3.Text != " " ||
button4.Text == button5.Text&&button5.Text == button6.Text&&button6.Text != " " ||
button7.Text == button8.Text&&button8.Text == button9.Text&&button9.Text != " " ||
button1.Text == button4.Text&&button4.Text == button7.Text&&button7.Text != " " ||
button2.Text == button5.Text&&button5.Text == button8.Text&&button8.Text != " " ||
button3.Text == button6.Text&&button6.Text == button9.Text&&button9.Text != " " ||
button3.Text == button5.Text&&button5.Text == button7.Text&&button7.Text != " " ||
button1.Text == button5.Text&&button5.Text == button9.Text&&button9.Text != " " )
{
if (PlayerTurns == 1)
{
MessageBox.Show("Player 1 Win!");
score1++;
label3.Text = Convert.ToString(score1);
}
else
{
MessageBox.Show("Player 2 Win!");
score2++;
label4.Text = Convert.ToString(score2);
}
button1.Text = " ";
button2.Text = " ";
button3.Text = " ";
button4.Text = " ";
button5.Text = " ";
button6.Text = " ";
button7.Text = " ";
button8.Text = " ";
button9.Text = " ";
button1.Enabled = true;
button2.Enabled = true;
button3.Enabled = true;
button4.Enabled = true;
button5.Enabled = true;
button6.Enabled = true;
button7.Enabled = true;
button8.Enabled = true;
button9.Enabled = true;
}
else if (button1.Text != " " && button2.Text != " " && button3.Text != " " &&
button4.Text != " " && button5.Text != " " && button6.Text != " " &&
button7.Text != " " && button8.Text != " " && button9.Text != " ")
{
MessageBox.Show("Draw!");
button1.Text = " ";
button2.Text = " ";
button3.Text = " ";
button4.Text = " ";
button5.Text = " ";
button6.Text = " ";
button7.Text = " ";
button8.Text = " ";
button9.Text = " ";
button1.Enabled = true;
button2.Enabled = true;
button3.Enabled = true;
button4.Enabled = true;
button5.Enabled = true;
button6.Enabled = true;
button7.Enabled = true;
button8.Enabled = true;
button9.Enabled = true;
}
}
private void button1_Click(object sender, EventArgs e)
{
switch (PlayerTurns)
{
case 1:
button1.Text="X";
break;
case 2:
button1.Text = "O";
break;
}
button1.Enabled = false;
WinStatus();
NextPlayer();
}
private void button2_Click(object sender, EventArgs e)
{
switch (PlayerTurns)
{
case 1:
button2.Text = "X";
break;
case 2:
button2.Text = "O";
break;
}
button2.Enabled = false;
WinStatus();
NextPlayer();
}
private void button3_Click(object sender, EventArgs e)
{
switch (PlayerTurns)
{
case 1:
button3.Text = "X";
break;
case 2:
button3.Text = "O";
break;
}
button3.Enabled = false;
WinStatus();
NextPlayer();
}
private void button4_Click(object sender, EventArgs e)
{
switch (PlayerTurns)
{
case 1:
button4.Text = "X";
break;
case 2:
button4.Text = "O";
break;
}
button4.Enabled = false;
WinStatus();
NextPlayer();
}
private void button5_Click(object sender, EventArgs e)
{
switch (PlayerTurns)
{
case 1:
button5.Text = "X";
break;
case 2:
button5.Text = "O";
break;
}
button5.Enabled = false;
WinStatus();
NextPlayer();
}
private void button6_Click(object sender, EventArgs e)
{
switch (PlayerTurns)
{
case 1:
button6.Text = "X";
break;
case 2:
button6.Text = "O";
break;
}
button6.Enabled = false;
WinStatus();
NextPlayer();
}
private void button7_Click(object sender, EventArgs e)
{
switch (PlayerTurns)
{
case 1:
button7.Text = "X";
break;
case 2:
button7.Text = "O";
break;
}
button7.Enabled = false;
WinStatus();
NextPlayer();
}
private void button8_Click(object sender, EventArgs e)
{
switch (PlayerTurns)
{
case 1:
button8.Text = "X";
break;
case 2:
button8.Text = "O";
break;
}
button8.Enabled = false;
WinStatus();
NextPlayer();
}
private void button9_Click(object sender, EventArgs e)
{
switch (PlayerTurns)
{
case 1:
button9.Text = "X";
break;
case 2:
button9.Text = "O";
break;
}
button9.Enabled = false;
WinStatus();
NextPlayer();
}
}
} |
|
|
|
|
|
|
|
|
|
|
发表于 6-3-2008 01:43 PM
|
显示全部楼层
原帖由 geekman 于 22-11-2007 06:41 PM 发表 
刚刚从头再看完所有的帖子,觉得或许我应该补充一些基本的概念,希望能够对刚学习电脑语言的朋友们有所帮助。
虽然我是学 C 出身的,后来为了进入 windows 的世界而自修了 C++,不过接下来所说的应该对各种语言都 ...
以前我也是想你那樣認為 char = 8 bits. short = 2 bytes, int = 4 bytes. 其實也要看編譯器和處理器的架構.
當然...你所說得在x86架構上是成立的。 |
|
|
|
|
|
|
|
|
|
|
发表于 15-3-2008 10:19 PM
|
显示全部楼层
原帖由 xFreaKx 于 6-3-2008 08:36 AM 发表 
我不知道要upload什么File嘛....这个是Form.cs...
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using S ...
刚刚看了一下,
有些建议:
1. 用 array 來取代 button1, button2, ...
static Button[] btn_arr = new Button[9];
否則下次做 minesweeper 豈不做到 button100, 101, ...
2. 用 array 來紀錄 x / o 而不是用 buttonx.Text = 'X'
這樣可以用其他的東西 ( 例如 image ) 來取代 button
3. 用可調整的判定
例如 int checkList[ 9 ] [3 ];
checkList[ 0 ] = new int [] { 1, 4, 7 };
checkList[ 1 ] = new int [] { 2, 5, 8 };
...
然後用 checkList[ i ] 中的三個位置來判定 board
這個方法也可以修改成簡單的 ai. |
|
|
|
|
|
|
|
|
|
|
发表于 16-3-2008 07:03 PM
|
显示全部楼层
哦。。想问下,如果我按NewGame,那么要如何让所有的Value恢复原来的?我这儿是重新设回所有的Value..
那个dispose()是如何用的? |
|
|
|
|
|
|
|
|
|
|
发表于 18-3-2008 02:09 AM
|
显示全部楼层
原帖由 xFreaKx 于 16-3-2008 07:03 PM 发表 
哦。。想问下,如果我按NewGame,那么要如何让所有的Value恢复原来的?我这儿是重新设回所有的Value..
那个dispose()是如何用的?
你不是有 newGameToolStripMenuItem_Click 了嗎 ? |
|
|
|
|
|
|
|
|
|
|
发表于 18-3-2008 10:57 AM
|
显示全部楼层
|
有,但是那个是Manual的把Value一个一个设回,我是想问问有没有什么办法可以直接reset回所有的value,就像刚刚启动程式酱的。。 |
|
|
|
|
|
|
|
|
|
|
发表于 18-3-2008 11:50 AM
|
显示全部楼层
原帖由 xFreaKx 于 18-3-2008 10:57 AM 发表 
有,但是那个是Manual的把Value一个一个设回,我是想问问有没有什么办法可以直接reset回所有的value,就像刚刚启动程式酱的。。
這樣的 programming 觀念是不對的.
程式剛啟動, 所有的 variables 都是 unknown 或者 null,
你如果不放入你需要的 value, 你確定程式會照你預定的方式執行 ? |
|
|
|
|
|
|
|
|
|
|
发表于 12-4-2008 10:38 AM
|
显示全部楼层
|
|
|
|
|
|
|
|
| |
本周最热论坛帖子
|