位置: IT常识 - 正文

Cursor——ChatGPT的替代品【笔记】(chattr i)

编辑:rootadmin
Cursor——ChatGPT的替代品【笔记】 Cursor——ChatGPT的替代品【笔记】前言推荐Cursor——ChatGPT的替代品下载登录使用高级另外最后前言

推荐整理分享Cursor——ChatGPT的替代品【笔记】(chattr i),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:chat position,chat position,chat position,chattr -u,chattr -u,chat position,chattr -u,chattr -u,内容如对您有帮助,希望把文章链接给更多的朋友!

2023-3-31 22:00:44

以下内容源自《笔记》 仅供学习交流使用

推荐

什么? 你还没用过 Cursor? 智能 AI 代码生成工具 Cursor 安装和使用介绍

Cursor AI IDE 开发者工具

【黑科技】任何人都可以白嫖最强AI!!!

Cursor——ChatGPT的替代品下载

官网下载Cursor

登录

点击设置 点击sign in

可以使用github账号登录

使用

先别打开任何文件,就可以回答问题了

如果回答的是英文,就它让用中文回答 它能回答,编程问题

Cursor——ChatGPT的替代品【笔记】(chattr i)

如何回答,变成以外的问题,请看后面

可以发现,它默认的是python代码

新建一个文件 main,java 输入文件名,敲回车 编写区,Ctrl+L 就写出的是java代码了 怎么让它问答一个编程以外的问题

新建一个hello.txt文件 然后写一个编程之外的问题

测试有可能不成功

提问:写一封情书 提问:西安邮电大学简介

高级

参考 Cursor AI IDE 开发者工具

以下是扫雷程序

