• 回答数

    3

  • 浏览数

    145

奔跑的窝妞妞
首页 > 期刊论文 > python五子棋的论文答辩

3个回答 默认排序
  • 默认排序
  • 按时间排序

shh小辣椒

已采纳

是不需要的。python编程五子棋是不需要pip的。编程是编定程序的中文简称,就是让计算机代码解决某个问题,对某个计算体系规定一定的运算方式,使计算体系按照该计算方式运行,并最终得到相应结果的过程。

217 评论

薄荷红茶cheer

你都做到这个程度了,当然就是高手了。 把棋子位置放在一个数据里。然后做一个路径搜索算法。只搜索8个方向,如果某个方向有5个子连在一起就赢了。 这是个笨方法,还有很多优化的地方,比如上一次搜索后,建立一个路径数组。下一次,只需要检验上一次结果,并将新的棋子放进路径里就可以了。 这样就效率很高了。具体的你自己研究。这个对你来说应该轻松啦。

344 评论

心在翠微

#五子棋import appuifw,e32,key_codesfrom graphics import *def cn(x):return ('utf-8')def quit(): _quit=1global runningrunning=1def redraw(rect): (img)def default(): global con,color,font con={"l":15,"x":15,"y":33,"r":13,"n":15} color={"bg":0x7777bb,"fg":0x333333,"p1":0x000000,"p2":0xffffff,"w":0xff0000} font=u"Sans MT 936_S60"def initial(): global img,canvas,con,color,cur_x,cur_y,turn,pos1,pos2,pos 'full' () img=((240,320)) (color["bg"]) cur_x=7 cur_y=7 turn=1 pos1=[] pos2=[] pos=[] for i in range(con["n"]*con["n"]):  (0)def paint_back(): global img,color,font #((90,25),cn('欢乐五子棋'),color["fg"],font) for i in range(con["x"],con["x"]+con["l"]*con["n"]-1,con["l"]):  ((i,con["y"],i,con["y"]+con["l"]*(con["n"]-1)),color["fg"]) for i in range(con["y"],con["y"]+con["l"]*con["n"]-1,con["l"]):  ((con["x"],i,con["x"]+con["l"]*(con["n"]-1),i),color["fg"]) ((40,270),cn('玩家1'),color["p1"],font) ((160,270),cn('玩家2'),color["p2"],font) ((90,263),color["p1"],width=con["r"],fill=color["p1"]) ((144,263),color["p2"],width=con["r"],fill=color["p2"]) def paint_cur(x,y,sh): global img,con,color,pos1,pos2,running if running<>1:return ax=con["x"]+con["l"]*x ay=con["y"]+con["l"]*y b=con["l"]/2 if sh<>0:  c=color["p"+str(sh)]  if rp((x,y))<>0:   c=color["w"] if sh==0:  c=color["bg"] ((ax-b,ay-2,ax-b,ay-b,ax-2,ay-b),c) ((ax-b,ay+2,ax-b,ay+b,ax-2,ay+b),c) ((ax+b,ay-2,ax+b,ay-b,ax+2,ay-b),c) ((ax+b,ay+2,ax+b,ay+b,ax+2,ay+b),c) redraw(())def paint_q(x,y,z): global img,con,color ax=con["x"]+con["l"]*x ay=con["y"]+con["l"]*y b=con["l"]/2 if z==0:  c=color["bg"] else:  c=color["p"+str(z)] ((ax,ay),c,width=con["r"],fill=c) redraw(()) if z==0:  ((ax-b,ay,ax+b,ay),c)  ((ax,ay-b,ax,ay+b),c)  def k_up(): global cur_x,cur_y,con,turn paint_cur(cur_x,cur_y,0) cur_y=cur_y-1 if cur_y==-1:  cur_y=con["n"]-1 paint_cur(cur_x,cur_y,turn)def k_down(): global cur_x,cur_y,con,turn paint_cur(cur_x,cur_y,0) cur_y=cur_y+1 if cur_y==con["n"]:  cur_y=0 paint_cur(cur_x,cur_y,turn)def k_left(): global cur_x,cur_y,con,turn paint_cur(cur_x,cur_y,0) cur_x=cur_x-1 if cur_x==-1:  cur_x=con["n"]-1 paint_cur(cur_x,cur_y,turn)def k_right(): global cur_x,cur_y,con,turn paint_cur(cur_x,cur_y,0) cur_x=cur_x+1 if cur_x==con["n"]:  cur_x=0 paint_cur(cur_x,cur_y,turn)def rp(x): global con,pos if (x[0]<0 or x[0]>=con["n"] or x[1]<0 or x[1]>=con["n"]):return 0 #print x,pos[x[0]*con["n"]+x[1]] return pos[x[0]*con["n"]+x[1]]def wp(x,y): global con,pos pos[x[0]*con["n"]+x[1]]=y  def win(): for i in pos1:  k=0  for j in range(0,6):   if rp((i[0]+j,i[1]))==1:    k=k+1   else:    break  if k>=5:   return 1  k=0  for j in range(0,6):   if rp((i[0],i[1]+j))==1:    k=k+1   else:    break  if k>=5:   return 1  k=0  for j in range(0,6):   if rp((i[0]+j,i[1]+j))==1:    k=k+1   else:    break  if k>=5:   return 1  k=0  for j in range(0,6):   if rp((i[0]+j,i[1]-j))==1:    k=k+1   else:    break  if k>=5:   return 1 for i in pos2:  k=0  for j in range(0,6):   if rp((i[0]+j,i[1]))==2:    k=k+1   else:    break  if k>=5:   return 2  k=0  for j in range(0,6):   if rp((i[0],i[1]+j))==2:    k=k+1   else:    break  if k>=5:   return 2  k=0  for j in range(0,6):   if rp((i[0]+j,i[1]+j))==2:    k=k+1   else:    break  if k>=5:   return 2  k=0  for j in range(0,6):   if rp((i[0]+j,i[1]-j))==2:    k=k+1   else:    break  if k>=5:   return 2 return 0 def k_enter(): global cur_x,cur_y,turn,pos1,pos2,con,color,font,running if running<>1:return if rp((cur_x,cur_y))==0:  if turn==1:   ((cur_x,cur_y))   ((35,255,100,272),color["bg"])   ((135,255,200,272),color["p2"])  if turn==2:   ((cur_x,cur_y))   ((35,255,100,272),color["p1"])   ((135,255,200,272),color["bg"])  paint_q(cur_x,cur_y,turn)  wp((cur_x,cur_y),turn)  if win()<>0:   #((80,300),cn('玩家')+str(turn)+cn("获胜!"),color["fg"],font)   ((35,255,100,272),color["bg"])   ((135,255,200,272),color["bg"])   paint_cur(cur_x,cur_y,0)   running=2 turn=3-turn paint_cur(cur_x,cur_y,turn)def bindkey(): (, k_up) () (, k_left) () ()default()initial()paint_back()paint_cur(cur_x,cur_y,1)((35,255,100,272),color["p1"])bindkey()redraw(()) = quit()_quit=0while (1-_quit): () redraw(())

141 评论

相关问答

  • 毕业论文五味子与南五味子的鉴别

    北五味子和南五味子的唯一区别是,北五味子具有涩肠止泻的功效,可用于治疗脾、肾的虚寒证引起的久泻,常配伍吴茱萸、补骨脂、肉豆蔻,起到温补脾肾、止泻的作用,而南五味

    酸甜苦辣咸丫头 6人参与回答 2023-12-08
  • 五子棋的毕业论文

    你在网上搜索一个叫魔乐科技的培训机构,它有专门的五子棋教学视频,很适合楼主,如果搜不到的话,就去搜

    星无畏惧 4人参与回答 2023-12-06
  • 五子棋的游戏报告毕业论文

    可以的!之所以叫BP网络,是因为使用了反向传递算法,这是一种结果导向的自学习方法,用在五子棋上是可以的。因为五子棋的游戏方法正是很明显的结果导向的过程。简单说这

    鬼鬼Jacky 3人参与回答 2023-12-07
  • 安卓五子棋毕业论文

    分条写:课题做到突出中心思想,条理清晰,结构合理,观点正确,具有较好的连续性等。完成相关的XXXX。 第一步:课题适应的岗位名称; 第二部:课题背景; 第三步,

    小马摩羯 2人参与回答 2023-12-06
  • 抢答器的论文答辩五分钟

    毕业设计?PLC控制方面的应用案例,可以到工搜网资料文库免费索取资料的。在百度收索“工搜网”进入资料文库就可以了。

    装修徐工 4人参与回答 2023-12-09