【问题标题】:Battleship game - is there a better way to access this text file战舰游戏 - 有没有更好的方法来访问这个文本文件
【发布时间】:2015-12-01 15:49:22
【问题描述】:

我正在制作一个战舰游戏,它从文本文件中绘制其舰船坐标。

基本上

0000000
0000100
0000100
0000100
0000100
0000000
0000000

我有 ges 坐标读取正确读取文件的方法,我可以将镜头的坐标与文本文件中的坐标进行比较。

这就是我目前所拥有的

for turn in range(30):
  print ("Turn", turn + 1)
  guess_row = int(input("Guess Row:"))
  while guess_row < 1 or guess_row > 10: #or (guess_row.isdigit()) == False:
    guess_row = int(input("You have entered an incorrect coordinate. Please reenter: "))  #guess_col = int(raw_input("Guess Col:"))
  guess_col = int(input("Guess Column:"))
    while guess_col < 1 or guess_col > 10: #or (guess_row.isdigit()) == False:
      guess_col = int(input("You have entered an incorrect coordinate. Please reenter: "))  #guess_col = int(raw_input("Guess Col:"))
  myFile = None
  fileName = "map.txt"
  accessMode = "r"

  myFile = open(fileName, accessMode)
  fileContent = myFile.readlines()
  contentList = []
  for c in fileContent[guess_row - 1]:
    contentList = contentList.append(c)
    print(contentList[guess_col - 1])

  print(contentList[guess_col - 1])
  contentList = contentList.replace(',', '')
  print(contentList)

有什么想法吗?我正在代码学院学习一些新东西,我正在尝试不同的方法来完成战舰任务。我已经完成了,但是要修改什么。

【问题讨论】:

  • 如果这是工作代码,那么您应该将其发布到CodeReview。该站点用于修复损坏的代码。
  • 代码实际上不起作用。没有对坐标的比较,也没有对每个镜头的反应。
  • @user3524069 您是否尝试过添加这些功能?我在您的代码中没有看到您尝试过此操作的任何地方。

标签: python list replace compare coordinates


【解决方案1】:

您在这里的想法是正确的,但您可能想以不同的方式编写此内容

1) 读入文本文件

2) 在阅读文件时,确定船只所在的坐标

3) 将这些点存储在一个列表中。 您应该只在文件中读取一次

4) 输入玩家想要射击的位置

5) 将玩家坐标与可行的船只坐标进行比较

6) 通知用户是否命中

7) 检查船是否沉没

到目前为止看起来不错,只需记住验证您的输入并在编写代码时考虑到效率。祝你好运!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多