import java.util.Scanner;public class Minesweeper { private int[][] grid; private boolean[][] revealed; private boolean[][] mines; private int rows; private int cols; private int numMines; public Minesweeper(int rows, int cols, int numMines) { this.rows = rows; this.cols = cols; this.numMines = numMines; grid = new int[rows][cols]; revealed = new boolean[rows][cols]; mines = new boolean[rows][cols]; placeMines(); calculateNumbers(); } private void placeMines() { int count = 0; while (count < numMines) { int row = (int) (Math.random() * rows); int col = (int) (Math.random() * cols); if (!mines[row][col]) { mines[row][col] = true; count++; } } } private void calculateNumbers() { for (int r = 0; r < rows; r++) { for (int c = 0; c < cols; c++) { grid[r][c] = countAdjacentMines(r, c); } } } public void reveal(int row, int col) { if (mines[row][col]) { gameOver(); return; } revealed[row][col] = true; if (grid[row][col] == 0) { for (int r = Math.max(0, row - 1); r <= Math.min(rows - 1, row + 1); r++) { for (int c = Math.max(0, col - 1); c <= Math.min(cols - 1, col + 1); c++) { if (!revealed[r][c]) { reveal(r, c); } } } } } private void gameOver() { System.out.println("Game over!"); System.exit(0); } public boolean isGameOver() { for (int r = 0; r < rows; r++) { for (int c = 0; c < cols; c++) { if (mines[r][c] && !revealed[r][c]) { return false; } if (!mines[r][c] && !revealed[r][c]) { return false; } } } return true; } // This method returns the number of adjacent mines for a given cell private int countAdjacentMines(int row, int col) { int count = 0; for (int r = Math.max(0, row - 1); r <= Math.min(rows - 1, row + 1); r++) { for (int c = Math.max(0, col - 1); c <= Math.min(cols - 1, col + 1); c++) { if (mines[r][c]) { count++; } } } return count; }// This method returns the current state of the game as a string // Each cell is represented by a single character // If the cell is not revealed, it is represented by '-' // If the cell is revealed and contains a mine, it is represented by '*' // If the cell is revealed and does not contain a mine, it is represented by the number of adjacent mines public String toString() { StringBuilder sb = new StringBuilder(); for (int r = 0; r < rows; r++) { for (int c = 0; c < cols; c++) { if (!revealed[r][c]) { sb.append("-"); } else if (mines[r][c]) { sb.append("*"); } else { sb.append(grid[r][c]); } } sb.append("\n"); } return sb.toString(); } // We need to add a main method to the Minesweeper class to continue the Minesweeper program // In the main method, we can create a new instance of the Minesweeper class and start the game // We can use a Scanner object to get input from the user and call the reveal method with the user's input // We can also use the isGameOver method to check if the game is over and end the game if necessary public static void main(String[] args) { Minesweeper game = new Minesweeper(10, 10, 10); Scanner scanner = new Scanner(System.in); while (!game.isGameOver()) { System.out.println(game.toString()); System.out.print("Enter row and column to reveal: "); int row = scanner.nextInt(); int col = scanner.nextInt(); game.reveal(row, col); } System.out.println(game.toString()); System.out.println("Game over!"); }}

运行结果

以下是GUI编写的扫雷程序

// Import necessary packages// The code provided does not contain any syntax errors that would prevent it from compiling. // If the user is experiencing compilation errors, they should check their Java environment and ensure that all necessary packages and dependencies are properly installed.import javax.swing.*;import java.awt.*;import java.awt.event.*;// Create a Minesweeper class that extends JFrame and implements ActionListenerpublic class Minesweeper extends JFrame implements ActionListener { // Declare necessary variables private Container contentPane; private JPanel gamePanel, buttonPanel; private JButton[][] buttons; private int[][] counts; private int size = 10; private int numMines = 10; // Create a constructor for the Minesweeper class public Minesweeper() { // Set the title of the JFrame setTitle("Minesweeper"); // Get the content pane of the JFrame contentPane = getContentPane(); // Set the layout of the content pane to BorderLayout contentPane.setLayout(new BorderLayout()); // Call the createGamePanel method to create the game panel createGamePanel(); // Call the createButtonPanel method to create the button panel createButtonPanel(); // Pack the JFrame pack(); // Set the JFrame to be visible setVisible(true); } // Create a method to create the game panel private void createGamePanel() { // Create a new JPanel for the game panel gamePanel = new JPanel(); // Set the layout of the game panel to GridLayout gamePanel.setLayout(new GridLayout(size, size)); // Create a new 2D array of JButtons for the buttons buttons = new JButton[size][size]; // Create a new 2D array of integers for the counts counts = new int[size][size]; // Initialize the buttons and counts arrays for (int i = 0; i < size; i++) { for (int j = 0; j < size; j++) { buttons[i][j] = new JButton(); buttons[i][j].addActionListener(this); gamePanel.add(buttons[i][j]); counts[i][j] = 0; } } // Add the game panel to the content pane contentPane.add(gamePanel, BorderLayout.CENTER); } // Create a method to create the button panel private void createButtonPanel() { // Create a new JPanel for the button panel buttonPanel = new JPanel(); // Set the layout// Set the layout of the button panel to FlowLayout buttonPanel.setLayout(new FlowLayout()); // Create a new JButton for the "New Game" button JButton newGameButton = new JButton("New Game"); // Add an ActionListener to the "New Game" button newGameButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { newGame(); } }); // Add the "New Game" button to the button panel buttonPanel.add(newGameButton); // Add the button panel to the content pane contentPane.add(buttonPanel, BorderLayout.SOUTH);// Create a new JButton for the "Reset" button JButton resetButton = new JButton("Reset"); // Add an ActionListener to the "Reset" button resetButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { reset(); } }); // Add the "Reset" button to the button panel buttonPanel.add(resetButton); // Add the button panel to the content pane contentPane.add(buttonPanel, BorderLayout.SOUTH); // Create a new JButton for the "Settings" button JButton settingsButton = new JButton("Settings"); // Add an ActionListener to the "Settings" button settingsButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { // Call the showSettingsDialog method to show the settings dialog showSettingsDialog(); } }); // Add the "Settings" button to the button panel buttonPanel.add(settingsButton); // Add the button panel to the content pane contentPane.add(buttonPanel, BorderLayout.SOUTH); } // Create a method to generate the mines and update the counts private void generateMines(int row, int col) { // Declare necessary variables int mines = 0; int i, j; // Generate the mines while (mines < numMines) { i = (int)(Math.random() * size); j = (int)(Math.random() * size); if (counts[i][j] != -1 && !(i == row && j == col)) { counts[i][j] = -1; mines++; } } // Update the counts for (i = 0; i < size; i++) { for (j = 0; j < size; j++) { if (counts[i][j] == -1) { updateCounts(i, j); } } } } // Create a method to update the counts private void updateCounts(int row, int col) { // Declare necessary variables int i, j; // Update the counts for (i = row - 1; i <= row + 1; i++) { for (j = col - 1; j <= col + 1; j++) { if (i >= 0 && i < size && j >= 0 && j < size && counts[i][j] != -1) { counts[i][j]++; } } } } // Create a method to reveal the button at the specified row and column private void reveal(int row, int col) { // Check if the button is already revealed or flagged if (buttons[row][col].getText().length() > 0) { return; } // Check if the button contains a mine if (counts[row][col] == -1) { // Reveal all the mines and end the game for (int i = 0; i < size; i++) { for (int j = 0; j < size; j++) { if (counts[i][j] == -1) { buttons[i][j].setText("*"); } } } JOptionPane.showMessageDialog(this, "You lose!"); newGame(); return; } // Reveal the button and check if the game is won // Reveal the button and check if the game is won buttons[row][col].setText(Integer.toString(counts[row][col])); if (checkWin()) { JOptionPane.showMessageDialog(this, "You win!"); newGame(); } } // Create a method to check if the game is won private boolean checkWin() { // Declare necessary variables int revealed = 0; // Check if all non-mine buttons are revealed for (int i = 0; i < size; i++) { for (int j = 0; j < size; j++) { if (buttons[i][j].getText().length() > 0 || counts[i][j] == -1) { revealed++; } } } if (revealed == size * size) { return true; } return false; } // Create a method to start a new game private void newGame() { // Reset the counts and buttons arrays counts = new int[size][size]; for (int i = 0; i < size; i++) { for (int j = 0; j < size; j++) { buttons[i][j].setText(""); counts[i][j] = 0; } } // Generate the mines and update the counts generateMines(-1, -1); } // Create a method to reset the game private void reset() { // Reset the counts and buttons arrays for (int i = 0; i < size; i++) { for (int j = 0; j < size; j++) { buttons[i][j].setText(""); counts[i][j] = 0; } } } private void showSettingsDialog() { // Declare necessary variables JTextField sizeField = new JTextField(Integer.toString(size)); JTextField numMinesField = new JTextField(Integer.toString(numMines)); Object[] message = { "Size:", sizeField, "Number of Mines:", numMinesField }; // Show the settings dialog and update the settings int option = JOptionPane.showConfirmDialog(this, message, "Settings", JOptionPane.OK_CANCEL_OPTION); if (option == JOptionPane.OK_OPTION) { try { int newSize = Integer.parseInt(sizeField.getText()); int newNumMines = Integer.parseInt(numMinesField.getText()); if (newSize > 0 && newSize <= 30 && newNumMines >= 0 && newNumMines < newSize * newSize) { size = newSize; numMines = newNumMines; newGame(); } else { JOptionPane.showMessageDialog(this, "Invalid input!"); } } catch (NumberFormatException e) { JOptionPane.showMessageDialog(this, "Invalid input!"); } } } // Create an actionPerformed method to handle button clicks public void actionPerformed(ActionEvent e) { // Get the button that was clicked JButton button = (JButton)e.getSource(); // Find the row and column of the button int row = -1, col = -1; for (int i = 0; i < size; i++) { for (int j = 0; j < size; j++) { if (buttons[i][j] == button) { row = i; col = j; break; } } } // Call the reveal method to reveal the button reveal(row, col); } // Create a main method to create a new Minesweeper object public static void main(String[] args) { new Minesweeper(); } // Create a method to flag the button at the specified row and column private void flag(int row, int col) { // Check if the button is already revealed if (buttons[row][col].getText().length() > 0) { return; } // Check if the button is already flagged if (buttons[row][col].getText().equals("F")) { buttons[row][col].setText(""); return; } // Flag the button buttons[row][col].setText("F"); } // Create a method to handle right-clicks on buttons private void handleRightClick(MouseEvent e) { // Get the button that was clicked JButton button = (JButton)e.getSource(); // Find the row and column of the button int row = -1, col = -1; for (int i = 0; i < size; i++) { for (int j = 0; j < size; j++) { if (buttons[i][j] == button) { row = i; col = j; break; } } } // Call the flag method to flag the button flag(row, col); } // Override the mousePressed method to handle right-clicks on buttons public void mousePressed(MouseEvent e) { if (SwingUtilities.isRightMouseButton(e)) { handleRightClick(e); } } // Create a method to handle keyboard events public void keyPressed(KeyEvent e) { // Check if the "r" key is pressed if (e.getKeyCode() == KeyEvent.VK_R) { reset(); } // Check if the "n" key is pressed if (e.getKeyCode() == KeyEvent.VK_N) { newGame(); } // Check if the "s" key is pressed if (e.getKeyCode() == KeyEvent.VK_S) { showSettingsDialog(); } } // Create a method to initialize the game private void initGame() { // Set the size and number of mines size = 10; numMines = 10; // Create the counts and buttons arrays counts = new int[size][size]; buttons = new JButton[size][size]; // Create the game panel gamePanel = new JPanel(); gamePanel.setLayout(new GridLayout(size, size)); // Create the buttons and add them to the game panel for (int i = 0; i < size; i++) { for (int j = 0; j < size; j++) { buttons[i][j] = new JButton(); buttons[i][j].addActionListener(this); buttons[i][j].addMouseListener(new MouseAdapter() { public void mousePressed(MouseEvent e) { if (SwingUtilities.isRightMouseButton(e)) { handleRightClick(e); } } }); gamePanel.add(buttons[i][j]); } } // Add the game panel to the content pane contentPane.add(gamePanel, BorderLayout.CENTER); // Create the button panel createButtonPanel(); // Generate the mines and update the counts generateMines(-1, -1); }}

运行结果

另外

VSCode软件插件Chatmoss,也可以体验,但是好像有额度。

以下是GUI的扫雷程序

最后

2023-3-31 22:43:31

祝大家逢考必过 点赞收藏关注哦

本文链接地址:https://www.jiuchutong.com/zhishi/299706.html 转载请保留说明!

上一篇:CV:计算机视觉技最强学习路线之CV简介(传统视觉技术/相关概念)、早期/中期/近期应用领域(偏具体应用)、经典CNN架构(偏具体算法)概述、常用工具/库/框架/产品、环境安装、常用数据集、编程技巧(cv计算机视觉定义)

下一篇:Selenium.Webdriver最新语法教程(附Chrome实例演示)

  • 微信机器人怎么弄的(微信机器人怎么离婚)

    微信机器人怎么弄的(微信机器人怎么离婚)

  • p30充电发热(华为p30充电特别热)

    p30充电发热(华为p30充电特别热)

  • 收款二维码怎么改名字(收款二维码怎么添加店员)

    收款二维码怎么改名字(收款二维码怎么添加店员)

  • 苹果xr锁屏密码忘了怎么才能解锁(苹果xr锁屏密码修改)

    苹果xr锁屏密码忘了怎么才能解锁(苹果xr锁屏密码修改)

  • 荣耀yoyo怎么唤醒(华为荣耀的yoyo怎么设置)

    荣耀yoyo怎么唤醒(华为荣耀的yoyo怎么设置)

  • 钉钉直播可以看回放吗(钉钉直播可以看到谁点赞吗)

    钉钉直播可以看回放吗(钉钉直播可以看到谁点赞吗)

  • 声卡闪避是什么意思(声卡闪避是什么用)

    声卡闪避是什么意思(声卡闪避是什么用)

  • 微信交错手机费怎么才能追回(微信交错手机费怎么能退回来)

    微信交错手机费怎么才能追回(微信交错手机费怎么能退回来)

  • 华为手表怎么连接微信(华为手表怎么连接荣耀手机)

    华为手表怎么连接微信(华为手表怎么连接荣耀手机)

  • cr2430 与 cr2032区别(cr2430 与 cr2032大小一样吗?)

    cr2430 与 cr2032区别(cr2430 与 cr2032大小一样吗?)

  • 快手通过发现添加是什么意思(快手通过发现添加怎么关闭)

    快手通过发现添加是什么意思(快手通过发现添加怎么关闭)

  • che-tl00是什么型号(cheal00是什么型号)

    che-tl00是什么型号(cheal00是什么型号)

  • 华为mha-al00是什么型号手机(华为mha-al00是什么型号)

    华为mha-al00是什么型号手机(华为mha-al00是什么型号)

  • 微信自动清理图片怎么关闭(微信自动清理图片文档怎么关闭)

    微信自动清理图片怎么关闭(微信自动清理图片文档怎么关闭)

  • 苹果a1699自带内存多大(苹果a1465内存)

    苹果a1699自带内存多大(苹果a1465内存)

  • vivo怎么关闭屏幕旋转(vivo怎么关闭屏幕补光)

    vivo怎么关闭屏幕旋转(vivo怎么关闭屏幕补光)

  • 苹果手机微信语音通话怎么录音(苹果手机微信语音听筒怎么切换)

    苹果手机微信语音通话怎么录音(苹果手机微信语音听筒怎么切换)

  • 电脑开机登录密码忘了(电脑开机登录密码后一直转圈)

    电脑开机登录密码忘了(电脑开机登录密码后一直转圈)

  • 路由器没开关怎么重启(路由器没开关怎么关闭)

    路由器没开关怎么重启(路由器没开关怎么关闭)

  • 滴滴被永久封号怎么办(滴滴被永久封号换个手机号可以吗)

    滴滴被永久封号怎么办(滴滴被永久封号换个手机号可以吗)

  • 荣耀10超级快充是多少w(荣耀10超级快充怎么启动)

    荣耀10超级快充是多少w(荣耀10超级快充怎么启动)

  • intmain和main的区别(intmain与main)

    intmain和main的区别(intmain与main)

  • hw叠加层开还是不开(hw叠加层对于游戏)

    hw叠加层开还是不开(hw叠加层对于游戏)

  • facetime激活出错(FaceTime激活出错请再试一次)

    facetime激活出错(FaceTime激活出错请再试一次)

  • 应交所得税的计税基础
  • 车辆购置税的税率是多少
  • 递延所得税资产和递延所得税负债
  • 定金冲抵货款怎么做分录
  • 报表净利润是亏损可弥补数吗
  • 价税分离合同印花税的计税依据怎么算
  • 电子发票错误怎么重开
  • 合并报表营业收入怎么算出来的
  • 跨境电商的钱怎么到账
  • 流动负债是总负债吗
  • 实物投资没有发票咋办
  • 核定征收是每个月都要交税吗
  • 公司的基建部门是做什么的
  • 注册资本需要
  • 税控技术服务费每年都可以抵扣吗
  • 收到的专票都必须开吗
  • 营改增后,企业购进自用小轿车增值税
  • 小规模劳务公司税率是多少
  • 出纳应做到
  • 1697510660
  • 腾讯电脑管家下载
  • 餐费专用发票怎么抵扣
  • 期间损益结转有余额
  • 销售折扣的会计分录处理
  • 预提费用的对应科目
  • abstract php
  • 权限控制的原则是什么
  • 企业未实际出资
  • 银行代收费收入是什么意思
  • 单位和个人交付的区别
  • 完美解决显卡利用率低
  • 库存股属于什么会计科目
  • php curl_exec
  • js数组entries
  • element ui table
  • php乱码解密
  • php 包含
  • laravel 实例
  • 行政事业性收费是什么意思
  • 电子商业汇票线下清算流程
  • 接受捐赠收入要交企业所得税吗
  • 未使用的固定资产计提折旧应当计入
  • mongodb自增主键
  • 登记注册车辆登记英语
  • 应收账款占比是什么
  • 建筑公司增值税专用发票税率是多少
  • 汇兑损益可能被确认为
  • 同一控制下企业合并
  • sqlserver验证方式
  • 所得税汇算清缴退税会计分录怎么做
  • 消防工程公司的成本包括哪些
  • 工程项目需要交5000万保证金合理吗
  • 什么是电子银行服务
  • 年报资本负债表怎么看
  • 预付账款年底怎么调账
  • 工程物资属于什么科目资产负债表
  • 增值税发票打印机怎么调整打印位置
  • 车船税开在备注栏相关文件
  • 开票金额大于付款金额 多余部分为返点
  • 备查账包括哪些
  • freebsd操作命令
  • 如何延长mac待机时间
  • win7系统点击计算机图标未响应
  • win8怎么删除输入法
  • win7系统IE浏览器一点就闪退
  • 嵌入js
  • cocos2dx 2.2.2
  • python 变参
  • Fast TileMap
  • css渐变文本效果在哪
  • 安卓优化清理大师怎么样
  • jqueryw3c
  • Python 常用库
  • jquery动态设置div高度
  • python中对文件操作的一般步骤
  • jQuery+ajax实现实用的点赞插件代码
  • 个人所得税完税证明在哪里查询
  • 注册资金实缴证明怎么出
  • 地方税务局受谁领导
  • 湖北省电子税务局
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设