《尝试使用ChatGPT最强竞品Claude来开发五子棋|征稿活动V6》

我正在参加 Cocos 征稿活动
有奖征文丨Cocos 第 6 期社区征稿正式开启,AIGC + Cocos 能碰撞出哪些火花?

ChatGPT4是要收费的,这里我给大家带来个免费的,听说中文支持性挺好的另一款产品Claude。

在此先向Claude提个问题“AIGC + Cocos 能碰撞出哪些火花”,下面是Claude的回答:


回答的还是可以凑合的 :smile:

接下来用它来开发款五子棋试下:

好像不是太智能 :sweat_smile:,接下来尝试纠正一下

给出了一些代码,但代码还是没法直接拿来就可以用,再调教一下


稍微完整了些,但给出的代码里有些直接偷懒省略号了,而且也没有类名啥的 :sweat_smile:
image

这就比GPT4差了不少(论坛里大佬用GPT4能提供3.x版本的代码),难怪这个免费用 :joy:

经过一番折腾,没法通过简单几句话,让其生成可以直接运行游戏。
必需要针对机器人没写好的代码,更细小的划分下去


image
image

代码稍微像样了许多

但这里Game类里checkWin方法是用省略号带过了,这里再纠正下:



image

然后中间再经过了一番调教,我想偷懒让其直接生成完整的可运行代码,结果它给出的代码还是不能直接拿来用,总是会丢东落西的 :sweat:,这里图片太长不好截取,直接贴它给出的代码


ts
// Game scene
const scene = new Scene();

// Create game
const game = scene.addComponent(Game);

// Run scene
Director.runScene(Scene.create(scene));

// Game
@ccclass
class Game extends Component {
@property([Button])
startBtn: Button[] = [];

@property([Button])
restartBtn: Button[] = [];

@property([Sprite])
winBox: Sprite[] = [];

@property([Slider])
aiSlider: Slider[] = [];

// …

onLoad() {
// Bind board
this.board = this.node.addComponent(Board);
this.board.pieces = this.pieces;

// Bind AI
this.ai = this.node.addComponent(AIPlayer);
this.ai.level = this.aiSlider[0].value;

// Bind signals
this.startBtn[0].node.on(Button.EventType.CLICK, this.start, this);
this.restartBtn[0].node.on(Button.EventType.CLICK, this.restart, this);     

}

start() {
this.state = State.RUNNING;
this.ai.move();
}

restart() {
this.state = State.START;
this.board.restart();
}

checkWin(x, y) {
// …
}
}

// Board
@ccclass
class Board extends Component {
@property([Sprite])
pieces: Sprite[] = [];

restart() {

}
}

// AI player
@ccclass
class AIPlayer extends Component {
@property([Slider])
aiSlider: Slider[] = [];

move() {

}
}

总体用下来,我的感觉是还不够智能,只能针对一些细节的点来让它提供方案。
最后,我直接让它自己总结下用它写代码的优劣势: