椎蓠
求助求助,关于gameboard
展开Biu

求助一下

我现在在制作一个游戏,是一个8*8的棋盘

然后我用clickonboard让它实现我在棋盘上的某一格点一下,CMD里就会显示我点的是哪行哪列

那我需要在我点的地方留下一个红色圈圈,应该怎么做呢?

这是部分代码:

def rowColumnConversion(x,y):

print('Row:', math.ceil(y*10), 'Column:', math.floor(x*10+1))

def player_1(x, y):

texturtle.goto(x,y)

def player_2(x, y):

texturtle.goto(x,y)

def gameplay(INITX, INITY, CELLDIM, GRIDTEXT, texturtle, Game):

#这是画红圈圈的function

Game.shape("circle")

Game.shapesize(1,1)

Game.color("red")

[查看全文]
星瞳月眸
求推荐
展开Biu

本人是计算机专业的新生,感觉除了数据库适合本人外,编程什么的太复杂了,不是道各位高手能不能推荐几本数据库学习方面有用的书籍,或者讲一讲你们学习编代码时的经验也好,谢谢了

[查看全文]
纯净物
求助_(:з」∠)_关于简问题单的计算器的连续运算
展开Biu

现在的状况就是可以简单运算,但是连续那种,比如1+3-2这种就不行,只能实现两位数的四则运算_(:з」∠)_是需要创建个变量来存储sum1 的值么?还是怎么OJZ

求帮助……

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Text;

using System.Windows.Forms;

namespace calculator

{

public partial class Form1 : Form

{

public Form1()

{

InitializeComponent();

}

bool operatorFlag = false;

public void InputNumber(string number1)

{

if (tBanswer.Text == "0")

{

tBanswer.Text = "";

}

tBanswer.Text = tBanswer.Text + number1;

}

private void Form1_Load(object sender, EventArgs e)

{

}

private void bonDec_Click(object sender, EventArgs e)

{

if (tBanswer.Text.IndexOf(".") == -1)

InputNumber(".");

}

private void bon00_Click(object sender, EventArgs e)

{

InputNumber("0");

}

private void bon01_Click(object sender, EventArgs e)

{

InputNumber("1");

}

private void bon02_Click(object sender, EventArgs e)

{

InputNumber("2");

}

private void bon03_Click(object sender, EventArgs e)

{

InputNumber("3");

}

private void bon04_Click(object sender, EventArgs e)

{

InputNumber("4");

}

private void bon05_Click(object sender, EventArgs e)

{

InputNumber("5");

}

private void bon06_Click(object sender, EventArgs e)

{

InputNumber("6");

}

private void bon07_Click(object sender, EventArgs e)

{

InputNumber("7");

}

private void bon08_Click(object sender, EventArgs e)

{

InputNumber("8");

}

private void bon09_Click(object sender, EventArgs e)

{

InputNumber("9");

}

public static string numbersaved;

public static string signsaved;

public void SaveInputed(string num1, string sign1)

{

if (num1 == "0" | num1 == "") return;

numbersaved = num1;

signsaved = sign1;

tBanswer.Text = "0";

}

private void bonAdd_Click(object sender, EventArgs e)

{

SaveInputed(tBanswer.Text, "加");

}

private void bonSub_Click(object sender, EventArgs e)

{

SaveInputed(tBanswer.Text, "减");

}

private void bonMul_Click(object sender, EventArgs e)

{

SaveInputed(tBanswer.Text, "乘");

}

private void bonDiv_Click(object sender, EventArgs e)

{

SaveInputed(tBanswer.Text, "除");

}

private void bonEqula_Click(object sender, EventArgs e)

{

string numbernow = tBanswer.Text;

if (signsaved == "" | numbersaved == "" | numbernow == "" | numbernow == "0") return;

tBanswer.Text = Calcuration(numbersaved, signsaved, numbernow);

signsaved = "";

numbersaved = "";

}

public string Calcuration(string num1, string sign1, string num2)

{

float number1, number2, sum1 = 0, result=0;

try

{

number1 = (float)(Double.Parse(num1));

number2 = (float)(Double.Parse(num2));

if (sign1 == "加")

{

sum1 = number1 + number2;

}

if (sign1 == "减")

{

sum1 = number1 - number2;

}

if (sign1 == "乘")

{

sum1 = number1 * number2;

}

if (sign1 == "除")

{

sum1 = number1 / number2;

}

return result.ToString();

}

catch

{

return "";

}

}

private void bonC_Click(object sender, EventArgs e)

{

tBanswer.Text = "0";

numbersaved = "";

signsaved = "";

}

}

}

