Бозӣ
Ду нафар дар тахтаи 3 × 3 катакча бозӣ мекунанд. Онҳо навбат ба навбат бозӣ мекунанд. X аввал сар мекунад. Ҳар бозингар дар катакчаи холӣ нишони худро мегузорад. Аввалин бозингаре, ки се нишони худро дар як хат дорад, мебарад. Хат метавонад сатр, сутун ё диагонал бошад. Агар тахта пур шавад ва касе набурда бошад, бозӣ бо мусовӣ тамом мешавад.
Шумо ин бозиро дар панҷ марҳила менависед. Дар ҳар марҳила барнома андаке бештар мекунад ва лаборатория онро бо тестҳо месанҷад. Марҳилаҳоро аз рӯи тартиб иҷро кунед: ҳар кадом он чиро, ки пештар навиштаед, истифода мебарад.
Бозии тайёр ин тавр кор мекунад. Навбатҳо, ҳар кадом дар як хат, ворид карда мешаванд. Навбати дуюм, 1 1, катакчаест, ки аллакай банд аст, барои ҳамин барнома again мегӯяд ва O боз як бор кӯшиш мекунад.
Вуруд
Баромад
Барнома
Ин барномаи марҳилаи 5 аст. Онро як бор аз боло бихонед. Шумо онро дар лаборатория пораба-пора месозед.
Се фикрро бинед.
- Тахта рӯйхати рӯйхатҳост. Катакчаи сатри
r, сутуниc-и бозингарb[r - 1][c - 1]аст, чунки бозингарон аз 1 мешуморанд. - Ҳашт хат. Давр 3 сатр, 3 сутун ва 2 диагоналро ҳамчун сатрҳои се рамза месозад.
cols[j] += b[i][j]боз як катакчаро ба сутуниjилова мекунад.d1ваd2аз рӯи ду диагонал мераванд, чунон ки дар дарси сатрҳо, сутунҳо ва диагоналҳо кардед. Бозингар бурдааст, агар"XXX"ё"OOO"дарlinesбошад. - Пеш аз истифода санҷед. Барнома пеш аз гузоштани нишон месанҷад, ки катакча дар тахта аст ва баъд холӣ аст. Навбате чун
4 4барномаро боIndexErrorқатъ мекард. Аммо0 1онро қатъ намекунад:b[-1]сатри охирин аст, чунон ки дар дарси шабакаҳо омӯхтед.
Худатон озмоед
Панҷ марҳиларо дар лаборатория, варақа ба варақа иҷро кунед. Тестҳои ҳар марҳила собитанд, барои ҳамин мебинед, ки чӣ интизор мераванд. Варақаи охирин тест надорад: бозии тайёр бо саволҳо ба бозингарон дар он аст.
Ин лоиҳа барои довар нест. Бозӣ барои одамон метавонад бо input("...") савол диҳад. Масъалаи довар набояд савол чоп кунад, чунки довар танҳо ҷавобро мехонад.