[查看全文]
樱花流逝
关于recv()函数的疑问
展开Biu

在网上查了一下,关于recv()的解释大致是这样的:

int recv( SOCKET s, char FAR *buf, int len, int flags );

不论是客户端还是服务器端应用程序都用recv函数从TCP连接的另一端接收数据。

该函数的:

第一个参数指定接收端套接字描述符;

第二个参数指明一个缓冲区,该缓冲区用来存放recv函数接收到的数据;

第三个参数指明buf的长度;

第四个参数一般置0。

这里只描述同步Socket的recv函数的执行流程。当应用程序调用recv函数时,recv先等待s的发送缓冲 中的数据被协议传送完毕,如果协议在传送s的发送缓冲中的数据时出现网络错误,那么recv函数返回SOCKET_ERROR,如果s的发送缓冲中没有数 据或者数据被协议成功发送完毕后,recv先检查套接字s的接收缓冲区,如果s接收缓冲区中没有数据或者协议正在接收数据,那么recv就一直等待,只到 协议把数据接收完毕。当协议把数据接收完毕,recv函数就把s的接收缓冲中的数据copy到buf中(注意协议接收到的数据可能大于buf的长度,所以 在这种情况下要调用几次recv函数才能把s的接收缓冲中的数据copy完。recv函数仅仅是copy数据,真正的接收数据是协议来完成的),recv函数返回其实际copy的字节数。如果recv在copy时出错,那么它返回SOCKET_ERROR;如果recv函数在等待协议接收数据时网络中断了,那么它返回0。

但是这里只提到了接受缓冲区的数据大于buf的长度的情况,那如果接受缓冲区的数据比buf的长度短会怎样?是直接返回还是一直等待直到buf被填满?

[查看全文]
Just-Diver
有木有嵌入式大神~~
展开Biu

小弟刚上班俩月,入行嵌入式,正在制作U-Boot命令,对于设计软件的思路还不是很顺畅,经常会漏掉需要考虑的东西,能不能请求帮助,指导指导。。。

[查看全文]
梦枭游
计算机导论用书,求资源。。。
展开Biu

计算机专业的,不过是“小白”,跪求课外辅导书。。。

[查看全文]
阳光闪闪
新手求助,关于一个switch的跳出问题
展开Biu

本帖最后由 阳光闪闪 于 2015-7-31 10:26 编辑

c primer plus 第七章第11道习题,用的是DEV c++, 我写出来后每次进入switch不管跳到哪个case最后都会强行走一遍default再转下一个循环。。。,试过把continue换成break还是依然跳不过这个default,公司写代码的同事都搞不定。。。求大神指教我问题出在哪里TAT

int main(void)

{

char choice,choice2;

int artichoke, beet, carrot, buy, tart, tbee, tcar,allmess;

float allprice,fprice,tprice;

tart = tbee = tcar = 0;

printf("Please choose the product you want to buy:(q to quit,y to count)\n");

printf("a) artichoke b) beet c) carrot \n");

first:while((choice=getchar()) != 'q')

{

switch(choice)

{

case 'a':

printf("How many pounds do you want to buy: \n");

scanf("%d", &buy);

tart += buy;

continue;

case 'b':

printf("How many pounds beet do you want to buy: \n");

scanf("%d", &buy);

tbee += buy;

continue;

case 'c':

printf("How many pounds carrot do you want to buy: \n");

scanf("%d", &buy);

tcar += buy;

continue;

default: printf("You have enter the wrong number, please enter a, b, c, y or q. \n");

goto first;

}

printf("Do you want to buy more?\n");

goto first;

}

printf("Thank you!");

over:return 0;

}

[查看全文]
CODE_-_V
进来秀一秀你们都用的什么笔记本?
展开Biu

我是一个学计算机的即将大二生,准备买一个新的笔记本电脑#26x,想看看大家都用的什么做一个参考~·~~~ 谢谢~~~#31t

[查看全文]